Skip to content
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

Server permissions #123

Open
cooper opened this issue Jul 28, 2016 · 5 comments
Open

Server permissions #123

cooper opened this issue Jul 28, 2016 · 5 comments
Assignees
Milestone

Comments

@cooper
Copy link
Owner

cooper commented Jul 28, 2016

It needs to be possible to give servers enhanced permissions. Still need to consider how this will look in the configuration. Flags in connect block? Classes like for opers? Or something like shared {} in ratbox which matches a mask?

Things that come to mind:

  • FNICK, FJOIN, FUMODE, etc. JELP services/force commands #121
  • Reload
  • Update
  • Configuration::Set
  • Modules
  • Grant
  • A generic 'services' one which gives traditional U-line privs
@cooper cooper added this to the v13 milestone Jul 28, 2016
@cooper cooper modified the milestones: v14, v13 May 21, 2017
cooper added a commit that referenced this issue May 29, 2017
…ew class.conf has default class definitions. update Evented::Object. update Evented::Configuration.
@cooper
Copy link
Owner Author

cooper commented Jun 1, 2017

This will use the new connection classes. It will look something like:

[ class: services ]
    priv_flogin
    priv_sasl

It will NOT have allow_servers unless you want it to automatically match servers. For things like services it will not specify, so it will only apply if explicitly set using the class option in the [connect] block.

@cooper
Copy link
Owner Author

cooper commented Jun 1, 2017

The user flag methods will be moved to connection.pm so that it can be shared for connections, users, and servers, just like the capab methods. users and servers will alias their methods to them:

return if !$server->has_flag('flogin');

@cooper
Copy link
Owner Author

cooper commented Jun 1, 2017

also for S2S protocols the artificial parameter matcher -priv() can be used for server privileges. It will work the same as the existing -oper() matcher for users.

@cooper
Copy link
Owner Author

cooper commented Jun 1, 2017

If the matcher fails then a server protocol warning should be produced.

@cooper
Copy link
Owner Author

cooper commented Jun 1, 2017

ok, the groundwork for everything mentioned here has been done. still need to add default server class definitions and add -priv() to the commands that should have it

@cooper cooper self-assigned this Oct 21, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant