diff options
-rw-r--r-- | Changes | 2 | ||||
-rw-r--r-- | docs/BUGS | 5 | ||||
-rw-r--r-- | docs/IRCD | 29 | ||||
-rw-r--r-- | src/Makefile | 5 | ||||
-rw-r--r-- | src/config.c | 23 | ||||
-rw-r--r-- | src/ptlink.c | 4 | ||||
-rw-r--r-- | version.log | 7 |
7 files changed, 60 insertions, 15 deletions
@@ -15,6 +15,8 @@ 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/26 F Updated IRCD doc to show all the flags currently in the code. [ #00] +12/26 F Fixed segfault with some config options if they are set wrong. [ #00] 12/26 F Updated PTLink support to be more in line with the ircd protocol. [ #00] 12/25 F Fixed up user and channel modes for various ircds. [ #00] 12/23 F Several compiler errors under make strict. [ #00] @@ -1,4 +1,4 @@ -Reported Bugs from Mantis: http://www.anope.org/bug +Reported Bugs from Bugzilla: http://bugs.anope.org =================================================== .- Strange Segfault on expiring nicknames. Almost arbitrary, very hard @@ -13,3 +13,6 @@ Reported Bugs from Mantis: http://www.anope.org/bug timed events (nick kills, database saving, etc.) until the next message comes in from Services' uplink server. +.- Due to the usage of execve() once we SIGHUP from the shell, we can only + do it once, after that execve() resets our signals. + @@ -192,6 +192,29 @@ usage of each. 66. Cmode L : CMODE_ that defines Linked Mode, 0 = no +67. Check Nick ID : on check change check if they should remain identified, 1 = yes 0 = no + +68. No Knock Requires +i : if No Knock mode requires invite only, 1 = yes 0 = no + +69. Chan Modes : if sent in capab/protoctl we store it in here (NULL by default) + +70. Tokens : if Anope can support the ircd with Tokens, 1 = yes 0 = no + +71. Token Case Senstive : some ircds the TOKENS/COMMANDS are case senstive, 1 = yes 0 = no + +72. SJOIN time stamps are base64 : if they are base64 encoded, 1 = yes 0 = no + +73. Supports +I : Whether the ircd supports +I, 1 = yes 0 = no + +74. SJOIN Ban Char : char used to identify bans, use '' + +75. SJOIN Except Char : char used to identify exceptions, use '' + +76. SVSMODE UCMODE : clear user channel modes with SVSMODE, 1 = yes 0 = no + +77. SGline Enforce : the ircd enforces sglines for us we don't need to, 1 = yes 0 = no + + IRCDCAPAB ircdcap[] = { } @@ -280,16 +303,16 @@ Define Table DEFINE WORD | VALUE | TOKEN | IRCD Meaning ====================================================================================================== CAPAB_NOQUIT | 0x00000001 | NOQUIT | Supports NOQUIT -CAPAB_TSMODE | 0x00000002 | TS | Channel modes are TimeStamped (normal sent during PASS) +CAPAB_TSMODE | 0x00000002 | TS | Channel modes are TimeStamped (normal sent during PASS) CAPAB_UNCONNECT | 0x00000004 | UNCONNECT | Supports UNCONNECT CAPAB_NICKIP | 0x00000008 | NICKIP | IP in the NICK line CAPAB_NSJOIN | 0x00000010 | SSJOIN | smart sjoin SSJOIN -CAPAB_ZIP | 0x00000020 | ZIP | server supports gz'd links +CAPAB_ZIP | 0x00000020 | ZIP | server supports gz'd links CAPAB_BURST | 0x00000040 | BURST | server supports BURST command CAPAB_TS3 | 0x00000080 | TS3 | Supports the TS3 Protocol CAPAB_TS5 | 0x00000100 | TS5 | Supports the TS5 Protocol CAPAB_DKEY | 0x00000200 | DKEY | server supports dh-key exchange using "DKEY" -CAPAB_DOZIP | 0x00000400 | ZIP | output to this link shall be gzipped +CAPAB_DOZIP | 0x00000400 | ZIP | output to this link shall be gzipped CAPAB_DODKEY | 0x00000800 | DKEY | do I do dkey with this link? CAPAB_QS | 0x00001000 | QS | Can handle quit storm removal CAPAB_SCS | 0x00002000 | SCS | Supports String Cache System diff --git a/src/Makefile b/src/Makefile index 98074f2b2..40ff6ceb9 100644 --- a/src/Makefile +++ b/src/Makefile @@ -44,6 +44,7 @@ services: $(OBJS) $(OBJS): Makefile actions.o: actions.c $(INCLUDES) +base64.o: base64.c $(INCLUDES) botserv.o: botserv.c $(INCLUDES) channels.o: channels.c $(INCLUDES) chanserv.o: chanserv.c $(INCLUDES) @@ -54,6 +55,7 @@ converter.o: converter.c $(INCLUDES) datafiles.o: datafiles.c $(INCLUDES) encrypt.o: encrypt.c $(INCLUDES) init.o: init.c $(INCLUDES) +helpserv.o: helpserv.c $(INCLUDES) hostserv.o: hostserv.c $(INCLUDES) language.o: language.c $(INCLUDES) list.o: list.c $(INCLUDES) @@ -63,14 +65,15 @@ main.o: main.c $(INCLUDES) memory.o: memory.c $(INCLUDES) memoserv.o: memoserv.c $(INCLUDES) messages.o: messages.c $(INCLUDES) +modules.o: modules.c $(INCLUDES) misc.o: misc.c $(INCLUDES) news.o: news.c $(INCLUDES) nickserv.o: nickserv.c $(INCLUDES) operserv.o: operserv.c $(INCLUDES) process.o: process.c $(INCLUDES) -protocol.o: protocol.c $(INCLUDES) proxy.o: proxy.c $(INCLUDES) send.o: send.c $(INCLUDES) +servers.o: servers.c $(INCLUDES) sessions.o: sessions.c $(INCLUDES) slist.o: slist.c $(INCLUDES) sockutil.o: sockutil.c $(INCLUDES) diff --git a/src/config.c b/src/config.c index 87c959a59..11a772832 100644 --- a/src/config.c +++ b/src/config.c @@ -1189,13 +1189,20 @@ int read_config(int reload) s = strtok(ServicesRoot, " "); do { - RootNumber++; - ServicesRoots = - realloc(ServicesRoots, sizeof(char *) * RootNumber); - ServicesRoots[RootNumber - 1] = sstrdup(s); + if (s) { + RootNumber++; + ServicesRoots = + realloc(ServicesRoots, sizeof(char *) * RootNumber); + ServicesRoots[RootNumber - 1] = sstrdup(s); + } } while ((s = strtok(NULL, " "))); } + if (!RootNumber) { + error(0, "No ServicesRoot defined"); + retval = 0; + } + /* Ulines */ if (UlineServers) { @@ -1203,9 +1210,11 @@ int read_config(int reload) s = strtok(UlineServers, " "); do { - NumUlines++; - Ulines = realloc(Ulines, sizeof(char *) * NumUlines); - Ulines[NumUlines - 1] = sstrdup(s); + if (s) { + NumUlines++; + Ulines = realloc(Ulines, sizeof(char *) * NumUlines); + Ulines[NumUlines - 1] = sstrdup(s); + } } while ((s = strtok(NULL, " "))); } diff --git a/src/ptlink.c b/src/ptlink.c index 098b5bf9f..28d05c47e 100644 --- a/src/ptlink.c +++ b/src/ptlink.c @@ -646,7 +646,7 @@ void anope_cmd_unsqline(char *user) void anope_cmd_join(char *user, char *channel, time_t chantime) { - send_cmd(ServerName, "SJOIN %ld %s + :%s", (long int) time(null), + send_cmd(ServerName, "SJOIN %ld %s + :%s", (long int) time(NULL), channel, user); } @@ -1590,7 +1590,7 @@ void anope_cmd_chg_nick(char *oldnick, char *newnick) return; } - send_cmd(oldnick, "NICK %s %ld", newnick, (long int) time(null)); + send_cmd(oldnick, "NICK %s %ld", newnick, (long int) time(NULL)); } /* diff --git a/version.log b/version.log index 5c8d36dfd..c2532721e 100644 --- a/version.log +++ b/version.log @@ -8,10 +8,15 @@ VERSION_MAJOR="1" VERSION_MINOR="7" VERSION_PATCH="6" -VERSION_BUILD="504" +VERSION_BUILD="505" # $Log$ # +# BUILD : 1.7.6 (505) +# BUGS : N/A +# NOTES : Some documentation updated, fixed compiler errors with ptlink, and fixed a segfault with some options when +# set with just quotes +# # BUILD : 1.7.6 (504) # BUGS : 245 # NOTES : Enforce SGLINE/SQLINE where the ircd does not do it on its own, and updated ptlink support to be more complaint |