New issue 65 by raphidae: dircproxy handling of umodes screws up for umodes
with a parameter (i.e. snomask)
http://code.google.com/p/dircproxy/issues/detail?id=65
On network that use an umode with a parameter dircproxy does not handle
these correctly.
For instance when setting: "-ix+IWsn +kKlodxtfgj" (here "+kKlodxtfgj" is a
parameter to +n (InspIRCd)).
Dircprocy does not understand the parameter and just proceeds to try and
add the parameter to the list of umodes. As I understand the code it is
actually specifically instructed to do this for every parameter (why!?).
This results in a stored umode of something like "+IWsnkKlodxtfgj" which
is then sent to the client upon reattach.
I think ideally dircproxy should support parameters to umodes and store
the umodes as a list of umodes+their parameter instead of a string.
Quick fix (makes dircproxy ignore parameters to umodes):
--- ./dircproxy-1.2.0-RC1/src/irc_server.c 2009-01-15
21:27:28.000000000 +0100
+++ ./dircproxy-1.2.0-RC1+raphmod-0.2/src/irc_server.c 2009-03-19
14:45:42.000000000 +0100
@@ -912,13 +940,13 @@
if (!irc_strcasecmp(p->nickname, msg.params[0])) {
/* Personal mode change */
- int param;
+ //int param;
irclog_log(p, IRC_LOG_MODE, IRC_LOGFILE_SERVER, p->servername,
"Your mode was changed: %s", msg.paramstarts[1]);
- for (param = 1; param < msg.numparams; param++)
- ircclient_change_mode(p, msg.params[param]);
+// for (param = 1; param < msg.numparams; param++)
+ ircclient_change_mode(p, msg.params[1]);
/* Check for refuse modes */
if (p->modes && p->conn_class->refuse_modes &&
--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings
I registered another account for googlecode (this one).