-
Notifications
You must be signed in to change notification settings - Fork 4
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
TS6 bans not implemented #32
Comments
…notices which were broken since the changes to ->notice_info().
Problemjuno bans are global and negotiated during burst with the bursting server as the command source. TS6 remote ban commands have to come from a user source. SolutionCreated a ban agent user which opers up and is used for the source of the K/DLINE commands. It quits immediately after burst. Critical response
Everyone else
|
Update: Reverted a change to wait until end burst; now the QUIT is sent during burst. Sounds bad, but it works better. This prevents the bot from generating annoying oper notices on every connect. |
#32. added convenience function add_update_enforce_activate_ban to Ban. added support for TS6 capabilities KLN and UNKLN.
…an now enforces bans on a connection as soon as the host/ident are looked up. #32
…ect types. Klines can now be applied directly to connections, so the kill occurs during registration when possible. #32
Need to improve notices in Ban. Need proto-inspecific methods for that rather than using gnotice() in JELP.pm. |
…his ensures delete commands only match certain types, e.g. UNKLINE only removes KLINES. improved oper notices for ban add, delete, and expire. #32
Summary of the TS6 ban implementationBans are sent to TS6 servers on burst. Because certain ban commands only support a user source, a ban agent bot may be introduced to set the bans and then exit. The duration sent to TS6 servers is variable based on the difference between the expiration time and the duration, since we cannot propagate an expiration time. The TS6 server will ignore any bans which already exist for the given mask, which is perfect for our purposes. An exception to this is the newer BAN command which does allow propagation of expiry times and is used when available. Ban::TS6 uses the charybdis-style BAN command when possible. Alternatively KLINE and INCLINE may be used when the KLN and UKLN capabilities are available. Otherwise, it uses ENCAP KLINE and ENCAP UNKLINE. DLINEs always use ENCAP and therefore always require a ban agent during burst. Note that, because some charybdis server bans are local-only, the TS6 server may not burst its own bans (such as D-Lines, or even K-Lines if the BAN capability is not available). However, ban commands are handled such that AKILLs (which have target Other changes in Ban
|
…he new behavior is to send out BAN, (UN)KLINE, or ENCAP (UN)KLINE.
Kline/Dline/etc. are not yet implemented in TS6. The Ban::TS6 module exists and is loaded automatically whenever Ban and TS6 are both loaded.
The text was updated successfully, but these errors were encountered: