summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changes2
-rw-r--r--data/example.conf2
-rw-r--r--src/protocol/hybrid.c29
-rw-r--r--src/protocol/plexus.c29
-rw-r--r--src/protocol/ratbox.c29
-rw-r--r--version.log6
6 files changed, 92 insertions, 5 deletions
diff --git a/Changes b/Changes
index 3333e5b3a..3ffdc8e2a 100644
--- a/Changes
+++ b/Changes
@@ -4,6 +4,8 @@ Provided by Anope Dev. <dev@anope.org> - 2005
10/01 A Information on uplink server can be displayed via OperServ STATS. [ #00]
09/29 A Configuration option to change fantasy command prefix character. [ #00]
09/28 A Event for fantasy commands triggered without channel access. [ #00]
+10/01 F Capab parsing on hybrid/plexus/ratbox failed. [ #00]
+10/01 F Typo in example.conf (DevNullAlias was called DevNullName). [ #00]
10/01 F UserKeys gave an error without message when missing. [ #00]
09/30 F Stripping fantasy character from fantasy commands. [ #00]
09/28 F Made module (un)loading code more friendly for modularized core. [ #00]
diff --git a/data/example.conf b/data/example.conf
index 19a1092fa..b839bc71e 100644
--- a/data/example.conf
+++ b/data/example.conf
@@ -240,7 +240,7 @@ HostServName "HostServ" "vHost Server"
#HelpServAlias "HelpServ2" "Help Server Forwarder"
#OperServAlias "OperServ2" "Operator Server Forwarder"
#GlobalAlias "Global2" "Global Noticer Forwarder"
-#DevNullName "DevNull2" "/dev/null -- message sink Forwarder"
+#DevNullAlias "DevNull2" "/dev/null -- message sink Forwarder"
#HostServAlias "HostServ2" "vHost Server Forwarder"
###########################################################################
diff --git a/src/protocol/hybrid.c b/src/protocol/hybrid.c
index af402f8dc..e08cfd72a 100644
--- a/src/protocol/hybrid.c
+++ b/src/protocol/hybrid.c
@@ -1204,7 +1204,34 @@ void hybrid_cmd_351(char *source)
/* Event: PROTOCTL */
int anope_event_capab(char *source, int ac, char **av)
{
- capab_parse(ac, av);
+ int argvsize = 8;
+ int argc;
+ char **argv;
+ char *str;
+
+ if (ac < 1)
+ return MOD_CONT;
+
+ /* We get the params as one arg, we should split it for capab_parse */
+ argv = scalloc(argvsize, sizeof(char *));
+ argc = 0;
+ while ((str = myStrGetToken(av[0], ' ', argc))) {
+ if (argc == argvsize) {
+ argvsize += 8;
+ argv = srealloc(argv, argvsize * sizeof(char *));
+ }
+ argv[argc] = str;
+ argc++;
+ }
+
+ capab_parse(argc, argv);
+
+ /* Free our built ac/av */
+ for (argvsize = 0; argvsize < argc; argvsize++) {
+ free(argv[argvsize]);
+ }
+ free(argv);
+
return MOD_CONT;
}
diff --git a/src/protocol/plexus.c b/src/protocol/plexus.c
index 4429b757e..0e16b2937 100644
--- a/src/protocol/plexus.c
+++ b/src/protocol/plexus.c
@@ -1481,7 +1481,34 @@ plexus_cmd_351 (char *source)
int
anope_event_capab (char *source, int ac, char **av)
{
- capab_parse (ac, av);
+ int argvsize = 8;
+ int argc;
+ char **argv;
+ char *str;
+
+ if (ac < 1)
+ return MOD_CONT;
+
+ /* We get the params as one arg, we should split it for capab_parse */
+ argv = scalloc(argvsize, sizeof(char *));
+ argc = 0;
+ while ((str = myStrGetToken(av[0], ' ', argc))) {
+ if (argc == argvsize) {
+ argvsize += 8;
+ argv = srealloc(argv, argvsize * sizeof(char *));
+ }
+ argv[argc] = str;
+ argc++;
+ }
+
+ capab_parse(argc, argv);
+
+ /* Free our built ac/av */
+ for (argvsize = 0; argvsize < argc; argvsize++) {
+ free(argv[argvsize]);
+ }
+ free(argv);
+
return MOD_CONT;
}
diff --git a/src/protocol/ratbox.c b/src/protocol/ratbox.c
index 461bb8e92..1af1f316d 100644
--- a/src/protocol/ratbox.c
+++ b/src/protocol/ratbox.c
@@ -1495,7 +1495,34 @@ void ratbox_cmd_351(char *source)
/* Event: PROTOCTL */
int anope_event_capab(char *source, int ac, char **av)
{
- capab_parse(ac, av);
+ int argvsize = 8;
+ int argc;
+ char **argv;
+ char *str;
+
+ if (ac < 1)
+ return MOD_CONT;
+
+ /* We get the params as one arg, we should split it for capab_parse */
+ argv = scalloc(argvsize, sizeof(char *));
+ argc = 0;
+ while ((str = myStrGetToken(av[0], ' ', argc))) {
+ if (argc == argvsize) {
+ argvsize += 8;
+ argv = srealloc(argv, argvsize * sizeof(char *));
+ }
+ argv[argc] = str;
+ argc++;
+ }
+
+ capab_parse(argc, argv);
+
+ /* Free our built ac/av */
+ for (argvsize = 0; argvsize < argc; argvsize++) {
+ free(argv[argvsize]);
+ }
+ free(argv);
+
return MOD_CONT;
}
diff --git a/version.log b/version.log
index d74fe3c95..7b7f6da72 100644
--- a/version.log
+++ b/version.log
@@ -9,10 +9,14 @@ VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="11"
VERSION_EXTRA="-svn"
-VERSION_BUILD="906"
+VERSION_BUILD="907"
# $Log$
#
+# BUILD : 1.7.11 (907)
+# BUGS :
+# NOTES : Fixed capab parsing on hybrid/plexus/ratbox and a typo in example.conf
+#
# BUILD : 1.7.11 (906)
# BUGS :
# NOTES : Added information on the uplink server via /os stats uplink