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

IRCd support options #110

Closed
cooper opened this Issue Jul 25, 2016 · 1 comment

Comments

Projects
None yet
1 participant
@cooper
Owner

cooper commented Jul 25, 2016

We've gotten to the point where, aside from mode definitions, there should be other options that might be associated with the ircd key in connect blocks. I'm thinking of a new IRCd definition syntax which has inheritance:

[ ircd: ratbox ]
    nicklen = 16

[ ircd_cmodes: ratbox ]
    ban = [3, 'b'] 
    except = [3, 'e'] 

[ ircd: charybdis ]
    extends = 'ratbox'
    nicklen  = 32

[ ircd_cmodes: charybdis ]
    quiet = [3, 'q']

These options are only defaults. They will also be settable per-server with ircd_* keys in connect blocks. As such, they must be accessed with methods on a server object associated with an uplink.

  • $server->ircd_opt('nicklen')
  • $server->{ircd} eq 'ratbox' (no more ts6_ircd)

This new stuff would also simplify mode definitions in default.conf (#17). If an ircd is missing a mode from its parent for some reason, we can just set some_mode = off.

@cooper cooper added the feature label Jul 25, 2016

cooper added a commit that referenced this issue Jul 26, 2016

cooper added a commit that referenced this issue Jul 26, 2016

updated IRCd definitions in default.conf to use the new format. #110.…
… this also adds a generic 'all_sane_ircds' option to simplify definitions.

@cooper cooper closed this Jul 27, 2016

@cooper

This comment has been minimized.

Owner

cooper commented Jul 27, 2016

Still need to add server methods.

@cooper cooper reopened this Jul 27, 2016

@cooper cooper added this to the v12 milestone Jul 27, 2016

@cooper cooper closed this in 95757a5 Jul 27, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment