From 2dd7ef31784859a129f6c08c29b72f46ea18ef29 Mon Sep 17 00:00:00 2001 From: "psyc://psyced.org/~lynX" <@> Date: Sat, 28 Feb 2009 19:58:39 +0100 Subject: [PATCH] catch ghost writes --- CHANGESTODO | 3 +++ world/net/jabber/user.c | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/CHANGESTODO b/CHANGESTODO index 3caa4d8..6206fae 100644 --- a/CHANGESTODO +++ b/CHANGESTODO @@ -6,6 +6,9 @@ Essentially: whenever you fix something, move that line to the end of file. ________________________________________________________________________ == currently being inspected =========================================== ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ +- when a jabber clients disconnects and reconnects quickly, before the sane + quit delay has operated, it will not be given other people's presence again. + ? marenz says, remote topic isn't working http://about.psyc.eu/?title=Talk:Bug_Report&curid=1506&diff=10174&oldid=10173 diff --git a/world/net/jabber/user.c b/world/net/jabber/user.c index 8fd0f48..801856e 100644 --- a/world/net/jabber/user.c +++ b/world/net/jabber/user.c @@ -1215,6 +1215,10 @@ w(string mc, string data, mapping vars, mixed source) { // suppresses the jabber:iq:auth reply in the SASL case unless (stringp(tag)) return; break; + case "_notice_session_end": + // jabber clients do not want to know + // (they already closed the connection when we get here) + return; case "_error_status_place_matches": PT(("still _error_status_place_matches?\n")) return; @@ -1280,5 +1284,9 @@ w(string mc, string data, mapping vars, mixed source) { if (vars["_list_groups"]) vars["_list_groups"] = IMPLODE_XML(vars["_list_groups"], ""); + unless (interactive(ME)) { + P1(("%O not interactive. w(%O) from %O.\n", ME, mc, source)) + return; + } return render(mc, data, vars, source); }