From c8d999c95fec1dcbb0055f954d9c81978ea1904b Mon Sep 17 00:00:00 2001 From: Shivaram Lingamneni Date: Sat, 5 Dec 2020 20:40:44 -0500 Subject: [PATCH 1/2] clean up and clarify example operator blocks See #1426 --- default.yaml | 35 ++++++++++++++--------------------- traditional.yaml | 35 ++++++++++++++--------------------- 2 files changed, 28 insertions(+), 42 deletions(-) diff --git a/default.yaml b/default.yaml index eaf94402..9a7cd356 100644 --- a/default.yaml +++ b/default.yaml @@ -576,10 +576,10 @@ channels: # operator classes oper-classes: - # local operator - "local-oper": + # IRC operator: can ban and unban users from the server + "irc-oper": # title shown in WHOIS - title: Local Operator + title: IRC Operator # capability names capabilities: @@ -590,32 +590,18 @@ oper-classes: - "roleplay" - "relaymsg" - # network operator - "network-oper": - # title shown in WHOIS - title: Network Operator - - # oper class this extends from - extends: "local-oper" - - # capability names - capabilities: - - "remote_kill" - - "remote_ban" - - "remote_unban" - - # server admin + # server admin: has full control of application-level privileges, including + # nickname and channel registrations "server-admin": # title shown in WHOIS title: Server Admin # oper class this extends from - extends: "local-oper" + extends: "irc-oper" # capability names capabilities: - "rehash" - - "die" - "accreg" - "sajoin" - "samode" @@ -626,7 +612,7 @@ oper-classes: # ircd operators opers: - # operator named 'admin'; log in with /OPER admin [password] + # default operator named 'admin'; log in with /OPER admin admin: # which capabilities this oper has access to class: "server-admin" @@ -661,6 +647,13 @@ opers: # granted automatically as soon as you connect with the right fingerprint. #auto: true + # example of a second, less privileged operator named 'alice' + # (log in with /OPER alice ): + #alice: + # class: "irc-oper" + # whois-line: "can help with moderation issues" + # password: "$2a$04$0123456789abcdef0123456789abcdef0123456789abcdef01234" + # logging, takes inspiration from Insp logging: - diff --git a/traditional.yaml b/traditional.yaml index 225afc9b..7f9f2cfc 100644 --- a/traditional.yaml +++ b/traditional.yaml @@ -548,10 +548,10 @@ channels: # operator classes oper-classes: - # local operator - "local-oper": + # IRC operator: can ban and unban users from the server + "irc-oper": # title shown in WHOIS - title: Local Operator + title: IRC Operator # capability names capabilities: @@ -562,32 +562,18 @@ oper-classes: - "roleplay" - "relaymsg" - # network operator - "network-oper": - # title shown in WHOIS - title: Network Operator - - # oper class this extends from - extends: "local-oper" - - # capability names - capabilities: - - "remote_kill" - - "remote_ban" - - "remote_unban" - - # server admin + # server admin: has full control of application-level privileges, including + # nickname and channel registrations "server-admin": # title shown in WHOIS title: Server Admin # oper class this extends from - extends: "local-oper" + extends: "irc-oper" # capability names capabilities: - "rehash" - - "die" - "accreg" - "sajoin" - "samode" @@ -598,7 +584,7 @@ oper-classes: # ircd operators opers: - # operator named 'admin'; log in with /OPER admin [password] + # default operator named 'admin'; log in with /OPER admin admin: # which capabilities this oper has access to class: "server-admin" @@ -633,6 +619,13 @@ opers: # granted automatically as soon as you connect with the right fingerprint. #auto: true + # example of a second, less privileged operator named 'alice' + # (log in with /OPER alice ): + #alice: + # class: "irc-oper" + # whois-line: "can help with moderation issues" + # password: "$2a$04$0123456789abcdef0123456789abcdef0123456789abcdef01234" + # logging, takes inspiration from Insp logging: - From cd6d9826b2280e543af99a8902139a5f4c74e351 Mon Sep 17 00:00:00 2001 From: Daniel Oaks Date: Sun, 6 Dec 2020 17:01:32 +1000 Subject: [PATCH 2/2] Tweaked oper blocks. I think that 'moderator vs admin' is a pretty common set of priv levels, whereas 'oper vs admin' is a little confusing, esp. to less irc-savvy people. /SAJOIN and /SAMODE are really common for joining channels to check out what's going on and for e.g. opping someone when nobody in the channel is opered, so it makes sense for mods to have those. I feel similarly about vhosts, they're usually something that's delegated to less-prived opers. Changed the whois line from 'a server admin' to 'the server admin' to make it a bit more clear that this is one single user, rather than a set of privs to be shared. And it's a tiny thing, but removed the 'less privileged' term from alice's oper block because it felt a bit dodgy. --- default.yaml | 27 ++++++++++++++------------- traditional.yaml | 27 ++++++++++++++------------- 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/default.yaml b/default.yaml index 9a7cd356..4983d654 100644 --- a/default.yaml +++ b/default.yaml @@ -576,10 +576,11 @@ channels: # operator classes oper-classes: - # IRC operator: can ban and unban users from the server - "irc-oper": + # chat moderator: can ban/unban users from the server, join channels, + # fix mode issues and sort out vhosts. + "chat-moderator": # title shown in WHOIS - title: IRC Operator + title: Chat Moderator # capability names capabilities: @@ -589,23 +590,23 @@ oper-classes: - "nofakelag" - "roleplay" - "relaymsg" + - "vhosts" + - "sajoin" + - "samode" - # server admin: has full control of application-level privileges, including - # nickname and channel registrations + # server admin: has full control of the ircd, including nickname and + # channel registrations "server-admin": # title shown in WHOIS title: Server Admin # oper class this extends from - extends: "irc-oper" + extends: "chat-moderator" # capability names capabilities: - "rehash" - "accreg" - - "sajoin" - - "samode" - - "vhosts" - "chanreg" - "history" - "defcon" @@ -618,7 +619,7 @@ opers: class: "server-admin" # custom whois line - whois-line: is a server admin + whois-line: is the server administrator # custom hostname vhost: "staff" @@ -647,11 +648,11 @@ opers: # granted automatically as soon as you connect with the right fingerprint. #auto: true - # example of a second, less privileged operator named 'alice' + # example of a moderator named 'alice' # (log in with /OPER alice ): #alice: - # class: "irc-oper" - # whois-line: "can help with moderation issues" + # class: "chat-moderator" + # whois-line: "can help with moderation issues!" # password: "$2a$04$0123456789abcdef0123456789abcdef0123456789abcdef01234" # logging, takes inspiration from Insp diff --git a/traditional.yaml b/traditional.yaml index 7f9f2cfc..44299d9a 100644 --- a/traditional.yaml +++ b/traditional.yaml @@ -548,10 +548,11 @@ channels: # operator classes oper-classes: - # IRC operator: can ban and unban users from the server - "irc-oper": + # chat moderator: can ban/unban users from the server, join channels, + # fix mode issues and sort out vhosts. + "chat-moderator": # title shown in WHOIS - title: IRC Operator + title: Chat Moderator # capability names capabilities: @@ -561,23 +562,23 @@ oper-classes: - "nofakelag" - "roleplay" - "relaymsg" + - "vhosts" + - "sajoin" + - "samode" - # server admin: has full control of application-level privileges, including - # nickname and channel registrations + # server admin: has full control of the ircd, including nickname and + # channel registrations "server-admin": # title shown in WHOIS title: Server Admin # oper class this extends from - extends: "irc-oper" + extends: "chat-moderator" # capability names capabilities: - "rehash" - "accreg" - - "sajoin" - - "samode" - - "vhosts" - "chanreg" - "history" - "defcon" @@ -590,7 +591,7 @@ opers: class: "server-admin" # custom whois line - whois-line: is a server admin + whois-line: is the server administrator # custom hostname vhost: "staff" @@ -619,11 +620,11 @@ opers: # granted automatically as soon as you connect with the right fingerprint. #auto: true - # example of a second, less privileged operator named 'alice' + # example of a moderator named 'alice' # (log in with /OPER alice ): #alice: - # class: "irc-oper" - # whois-line: "can help with moderation issues" + # class: "chat-moderator" + # whois-line: "can help with moderation issues!" # password: "$2a$04$0123456789abcdef0123456789abcdef0123456789abcdef01234" # logging, takes inspiration from Insp