This commit is contained in:
psyc://psyced.org/~lynX 2009-03-24 23:17:13 +01:00
parent 349a7e92e3
commit 48629998ba
4 changed files with 22 additions and 8 deletions

View File

@ -225,6 +225,10 @@
# define _flag_log_hosts # define _flag_log_hosts
#endif #endif
#ifdef DEVELOPMENT
# define PARANOID
#endif
#ifdef EXPERIMENTAL #ifdef EXPERIMENTAL
# define USE_AUTOALIAS # define USE_AUTOALIAS
// fippo's brilliant single-user channel emulation for jabber MUCs // fippo's brilliant single-user channel emulation for jabber MUCs

View File

@ -75,7 +75,7 @@ promptForPassword(user) {
([ "_tag_reply" : authtag || "", "_nick" : nick, ([ "_tag_reply" : authtag || "", "_nick" : nick,
"_resource" : resource ]) ); "_resource" : resource ]) );
emitraw("</stream:stream>"); emitraw("</stream:stream>");
QUIT QUIT // should we really close the stream here?
return; // ? return; // ?
} }
P2(("nick %O, pass %O\n", nick, pass)) P2(("nick %O, pass %O\n", nick, pass))
@ -213,7 +213,7 @@ jabberMsg(XMLNode node) {
// internal server error // internal server error
STREAM_ERROR("internal-server-error", STREAM_ERROR("internal-server-error",
"Oh dear! Internal server error") "Oh dear! Internal server error")
QUIT // too hard? // QUIT
} }
unless (user -> isNewbie()) { unless (user -> isNewbie()) {
// already registered to someone else // already registered to someone else
@ -221,7 +221,9 @@ jabberMsg(XMLNode node) {
"<conflict xmlns='" NS_XMPP "xmpp-stanzas'/>" "<conflict xmlns='" NS_XMPP "xmpp-stanzas'/>"
"</error></iq>"; "</error></iq>";
emit(packet); emit(packet);
QUIT // elmex says, disconnect is wrong here:
// QUIT
// it should at least close the stream
} else unless ((t = helper["/username"]) && } else unless ((t = helper["/username"]) &&
t[Cdata] && t[Cdata] &&
(t = helper["/password"]) && (t = helper["/password"]) &&
@ -230,7 +232,7 @@ jabberMsg(XMLNode node) {
"<not-acceptable xmlns='" NS_XMPP "xmpp-stanzas'/>" "<not-acceptable xmlns='" NS_XMPP "xmpp-stanzas'/>"
"</error></iq>"; "</error></iq>";
emit(packet); emit(packet);
QUIT // QUIT
} else { } else {
#if defined(REGISTERED_USERS_ONLY) || defined(_flag_disable_registration_XMPP) #if defined(REGISTERED_USERS_ONLY) || defined(_flag_disable_registration_XMPP)
// TODO: generate some error as above // TODO: generate some error as above

View File

@ -569,7 +569,7 @@ iq(XMLNode node) {
target = jid2ppl(node["@to"]); target = jid2ppl(node["@to"]);
isplacemsg = stringp(target) && strlen(target) && ISPLACEMSG(target); 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); firstchild = getfirstchild(node);
unless(firstchild) { unless(firstchild) {
switch(node["@type"]) { switch(node["@type"]) {

View File

@ -2550,11 +2550,19 @@ quit(immediate, variant) {
P3(("person:QUIT(%O,%O) in %O\n", immediate,variant, ME)) P3(("person:QUIT(%O,%O) in %O\n", immediate,variant, ME))
// keeping services running while logging out should be possible.. but // keeping services running while logging out should be possible.. but
// we currently don't do that
//linkDel(0); //linkDel(0);
if (v("locations")) { if (sizeof(v("locations"))) { // this should only trigger at first pass
linkCleanUp(); linkCleanUp();
// so the if should only trigger at first pass #if 1 //def PARANOID
vDel("locations"); 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)) { if (immediate == 1 || (immediate && find_call_out(#'quit) != -1)) {
rc = save(); rc = save();