Skip to content
Snippets Groups Projects
Commit bd5bb408 authored by cyan's avatar cyan
Browse files

* Fix for CR/DF compatibility. It turns out that ConferenceRoom will sometimes

  (randomly) swap the 'hops' and 'created' variables on the NICK line without
  warning.  The IRCd now tests for this.  This manifested itself with time_t
  integers appearing in the 'WHO' command output when a CR server was linked.
* WHOWAS output would always show the uplink server for a client who left the
  network from *behind* the uplink.  The correct server info is now shown on
  WHOWAS.
parent baaefa2c
No related branches found
No related tags found
No related merge requests found
......@@ -476,8 +476,14 @@ function Server_Work(cmdline) {
var NewNick = Users[cmd[1].toUpperCase()];
NewNick.local = false; // not local. duh.
NewNick.nick = cmd[1];
NewNick.hops = cmd[2];
NewNick.created = cmd[3];
/* What the hell. CR reverses these at random. */
if (parseInt(cmd[2]) > 100) {
NewNick.created = cmd[2];
NewNick.hops = cmd[3];
} else {
NewNick.hops = cmd[2];
NewNick.created = cmd[3];
}
NewNick.uprefix = cmd[uprefixptr];
NewNick.hostname = cmd[uprefixptr+1];
NewNick.servername = cmd[uprefixptr+2];
......
......@@ -1514,7 +1514,7 @@ function User_Quit(str,suppress_bcast,is_netsplit,origin) {
var ww_serverdesc = serverdesc;
if (this.parent)
ww_serverdesc = Servers[this.parent.toLowerCase()].info;
ww_serverdesc = Servers[this.servername.toLowerCase()].info;
var nick_uc = this.nick.toUpperCase();
if (!WhoWas[nick_uc])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment