Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, libarchive.org for more info) to build successfully.

Commit 55734bd6 authored by Randy Sommerfeld's avatar Randy Sommerfeld

Fix mode desync on server SJOIN. Thanks to Retros for finding where this was coming from!

parent 48598fc0
......@@ -922,7 +922,7 @@ function Server_Work(cmdline) {
), false /*bcast*/);
}
if (tmp.created >= parseInt(p[0])) { /* We have TS superiority */
if (tmp.created >= parseInt(p[0])) { /* They have TS superiority */
if (k.isop)
tmp.modelist[CHANMODE_OP][n.id] = n.id;
if (k.isvoice)
......@@ -936,7 +936,30 @@ function Server_Work(cmdline) {
n.nick
), false /*bcast*/);
}
} else { /* We have TS superiority */
if (k.isop) {
k.isop = false;
this.rawout(format(":%s MODE %s -o %s",
ServerName,
tmp.nam,
k.nick
));
}
if (k.isvoice) {
k.isvoice = false;
this.rawout(format(":%s MODE %s -v %s",
ServerName,
tmp.nam,
k.nick
));
}
}
j[i] = format("%s%s%s",
k.isop ? "@" : "",
k.isvoice ? "+" : "",
k.nick
);
}
if (tmp.created > parseInt(p[0]))
......@@ -948,7 +971,7 @@ function Server_Work(cmdline) {
tmp.created,
tmp.nam,
tmp.chanmode(true /* pass args */),
p[p.length-1]
j.join(" ")
)
);
} else { /* User single SJOIN */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment