diff --git a/world/net/include/net.h b/world/net/include/net.h index f57a14b..5105075 100644 --- a/world/net/include/net.h +++ b/world/net/include/net.h @@ -225,6 +225,10 @@ # define _flag_log_hosts #endif +#ifdef DEVELOPMENT +# define PARANOID +#endif + #ifdef EXPERIMENTAL # define USE_AUTOALIAS // fippo's brilliant single-user channel emulation for jabber MUCs diff --git a/world/net/jabber/server.c b/world/net/jabber/server.c index 26c4028..cada632 100644 --- a/world/net/jabber/server.c +++ b/world/net/jabber/server.c @@ -75,7 +75,7 @@ promptForPassword(user) { ([ "_tag_reply" : authtag || "", "_nick" : nick, "_resource" : resource ]) ); emitraw(""); - QUIT + QUIT // should we really close the stream here? return; // ? } P2(("nick %O, pass %O\n", nick, pass)) @@ -213,7 +213,7 @@ jabberMsg(XMLNode node) { // internal server error STREAM_ERROR("internal-server-error", "Oh dear! Internal server error") - QUIT // too hard? + // QUIT } unless (user -> isNewbie()) { // already registered to someone else @@ -221,7 +221,9 @@ jabberMsg(XMLNode node) { "" ""; emit(packet); - QUIT + // elmex says, disconnect is wrong here: + // QUIT + // it should at least close the stream } else unless ((t = helper["/username"]) && t[Cdata] && (t = helper["/password"]) && @@ -230,7 +232,7 @@ jabberMsg(XMLNode node) { "" ""; emit(packet); - QUIT + // QUIT } else { #if defined(REGISTERED_USERS_ONLY) || defined(_flag_disable_registration_XMPP) // TODO: generate some error as above diff --git a/world/net/jabber/user.c b/world/net/jabber/user.c index 3f91137..055d51d 100644 --- a/world/net/jabber/user.c +++ b/world/net/jabber/user.c @@ -569,7 +569,7 @@ iq(XMLNode node) { target = jid2ppl(node["@to"]); isplacemsg = stringp(target) && strlen(target) && ISPLACEMSG(target); - P3(("%O IQ node %O\n", ME, node)) + P0(("+++ %O IQ node %O\n", ME, node)) firstchild = getfirstchild(node); unless(firstchild) switch(node["@type"]) { case "get": diff --git a/world/net/person.c b/world/net/person.c index 9647889..eec58b2 100644 --- a/world/net/person.c +++ b/world/net/person.c @@ -495,7 +495,7 @@ sLocation(string service, mixed data) { } static linkSet(service, location, source) { - P1(("linkSet(%O, %O, %O) called in %O: linking.\n", + P2(("linkSet(%O, %O, %O) called in %O: linking.\n", service, location, source, ME)); // sLocation? unless (location) location = source; @@ -536,7 +536,7 @@ static linkDel(service, source, variant) { service, source, ME)); return 0; } - P1(("linkDel(%O, %O) called in %O: unlinking %O.\n", + P2(("linkDel(%O, %O) called in %O: unlinking %O.\n", service, source, ME, candidate)); unless (source) source = candidate; // sLocation? @@ -1318,6 +1318,11 @@ case "_message_echo": case "_message_public": // avoid treating this as _message here break; +case "_message_video": +case "_message_audio": + // not being displayed to users other than psyc clients + data = 0; + break; case "_message": // this is only visible in person.c, not user.c // therefore probably useless @@ -2558,10 +2563,19 @@ quit(immediate, variant) { P3(("person:QUIT(%O,%O) in %O\n", immediate,variant, ME)) // keeping services running while logging out should be possible.. but + // we currently don't do that //linkDel(0); - if (sizeof(v("locations"))) { - // the if should only trigger at first pass + if (sizeof(v("locations"))) { // this should only trigger at first pass linkCleanUp(); +#if 1 //def PARANOID + if (sizeof(v("locations"))) { + P1(("%O * Hey, linkCleanUp left us with %O\n", + ME, v("locations"))) + // we cannot vDel("locations") because the ONLINE macro + // breaks when we do + vSet("locations", ([])); + } +#endif } if (immediate == 1 || (immediate && find_call_out(#'quit) != -1)) { rc = save(); diff --git a/world/net/place/archetype.gen b/world/net/place/archetype.gen index 2194cf2..44a5b24 100644 --- a/world/net/place/archetype.gen +++ b/world/net/place/archetype.gen @@ -1069,7 +1069,7 @@ msg(source, mc, data, mapping vars) { } // uni and unl differ if (t != source) { -P1(("ident: %O is really %O\n", t, source)) + P2(("@%s knows: %O is really %O\n", MYNICK, t, source)) //source = t; // if (!member(vars, "_nick")) -- dont trust the UNL if (objectp(source)) { @@ -1414,8 +1414,8 @@ P1(("ident: %O is really %O\n", t, source)) return 0; } // ist das die nette antwort auf /m channel ? - // vorsicht aber mit _message_public_question - if (!abbrev("_message_public", mc)) mc = "_message_public"; + if (mc == "_message_private") mc = "_message_public"; + // vorsicht mit _message_public_question und _message_video } /* if the source is not a member of the room and was allowed * because of qAllowExternal* we probably should use the rooms diff --git a/world/net/user.c b/world/net/user.c index f18fce2..a2e132d 100644 --- a/world/net/user.c +++ b/world/net/user.c @@ -615,6 +615,12 @@ case "_jabber_iq_set": case "_jabber": P1(("%O got %O", ME, mc)) break; +case "_message_video": +case "_message_audio": + // not being displayed to users other than psyc clients + if (v("scheme") != "psyc") return 1; + data = ""; // temporary for @welcome history + break; case "_message_private_question": variant = "_ask" + variant; m_delete(vars, "_action"); diff --git a/world/net/usercmd.i b/world/net/usercmd.i index fd5e22a..5511631 100644 --- a/world/net/usercmd.i +++ b/world/net/usercmd.i @@ -1777,6 +1777,10 @@ case "_exit": case "_quit": // bye(vars["_reason"]); quit(); + // + // this shouldn't be necessary!! + //call_out( (: destruct(ME) :) , 30); + // i hope it isnt.. return 1; case "_show_log": // _list_log ? case "_log":