-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Channel ACLs #79
base: master
Are you sure you want to change the base?
Channel ACLs #79
Conversation
That is how event handlers work by default. By default access is always granted and must be explicitly denied: if any handler denies access then access is denied completely. If nothing denies access then access is granted. Explicit grants however are possible, if event handler returns |
This comment was marked as outdated.
This comment was marked as outdated.
59e4555
to
f0cd733
Compare
b7cccde
to
53dd3ff
Compare
beerchat.join_channel rework backwards compatible way Update chatcommands Update ACLs / actual permission checks Add beerchat.capture_message Password query / single shot override everything Privilege based ACL roles + other updates Remove password from /jc command Cleanup /cc Remove ACLs with -d switch Rename channel_name
This is going to need some play testing on actual server. Things to test:
It does also change basic message formatting parameters channel_name -> channel and channel_password -> password so custom format strings might break. Stats: |
beerchat.join_channel rework backwards compatible way Update chatcommands Update ACLs / actual permission checks Add beerchat.capture_message Password query / single shot override everything Privilege based ACL roles + other updates Remove password from /jc command Cleanup /cc Remove ACLs with -d switch Rename channel_name
beerchat.join_channel rework backwards compatible way Update chatcommands Update ACLs / actual permission checks Add beerchat.capture_message Password query / single shot override everything Privilege based ACL roles + other updates Remove password from /jc command Cleanup /cc Remove ACLs with -d switch Rename channel_name
Test password query ACL/acls basic tests Tests for /mc Test ACL removal Remove print from channel ban test
|
Add simple access control lists for channels.
Possible roles are:
deny
Access to channel is denied.read
Can read messages sent to channel.write
Can send messages to channel.manager
Can managedeny
,read
andwrite
ACLs for channel.owner
Can manage all ACLs, including channel owners.Default role, when ACLs are not used for channel, is
write
.Possible identities for ACL lookup are:
$
, for example$interact
. Matches players who has that privilege.*
. Default privilege for channel, used when no better match found.Password handling have been mostly moved from core to ACL plugin.
Beerchat now asks for password when attempting to join channel with password,
/jc
wont accept password at all (however it could still do that but access checks still requires ACL plugin).