diff options
-rw-r--r-- | Changes | 4 | ||||
-rw-r--r-- | Changes.lang | 1 | ||||
-rw-r--r-- | docs/README | 2 | ||||
-rw-r--r-- | include/plexus.h | 18 | ||||
-rw-r--r-- | lang/cat.l | 6 | ||||
-rw-r--r-- | lang/de.l | 6 | ||||
-rw-r--r-- | lang/en_us.l | 6 | ||||
-rw-r--r-- | lang/es.l | 6 | ||||
-rw-r--r-- | lang/fr.l | 4 | ||||
-rw-r--r-- | lang/gr.l | 6 | ||||
-rw-r--r-- | lang/hun.l | 6 | ||||
-rw-r--r-- | lang/it.l | 6 | ||||
-rw-r--r-- | lang/nl.l | 4 | ||||
-rw-r--r-- | lang/pl.l | 7 | ||||
-rw-r--r-- | lang/pt.l | 4 | ||||
-rw-r--r-- | lang/ru.l | 6 | ||||
-rw-r--r-- | lang/tr.l | 6 | ||||
-rw-r--r-- | src/bahamut.c | 5 | ||||
-rw-r--r-- | src/dreamforge.c | 2 | ||||
-rw-r--r-- | src/init.c | 6 | ||||
-rw-r--r-- | src/nickserv.c | 12 | ||||
-rw-r--r-- | src/plexus.c | 14 | ||||
-rw-r--r-- | src/ptlink.c | 16 | ||||
-rw-r--r-- | src/rageircd.c | 75 | ||||
-rw-r--r-- | src/solidircd.c | 12 | ||||
-rw-r--r-- | src/ultimate2.c | 22 | ||||
-rw-r--r-- | src/ultimate3.c | 27 | ||||
-rw-r--r-- | src/unreal31.c | 21 | ||||
-rw-r--r-- | src/unreal32.c | 16 | ||||
-rw-r--r-- | src/viagra.c | 29 | ||||
-rw-r--r-- | version.log | 6 |
31 files changed, 216 insertions, 145 deletions
@@ -14,7 +14,7 @@ Provided by Anope Dev. <dev@anope.org> - 2004 11/19 A Added anope_cmd_ctcp() to code API, for sending CTCP messages. [ #00] 11/18 A Unable to use registered nicknames as bot nicks from now on. [ #00] 11/18 A NSAddAccessOnReg to control access list on registration. [ #00] -12/25 F SolidIRCD can mlock +R again [ #00] +12/25 F Fixed up user and channel modes for various ircds [ #00] 12/23 F Several compiler errors under make strict. [ #00] 12/21 F Unsetting away would not trigger checking of memos. [#258] 12/21 F Dreamforge compile. [ #00] @@ -63,6 +63,8 @@ Provided by Anope Dev. <dev@anope.org> - 2004 11/16 F NickTracking could allow usage of forbidden nick in some cases. [ #00] Provided by DrStein <gacevedo@anope.org> - 2004 +12/23 A NS STATUS will return your status if no nickname is given. [ #00] +12/26 F Error message during SQL init even if UseRDB was disabled. [ #00] 12/10 F Extra tab in language files, causing bad answer in !seen. [#243] 11/28 F Fixes RSEND oddity. [#237] 11/26 F Memos sent as notification of receipt can't be cancelled. [#192] diff --git a/Changes.lang b/Changes.lang index 26018fa84..307b3ade4 100644 --- a/Changes.lang +++ b/Changes.lang @@ -20,6 +20,7 @@ Anope Version S V N *** Mod Strings: BOT_SERVADMIN_HELP_BOT + NICK_HELP_STATUS *** Del Strings: diff --git a/docs/README b/docs/README index 8d4a85dfe..2a803acb5 100644 --- a/docs/README +++ b/docs/README @@ -69,7 +69,7 @@ Anope Translations: GeniusDex <geniusdex@anope.org> (nl.l) Oleg Nikolaev aka Isot <isot@complife.ru> (ru.l) Stuff <the.stuff@gmx.de> (de.l) - Gabriel Acevedo H. <gacevedo@anope.org> (es.l) + Gabriel Acevedo H. <drstein@anope.org> (es.l) Janos Kapitany <sarkanyka@cjbchat.hu> (hun.l) Mateusz Szczyrzyca <annihilator@ircnet.pl> (pl.l) diff --git a/include/plexus.h b/include/plexus.h index 2106f1bb0..7d83d9bd2 100644 --- a/include/plexus.h +++ b/include/plexus.h @@ -1,4 +1,4 @@ -/* Hybrid IRCD functions +/* PlexusIRCD IRCD functions * * (C) 2003 Anope Team * Contact us at info@anope.org @@ -29,6 +29,21 @@ #define UMODE_o 0x00000008 #define UMODE_R 0x00000010 #define UMODE_w 0x00000020 +#define UMODE_s 0x00000040 +#define UMODE_c 0x00000080 +#define UMODE_r 0x00000100 +#define UMODE_k 0x00000200 +#define UMODE_f 0x00000400 +#define UMODE_y 0x00000800 +#define UMODE_d 0x00001000 +#define UMODE_n 0x00002000 +#define UMODE_x 0x00004000 +#define UMODE_u 0x00008000 +#define UMODE_b 0x00010000 +#define UMODE_l 0x00020000 +#define UMODE_g 0x00040000 +#define UMODE_S 0x00080000 + #define CMODE_i 0x00000001 #define CMODE_m 0x00000002 @@ -46,6 +61,7 @@ #define CMODE_R 0x00008000 #define CMODE_N 0x00010000 + #define DEFAULT_MLOCK CMODE_n | CMODE_t #endif diff --git a/lang/cat.l b/lang/cat.l index 6d2c9967d..2847c399a 100644 --- a/lang/cat.l +++ b/lang/cat.l @@ -3700,9 +3700,9 @@ NICK_HELP_STATUS 3 - Usuari reconegut mitjançant autentificació per clau. Fins 16 nicknames poden ser enviats amb cada comanda. El - reste seran ignorats. Cap missatge d'error es generat si - el nickname no es donat. - + reste seran ignorats. If no nickname is given, your status + will be returned. + NICK_HELP_SENDPASS Sintaxis: SENDPASS nickname @@ -3791,9 +3791,9 @@ NICK_HELP_STATUS Identifizierung mit Passwort Bis zu 16 Nicknamen können mit dem Befehl übergeben werden, - der Rest wird ignoriert. Es wird keine Fehlermeldung - ausgegeben, wenn kein Nickname angegeben wird. - + der Rest wird ignoriert. If no nickname is given, your status + will be returned. + NICK_HELP_SENDPASS Syntax: SENDPASS Nickname diff --git a/lang/en_us.l b/lang/en_us.l index 4a9644911..c716d50e2 100644 --- a/lang/en_us.l +++ b/lang/en_us.l @@ -3579,9 +3579,9 @@ NICK_HELP_STATUS 3 - user recognized as owner via password identification Up to sixteen nicknames may be sent with each command; the - rest will be ignored. No error message is generated if no - nickname is given. - + rest will be ignored. If no nickname is given, your status + will be returned. + NICK_HELP_SENDPASS Syntax: SENDPASS nickname @@ -3680,9 +3680,9 @@ NICK_HELP_STATUS 3 - Usuario reconocido mediante autentificacion por clave. hasta 16 nicknames pueden ser enviados con cada comando. El - resto seran ingnorados. Ningun mensaje de error es generado si - el nickname no es dado. - + resto seran ingnorados. Si no se entrega un nickname, se mostrara + tu estado. + NICK_HELP_SENDPASS Sintaxis: SENDPASS nickname @@ -3728,8 +3728,8 @@ NICK_HELP_STATUS 3 - utilisateur reconnu comme propriétaire via l'identification Jusqu'à seize nicks peuvent être envoyés avec chaque commande; - le reste sera ignoré. Aucun message d'erreur n'est généré si - aucun nick n'est donné. + le reste sera ignoré. If no nickname is given, your status + will be returned. NICK_HELP_SENDPASS Syntaxe: SENDPASS nickname @@ -3692,9 +3692,9 @@ NICK_HELP_STATUS 3 - ï ÷ñÞóôçò áíáãíùñßóôçêå óáí êÜôï÷ïò ôïõ øåõäùíýìïõ ìÝóù ôçò áíáãíþñéóçò ìå êùäéêü ÌÝ÷ñé äåêáÝîé øåõäþíõìá ìðïñïýí íá ÷ñçóéìïðïéçèïýí ìå êÜèå åíôïëÞ; Ôá - õðüëïéðá èá áãíïïýíôáé. ÊáíÝíá ìÞíõìá ëÜèïõò äåí ðñïêýðôåé áí - äå äùèåß êáíÝíá øåõäþíõìï. - + õðüëïéðá èá áãíïïýíôáé. If no nickname is given, your status + will be returned. + NICK_HELP_SENDPASS Óýíôáîç: SENDPASS øåõäþíõìï diff --git a/lang/hun.l b/lang/hun.l index d311b812d..062375691 100644 --- a/lang/hun.l +++ b/lang/hun.l @@ -3583,9 +3583,9 @@ NICK_HELP_STATUS 3 - A felhasználó beazonosított tulajdonosként a jelszavával Tizenhat nicknév küldhetõ el parancsonként; a többit - figyelmen kívül hagyja. Nincs hibaüzenet, ha nem - adsz meg nicknevet. - + figyelmen kívül hagyja. If no nickname is given, your status + will be returned. + NICK_HELP_SENDPASS Syntax: SENDPASS nicknév @@ -3710,9 +3710,9 @@ NICK_HELP_STATUS l'identificazione per mezzo della password Con ogni comando possono essere inviati fino a 16 nick; il - resto sarà ignorato. Non è generato alcun messaggio di errore - se non viene specificato alcun nick. - + resto sarà ignorato. If no nickname is given, your status + will be returned. + NICK_HELP_SENDPASS Sintassi: SENDPASS nick @@ -3639,8 +3639,8 @@ NICK_HELP_STATUS 3 - gebruiker wordt door wachtwoordidentificatie herkend als eigenaar Er kunnen maximaal zestien nicks per keer worden verstuurd; - de rest wordt genegeerd. Er wordt geen foutmelding - gegeven als er geen nicks zijn gegeven. + de rest wordt genegeerd. If no nickname is given, your status + will be returned. NICK_HELP_SENDPASS Gebruik: SENDPASS nick @@ -3908,10 +3908,9 @@ NICK_HELP_STATUS identyfikacji. Maksymalnie mo¿na podaæ 16 nicków za jednym razem. - Reszta bêdzie ignorowana. Nie bêdzie wy¶wietlony - komunikat b³êdu w wypadku gdy ¿aden nick nie bêdzie - podany. - + Reszta bêdzie ignorowana. If no nickname is given, your status + will be returned. + NICK_HELP_SENDPASS Sk³adnia: SENDPASS nick @@ -3693,8 +3693,8 @@ NICK_HELP_STATUS 3 - usuário reconhecido como dono via identificação por senha Até 16 nicks podem ser enviados com cada comando; o resto será - ignorado. Não é gerado mensagem de erro se nenhum nick for fornecido. - + ignorado. If no nickname is given, your status will be returned. + NICK_HELP_SENDPASS Sintaxe: SENDPASS nick @@ -3611,9 +3611,9 @@ NICK_HELP_STATUS 3 - ïîëüçîâàòåëü èäåíòèôèöèðîâàí êàê âëàäåëåö íèêà ÷åðåç èäåíòèôèêàöèþ ïàðîëåì Äî 16 íèêîâ ñðàçó ìîæåò áûòü çàïðîøåíî ýòîé êîìàíäîé; - îñòàëüíûå áóäóò ïðîèãíîðèðîâàíû. Ñîîáùåíèå îá îøèáêå íå áóäåò ãåíåðèðîâàòüñÿ, åñëè - íèê íå îòïðàâëåí â êà÷åñòâå ïàðàìåòðà êîìàíäû. - + îñòàëüíûå áóäóò ïðîèãíîðèðîâàíû. If no nickname is given, your status + will be returned. + NICK_HELP_SENDPASS Ñèíòàêñèñ: SENDPASS nickname @@ -3688,9 +3688,9 @@ NICK_HELP_STATUS 3 - Kullanýcý nickin sahibi olarak þifreyle tanýtýlmýþ Her komutta en fazla 16 nick için cevap verilir; gerisi - yoksayýlýr. Eðer bir nick belirtilmemiþse cevap olarak bir - hata mesajý gelmez. - + yoksayýlýr. If no nickname is given, your status + will be returned. + NICK_HELP_SENDPASS Kullanýmý: SENDPASS nick diff --git a/src/bahamut.c b/src/bahamut.c index 94a46428c..a42f84392 100644 --- a/src/bahamut.c +++ b/src/bahamut.c @@ -255,7 +255,7 @@ unsigned long umodes[128] = { UMODE_m, UMODE_n, UMODE_o, /* m n o */ 0, 0, UMODE_r, /* p q r */ UMODE_s, 0, 0, /* s t u */ - 0, 0, UMODE_x, /* v w x */ + 0, UMODE_w, UMODE_x, /* v w x */ UMODE_y, /* y */ 0, /* z */ 0, 0, 0, /* { | } */ @@ -333,7 +333,7 @@ CBMode cbmodes[128] = { {0}, /* J */ {0}, /* K */ {0}, /* L */ - {CMODE_M}, + {CMODE_M, 0, NULL, NULL}, /* M */ {0}, /* N */ {CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL}, {0}, /* P */ @@ -391,6 +391,7 @@ CBModeInfo cbmodeinfos[] = { {'t', CMODE_t, 0, NULL, NULL}, {'M', CMODE_M, 0, NULL, NULL}, {'O', CMODE_O, 0, NULL, NULL}, + {'R', CMODE_R, 0, NULL, NULL}, {0} }; diff --git a/src/dreamforge.c b/src/dreamforge.c index 0922cdbe8..249ff79fc 100644 --- a/src/dreamforge.c +++ b/src/dreamforge.c @@ -243,7 +243,7 @@ unsigned long umodes[128] = { 0, 0, UMODE_o, /* m n o */ 0, 0, UMODE_r, /* p q r */ UMODE_s, 0, 0, /* s t u */ - 0, 0, 0, /* v w x */ + 0, UMODE_w, 0, /* v w x */ 0, /* y */ 0, /* z */ 0, 0, 0, /* { | } */ diff --git a/src/init.c b/src/init.c index 5b4f02536..3d7bd962c 100644 --- a/src/init.c +++ b/src/init.c @@ -552,8 +552,10 @@ int init(int ac, char **av) #ifdef USE_RDB if (!rdb_init()) { - UseRDB = 0; - alog("Error: Disabling UseRDB due to errors with SQL"); + if (UseRDB) { + UseRDB = 0; + alog("Error: Disabling UseRDB due to errors with SQL"); + } } #endif diff --git a/src/nickserv.c b/src/nickserv.c index 5cc4c48d9..631003b50 100644 --- a/src/nickserv.c +++ b/src/nickserv.c @@ -4055,11 +4055,16 @@ static int do_ghost(User * u) static int do_status(User * u) { - char *nick; User *u2; int i = 0; + char *nick = strtok(NULL, " "); + + /* If no nickname is given, we assume that the user + * is asking for himself */ + if (!nick) + nick = u->nick; - while ((nick = strtok(NULL, " ")) && (i++ < 16)) { + while (nick && (i++ < 16)) { if (!(u2 = finduser(nick))) notice_lang(s_NickServ, u, NICK_STATUS_0, nick); else if (nick_identified(u2)) @@ -4068,6 +4073,9 @@ static int do_status(User * u) notice_lang(s_NickServ, u, NICK_STATUS_2, nick); else notice_lang(s_NickServ, u, NICK_STATUS_1, nick); + + /* Get the next nickname */ + nick = strtok(NULL, " "); } return MOD_CONT; } diff --git a/src/plexus.c b/src/plexus.c index 75d50d8f5..c22531246 100644 --- a/src/plexus.c +++ b/src/plexus.c @@ -224,20 +224,20 @@ unsigned long umodes[128] = { 0, 0, 0, /* J K L */ 0, 0, 0, /* M N O */ 0, 0, UMODE_R, /* P Q R */ - 0, 0, 0, /* S T U */ + UMODE_S, 0, 0, /* S T U */ 0, 0, 0, /* V W X */ 0, /* Y */ 0, /* Z */ 0, 0, 0, /* [ \ ] */ 0, 0, 0, /* ^ _ ` */ - UMODE_a, 0, 0, /* a b c */ - 0, 0, 0, /* d e f */ + UMODE_a, UMODE_b, 0, /* a b c */ + UMODE_d, 0, 0, /* d e f */ 0, UMODE_h, UMODE_i, /* g h i */ - 0, 0, 0, /* j k l */ - 0, 0, UMODE_o, /* m n o */ + 0, 0, UMODE_l, /* j k l */ + UMODE_g, UMODE_n, UMODE_o, /* m n o */ 0, 0, 0, /* p q r */ - 0, 0, 0, /* s t u */ - 0, UMODE_w, 0, /* v w x */ + 0, 0, UMODE_u, /* s t u */ + 0, UMODE_w, UMODE_x, /* v w x */ 0, /* y */ 0, /* z */ 0, 0, 0, /* { | } */ diff --git a/src/ptlink.c b/src/ptlink.c index ca8f44e9f..13941b221 100644 --- a/src/ptlink.c +++ b/src/ptlink.c @@ -251,9 +251,9 @@ CBMode cbmodes[128] = { {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, /* A */ - {0}, /* B */ - {CMODE_C, 0, NULL, NULL}, + {CMODE_A, 0, NULL, NULL}, /* A */ + {CMODE_B, 0, NULL, NULL}, /* B */ + {CMODE_C, 0, NULL, NULL}, /* C */ {0}, /* D */ {0}, /* E */ {0}, /* F */ @@ -261,15 +261,15 @@ CBMode cbmodes[128] = { {0}, /* H */ {0}, /* I */ {0}, /* J */ - {0}, /* K */ + {CMODE_K, 0, NULL, NULL}, /* K */ {0}, /* L */ {0}, /* M */ - {CMODE_N, 0, NULL, NULL}, - {0}, /* O */ + {CMODE_N, 0, NULL, NULL}, /* N */ + {CMODE_O, 0, NULL, NULL}, /* O */ {0}, /* P */ {0}, /* Q */ {CMODE_R, 0, NULL, NULL}, /* R */ - {CMODE_S, 0, NULL, NULL}, + {CMODE_S, 0, NULL, NULL}, /* S */ {0}, /* T */ {0}, /* U */ {0}, /* V */ @@ -322,9 +322,11 @@ CBModeInfo cbmodeinfos[] = { {'s', CMODE_s, 0, NULL, NULL}, {'t', CMODE_t, 0, NULL, NULL}, {'A', CMODE_A, 0, NULL, NULL}, + {'B', CMODE_B, 0, NULL, NULL}, {'C', CMODE_C, 0, NULL, NULL}, {'K', CMODE_K, 0, NULL, NULL}, {'N', CMODE_N, 0, NULL, NULL}, + {'O', CMODE_O, 0, NULL, NULL}, {'R', CMODE_R, 0, NULL, NULL}, {'S', CMODE_S, 0, NULL, NULL}, {0} diff --git a/src/rageircd.c b/src/rageircd.c index 60ddcdc6f..d63a71265 100644 --- a/src/rageircd.c +++ b/src/rageircd.c @@ -141,28 +141,55 @@ IRCDCAPAB ircdcap[] = { }; - unsigned long umodes[128] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, UMODE_A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, - 0, - UMODE_R, - 0, 0, 0, 0, 0, 0, 0, - 0, - 0, 0, 0, 0, 0, - 0, UMODE_a, 0, 0, 0, 0, 0, - 0, - UMODE_h, UMODE_i, 0, 0, 0, 0, 0, UMODE_o, - 0, - 0, UMODE_r, 0, 0, 0, 0, UMODE_w, - UMODE_x, - 0, - 0, - 0, 0, 0, 0, 0 + 0, 0, 0, /* Unused */ + 0, 0, 0, /* Unused */ + 0, 0, 0, /* Unused, Unused, Horzontal Tab */ + 0, 0, 0, /* Line Feed, Unused, Unused */ + 0, 0, 0, /* Carriage Return, Unused, Unused */ + 0, 0, 0, /* Unused */ + 0, 0, 0, /* Unused */ + 0, 0, 0, /* Unused */ + 0, 0, 0, /* Unused */ + 0, 0, 0, /* Unused */ + 0, 0, 0, /* Unused, Unused, Space */ + 0, 0, 0, /* ! " # */ + 0, 0, 0, /* $ % & */ + 0, 0, 0, /* ! ( ) */ + 0, 0, 0, /* * + , */ + 0, 0, 0, /* - . / */ + 0, 0, /* 0 1 */ + 0, 0, /* 2 3 */ + 0, 0, /* 4 5 */ + 0, 0, /* 6 7 */ + 0, 0, /* 8 9 */ + 0, 0, /* : ; */ + 0, 0, 0, /* < = > */ + 0, 0, /* ? @ */ + UMODE_A, 0, 0, /* A B C */ + 0, 0, 0, /* D E F */ + 0, 0, 0, /* G H I */ + 0, 0, 0, /* J K L */ + 0, 0, 0, /* M N O */ + 0, 0, UMODE_R, /* P Q R */ + 0, 0, 0, /* S T U */ + 0, 0, 0, /* V W X */ + 0, /* Y */ + 0, /* Z */ + 0, 0, 0, /* [ \ ] */ + 0, 0, 0, /* ^ _ ` */ + UMODE_a, 0, 0, /* a b c */ + 0, 0, 0, /* d e f */ + 0, UMODE_h, UMODE_i, /* g h i */ + 0, 0, 0, /* j k l */ + 0, 0, UMODE_o, /* m n o */ + 0, 0, UMODE_r, /* p q r */ + 0, 0, 0, /* s t u */ + 0, UMODE_w, 0, /* v w x */ + 0, /* y */ + 0, /* z */ + 0, 0, 0, /* { | } */ + 0, 0 /* ~ ‚ */ }; char csmodes[128] = { @@ -259,13 +286,13 @@ CBMode cbmodes[128] = { {0}, /* J */ {0}, /* K */ {0}, /* L */ - {CMODE_M}, - {CMODE_N, 0, NULL, NULL}, + {CMODE_M, 0, NULL, NULL}, /* M */ + {CMODE_N, 0, NULL, NULL}, /* N */ {CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL}, {0}, /* P */ {0}, /* Q */ {CMODE_R, 0, NULL, NULL}, /* R */ - {CMODE_S, 0, NULL, NULL}, + {CMODE_S, 0, NULL, NULL}, /* S */ {0}, /* T */ {0}, /* U */ {0}, /* V */ diff --git a/src/solidircd.c b/src/solidircd.c index 1b0097f32..d536f988a 100644 --- a/src/solidircd.c +++ b/src/solidircd.c @@ -258,7 +258,7 @@ unsigned long umodes[128] = { UMODE_m, UMODE_n, UMODE_o, /* m n o */ 0, 0, UMODE_r, /* p q r */ UMODE_s, 0, 0, /* s t u */ - UMODE_v, 0, UMODE_x, /* v w x */ + UMODE_v, UMODE_w, UMODE_x, /* v w x */ UMODE_y, /* y */ UMODE_z, /* z */ 0, 0, 0, /* { | } */ @@ -360,7 +360,7 @@ CBMode cbmodes[128] = { {0}, /* J */ {0}, /* K */ {0}, /* L */ - {CMODE_M}, + {CMODE_M, 0, NULL, NULL}, /* M */ {0}, /* N */ {CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL}, {0}, /* P */ @@ -422,6 +422,7 @@ CBModeInfo cbmodeinfos[] = { {0} }; + CUMode cumodes[128] = { {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, @@ -439,6 +440,7 @@ CUMode cumodes[128] = { {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, + {0}, /* a */ {0}, /* b */ {0}, /* c */ @@ -446,7 +448,7 @@ CUMode cumodes[128] = { {0}, /* e */ {0}, /* f */ {0}, /* g */ - {0}, /* h */ + {CUS_HALFOP, 0, check_valid_op}, {0}, /* i */ {0}, /* j */ {0}, /* k */ @@ -460,7 +462,7 @@ CUMode cumodes[128] = { {0}, /* s */ {0}, /* t */ {0}, /* u */ - {CUS_VOICE, 0, NULL}, + {CUS_VOICE, 0, NULL}, /* v */ {0}, /* w */ {0}, /* x */ {0}, /* y */ @@ -468,8 +470,6 @@ CUMode cumodes[128] = { {0}, {0}, {0}, {0}, {0} }; - - void anope_cmd_mode(char *source, char *dest, const char *fmt, ...) { va_list args; diff --git a/src/ultimate2.c b/src/ultimate2.c index 01b9f99f8..512c17d0b 100644 --- a/src/ultimate2.c +++ b/src/ultimate2.c @@ -320,9 +320,9 @@ CBMode cbmodes[128] = { {0}, /* F */ {0}, /* G */ {0}, /* H */ - {CMODE_I}, + {CMODE_I, 0, NULL, NULL}, /* I */ {0}, /* J */ - {CMODE_K, 0, NULL, NULL}, + {CMODE_K, 0, NULL, NULL}, /* K */ {CMODE_L, 0, set_redirect, cs_set_redirect}, {0}, /* M */ {0}, /* N */ @@ -330,7 +330,7 @@ CBMode cbmodes[128] = { {0}, /* P */ {0}, /* Q */ {CMODE_R, 0, NULL, NULL}, /* R */ - {CMODE_S, 0, NULL, NULL}, + {CMODE_S, 0, NULL, NULL}, /* S */ {0}, /* T */ {0}, /* U */ {0}, /* V */ @@ -347,22 +347,22 @@ CBMode cbmodes[128] = { {CMODE_f, 0, set_flood, cs_set_flood}, {0}, /* g */ {0}, /* h */ - {CMODE_i, 0, NULL, NULL}, + {CMODE_i, 0, NULL, NULL}, /* i */ {0}, /* j */ {CMODE_k, 0, set_key, cs_set_key}, {CMODE_l, CBM_MINUS_NO_ARG, set_limit, cs_set_limit}, - {CMODE_m, 0, NULL, NULL}, - {CMODE_n, 0, NULL, NULL}, + {CMODE_m, 0, NULL, NULL}, /* m */ + {CMODE_n, 0, NULL, NULL}, /* n */ {0}, /* o */ - {CMODE_p, 0, NULL, NULL}, + {CMODE_p, 0, NULL, NULL}, /* p */ {0}, /* q */ {CMODE_r, CBM_NO_MLOCK, NULL, NULL}, - {CMODE_s, 0, NULL, NULL}, - {CMODE_t, 0, NULL, NULL}, - {0}, + {CMODE_s, 0, NULL, NULL}, /* s */ + {CMODE_t, 0, NULL, NULL}, /* t */ + {0}, /* u */ {0}, /* v */ {0}, /* w */ - {CMODE_x}, + {CMODE_x, 0, NULL, NULL}, /* x */ {0}, /* y */ {0}, /* z */ {0}, {0}, {0}, {0} diff --git a/src/ultimate3.c b/src/ultimate3.c index 7cf7a0c42..89f8345eb 100644 --- a/src/ultimate3.c +++ b/src/ultimate3.c @@ -261,7 +261,7 @@ unsigned long umodes[128] = { 0, 0, 0, /* G H I */ 0, 0, 0, /* J K L */ 0, 0, UMODE_0, /* M N O */ - UMODE_P, 0, 0, /* P Q R */ + UMODE_P, 0, UMODE_R, /* P Q R */ UMODE_S, 0, 0, /* S T U */ 0, UMODE_W, 0, /* V W X */ 0, /* Y */ @@ -352,15 +352,15 @@ CBMode cbmodes[128] = { {0}, /* H */ {0}, /* I */ {0}, /* J */ - {CMODE_K, 0, NULL, NULL}, + {CMODE_K, 0, NULL, NULL}, /* K */ {0}, /* L */ - {CMODE_M}, - {CMODE_N, 0, NULL, NULL}, + {CMODE_M, 0, NULL, NULL}, /* M */ + {CMODE_N, 0, NULL, NULL}, /* N */ {CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL}, {0}, /* P */ {0}, /* Q */ {CMODE_R, 0, NULL, NULL}, /* R */ - {CMODE_S, 0, NULL, NULL}, + {CMODE_S, 0, NULL, NULL}, /* S */ {0}, /* T */ {0}, /* U */ {0}, /* V */ @@ -377,19 +377,19 @@ CBMode cbmodes[128] = { {0}, /* f */ {0}, /* g */ {0}, /* h */ - {CMODE_i, 0, NULL, NULL}, + {CMODE_i, 0, NULL, NULL}, /* i */ {0}, /* j */ {CMODE_k, 0, set_key, cs_set_key}, {CMODE_l, CBM_MINUS_NO_ARG, set_limit, cs_set_limit}, - {CMODE_m, 0, NULL, NULL}, - {CMODE_n, 0, NULL, NULL}, + {CMODE_m, 0, NULL, NULL}, /* m */ + {CMODE_n, 0, NULL, NULL}, /* n */ {0}, /* o */ - {CMODE_p, 0, NULL, NULL}, - {CMODE_q, 0, NULL, NULL}, + {CMODE_p, 0, NULL, NULL}, /* p */ + {CMODE_q, 0, NULL, NULL}, /* q */ {CMODE_r, CBM_NO_MLOCK, NULL, NULL}, - {CMODE_s, 0, NULL, NULL}, - {CMODE_t, 0, NULL, NULL}, - {0}, + {CMODE_s, 0, NULL, NULL}, /* s */ + {CMODE_t, 0, NULL, NULL}, /* t */ + {0}, /* u */ {0}, /* v */ {0}, /* w */ {0}, /* x */ @@ -412,6 +412,7 @@ CBModeInfo cbmodeinfos[] = { {'t', CMODE_t, 0, NULL, NULL}, {'A', CMODE_A, 0, NULL, NULL}, {'K', CMODE_K, 0, NULL, NULL}, + {'M', CMODE_M, 0, NULL, NULL}, {'N', CMODE_N, 0, NULL, NULL}, {'O', CMODE_O, 0, NULL, NULL}, {'R', CMODE_R, 0, NULL, NULL}, diff --git a/src/unreal31.c b/src/unreal31.c index 5da088315..e0d233e2d 100644 --- a/src/unreal31.c +++ b/src/unreal31.c @@ -176,9 +176,10 @@ char csmodes[128] = { 0, 0, 0, 0, 0, + 'h', /* (37) % Channel halfops */ 0, - 0, 0, 0, 0, - 0, + 0, 0, 0, + 'q', 'v', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -187,7 +188,7 @@ char csmodes[128] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'a', 0 }; CMMode cmmodes[128] = { @@ -230,26 +231,26 @@ CBMode cbmodes[128] = { {0}, {CMODE_A, CBM_NO_USER_MLOCK, NULL, NULL}, {0}, /* B */ - {CMODE_C, 0, NULL, NULL}, + {CMODE_C, 0, NULL, NULL}, /* C */ {0}, /* D */ {0}, /* E */ {0}, /* F */ - {CMODE_G, 0, NULL, NULL}, + {CMODE_G, 0, NULL, NULL}, /* G */ {CMODE_H, CBM_NO_USER_MLOCK, NULL, NULL}, {0}, /* I */ {0}, /* J */ - {CMODE_K, 0, NULL, NULL}, + {CMODE_K, 0, NULL, NULL}, /* K */ {CMODE_L, 0, set_redirect, cs_set_redirect}, {0}, /* M */ - {CMODE_N, 0, NULL, NULL}, + {CMODE_N, 0, NULL, NULL}, /* N */ {CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL}, {0}, /* P */ - {CMODE_Q, 0, NULL, NULL}, + {CMODE_Q, 0, NULL, NULL}, /* Q */ {CMODE_R, 0, NULL, NULL}, /* R */ - {CMODE_S, 0, NULL, NULL}, + {CMODE_S, 0, NULL, NULL}, /* S */ {0}, /* T */ {0}, /* U */ - {CMODE_V, 0, NULL, NULL}, + {CMODE_V, 0, NULL, NULL}, /* V */ {0}, /* W */ {0}, /* X */ {0}, /* Y */ diff --git a/src/unreal32.c b/src/unreal32.c index 4c39f0263..dd1bef746 100644 --- a/src/unreal32.c +++ b/src/unreal32.c @@ -257,26 +257,26 @@ CBMode cbmodes[128] = { {0}, {CMODE_A, CBM_NO_USER_MLOCK, NULL, NULL}, {0}, /* B */ - {CMODE_C, 0, NULL, NULL}, + {CMODE_C, 0, NULL, NULL}, /* C */ {0}, /* D */ {0}, /* E */ {0}, /* F */ - {CMODE_G, 0, NULL, NULL}, - {0}, + {CMODE_G, 0, NULL, NULL}, /* G */ + {0}, /* H */ {0}, /* I */ {0}, /* J */ - {CMODE_K, 0, NULL, NULL}, + {CMODE_K, 0, NULL, NULL}, /* K */ {CMODE_L, 0, set_redirect, cs_set_redirect}, {CMODE_M, 0, NULL, NULL}, /* M */ - {CMODE_N, 0, NULL, NULL}, + {CMODE_N, 0, NULL, NULL}, /* N */ {CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL}, {0}, /* P */ - {CMODE_Q, 0, NULL, NULL}, + {CMODE_Q, 0, NULL, NULL}, /* Q */ {CMODE_R, 0, NULL, NULL}, /* R */ - {CMODE_S, 0, NULL, NULL}, + {CMODE_S, 0, NULL, NULL}, /* S */ {CMODE_T, 0, NULL, NULL}, /* T */ {0}, /* U */ - {CMODE_V, 0, NULL, NULL}, + {CMODE_V, 0, NULL, NULL}, /* V */ {0}, /* W */ {0}, /* X */ {0}, /* Y */ diff --git a/src/viagra.c b/src/viagra.c index 47d0697d0..2e4a1bc03 100644 --- a/src/viagra.c +++ b/src/viagra.c @@ -228,6 +228,7 @@ unsigned long umodes[128] = { 0, 0, 0, 0, 0 }; + char csmodes[128] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -235,9 +236,11 @@ char csmodes[128] = { 0, 0, 0, 0, 0, - 'h', - 0, 0, 0, 0, - 0, + 'h', /* (37) % Channel halfops */ + 0, /* (38) & bans */ + 0, 0, 0, + 'q', + 'v', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -245,10 +248,9 @@ char csmodes[128] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'a', 0 }; - CMMode cmmodes[128] = { {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, @@ -294,18 +296,18 @@ CBMode cbmodes[128] = { {0}, /* E */ {0}, /* F */ {0}, /* G */ - {0}, /* H */ + {CMODE_H, 0, NULL, NULL}, /* H */ {0}, /* I */ {0}, /* J */ {0}, /* K */ {0}, /* L */ - {CMODE_M}, - {0}, /* N */ + {CMODE_M, 0, NULL, NULL}, /* M */ + {CMODE_N, 0, NULL, NULL}, /* N */ {CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL}, - {0}, /* P */ + {CMODE_P, 0, NULL, NULL}, /* P */ {0}, /* Q */ {CMODE_R, 0, NULL, NULL}, /* R */ - {0}, /* S */ + {CMODE_S, 0, NULL, NULL}, /* S */ {0}, /* T */ {0}, /* U */ {0}, /* V */ @@ -337,7 +339,7 @@ CBMode cbmodes[128] = { {0}, {0}, /* v */ {0}, /* w */ - {0}, /* x */ + {CMODE_x, 0, NULL, NULL}, /* x */ {0}, /* y */ {0}, /* z */ {0}, {0}, {0}, {0} @@ -354,9 +356,14 @@ CBModeInfo cbmodeinfos[] = { {'r', CMODE_r, 0, NULL, NULL}, {'s', CMODE_s, 0, NULL, NULL}, {'t', CMODE_t, 0, NULL, NULL}, + {'x', CMODE_x, 0, NULL, NULL}, + {'H', CMODE_H, 0, NULL, NULL}, {'M', CMODE_M, 0, NULL, NULL}, + {'N', CMODE_N, 0, NULL, NULL}, {'O', CMODE_O, 0, NULL, NULL}, + {'P', CMODE_P, 0, NULL, NULL}, {'R', CMODE_R, 0, NULL, NULL}, + {'S', CMODE_S, 0, NULL, NULL}, {0} }; diff --git a/version.log b/version.log index b80812d2f..bc7239fa9 100644 --- a/version.log +++ b/version.log @@ -8,10 +8,14 @@ VERSION_MAJOR="1" VERSION_MINOR="7" VERSION_PATCH="6" -VERSION_BUILD="502" +VERSION_BUILD="503" # $Log$ # +# BUILD : 1.7.6 (503) +# BUGS : N/A +# NOTES : Fixes alot of user and channel modes on various ircd, also applied two patches provided by DrStein +# # BUILD : 1.7.6 (502) # BUGS : N/A # NOTES : SolidIRCD can mlock +R again |