From d0c2fc826632a57671cfc91a70eb6545887e8cf8 Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Thu, 29 May 2014 16:13:39 +0200 Subject: [PATCH] server: Require EX and IE capabilities (+e and +I cmodes). The code to send each channel mode only to servers supporting it was broken a while ago and was not very useful anyway. Therefore, require all connecting servers to support all standard channel modes. --- doc/technical/ts6-protocol.txt | 8 ++++---- src/s_serv.c | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/doc/technical/ts6-protocol.txt b/doc/technical/ts6-protocol.txt index 35a8b81e..f2ca5f54 100644 --- a/doc/technical/ts6-protocol.txt +++ b/doc/technical/ts6-protocol.txt @@ -211,10 +211,10 @@ source: unregistered server propagation: none parameters: space separated capability list -Sends capabilities of the server. This must include QS and ENCAP. It is also -strongly recommended to include EX, CHW, IE and KNOCK, and for charybdis TS6 -also SAVE and EUID. For use with services, SERVICES and RSFNC are strongly -recommended. +Sends capabilities of the server. This must include QS and ENCAP, and for +charybdis TS6 also EX and IE. It is also strongly recommended to include EX, +CHW, IE and KNOCK, and for charybdis TS6 also SAVE and EUID. For use with +services, SERVICES and RSFNC are strongly recommended. The capabilities may depend on the configuration for the server they are sent to. diff --git a/src/s_serv.c b/src/s_serv.c index 7c7e10db..dc8640a3 100644 --- a/src/s_serv.c +++ b/src/s_serv.c @@ -127,6 +127,8 @@ init_builtin_capabs(void) CAP_MLOCK = capability_put(serv_capindex, "MLOCK"); capability_require(serv_capindex, "QS"); + capability_require(serv_capindex, "EX"); + capability_require(serv_capindex, "IE"); capability_require(serv_capindex, "ENCAP"); }