diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/protocol/hybrid.c | 10 | ||||
-rw-r--r-- | src/protocol/hybrid.h | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/protocol/hybrid.c b/src/protocol/hybrid.c index 88ee94c52..c9b6ccdd7 100644 --- a/src/protocol/hybrid.c +++ b/src/protocol/hybrid.c @@ -17,7 +17,7 @@ #include "version.h" IRCDVar myIrcd[] = { - {"Hybrid 8.0.*", /* ircd name */ + {"Hybrid 8.1.*", /* ircd name */ "+o", /* nickserv mode */ "+o", /* chanserv mode */ "+o", /* memoserv mode */ @@ -204,7 +204,7 @@ void hybrid_set_umode(User *user, int ac, char **av) break; case 'r': if (add && !nick_identified(user)) { - send_cmd(ServerName, "SVSMODE %s -r", user->nick); + common_svsmode(user, "-r", NULL); user->mode &= ~UMODE_r; } break; @@ -358,7 +358,7 @@ CBMode myCbmodes[128] = { {0}, /* J */ {0}, /* K */ {0}, /* L */ - {0}, /* M */ + {CMODE_M, 0, NULL, NULL}, /* M */ {0}, /* N */ {CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL}, /* O */ {0}, /* P */ @@ -375,7 +375,7 @@ CBMode myCbmodes[128] = { {0}, {0}, {0}, {0}, {0}, {0}, {0}, /* a */ {0}, /* b */ - {0}, /* c */ + {CMODE_c, 0, NULL, NULL}, /* c */ {0}, /* d */ {0}, /* e */ {0}, /* f */ @@ -403,6 +403,7 @@ CBMode myCbmodes[128] = { }; CBModeInfo myCbmodeinfos[] = { + {'c', CMODE_c, 0, NULL, NULL}, {'i', CMODE_i, 0, NULL, NULL}, {'k', CMODE_k, 0, get_key, cs_get_key}, {'l', CMODE_l, CBM_MINUS_NO_ARG, get_limit, cs_get_limit}, @@ -412,6 +413,7 @@ CBModeInfo myCbmodeinfos[] = { {'r', CMODE_r, 0, NULL, NULL}, {'s', CMODE_s, 0, NULL, NULL}, {'t', CMODE_t, 0, NULL, NULL}, + {'M', CMODE_M, 0, NULL, NULL}, {'O', CMODE_O, 0, NULL, NULL}, {'R', CMODE_R, 0, NULL, NULL}, {'S', CMODE_S, 0, NULL, NULL}, diff --git a/src/protocol/hybrid.h b/src/protocol/hybrid.h index 64fc55a95..561822fe5 100644 --- a/src/protocol/hybrid.h +++ b/src/protocol/hybrid.h @@ -41,8 +41,10 @@ #define CMODE_l 0x00000080 /* Limit the number of users in a channel */ #define CMODE_R 0x00000100 /* Only identified users can join */ #define CMODE_r 0x00000200 /* Set for all registered channels */ +#define CMODE_c 0x00000400 /* Control codes cannot be sent to a channel */ #define CMODE_O 0x00000800 /* Oper only channel, as of hybrid7.3 */ #define CMODE_S 0x00001000 /* SSL only channel, as of hybrid7.3 */ +#define CMODE_M 0x00002000 /* Non-regged nicks can't send messages */ #define DEFAULT_MLOCK CMODE_n|CMODE_r|CMODE_t |