# HG changeset patch # User Mikael Berthe # Date 1133693507 -3600 # Node ID b3ab662757a05d43b806b621666e95f5dbba285a # Parent 5c6d364130eed88dc83337e64c90e1685fee3b12 Fix connection issue diff -r 5c6d364130ee -r b3ab662757a0 mcabber/src/jab_iq.c --- a/mcabber/src/jab_iq.c Sun Dec 04 11:06:59 2005 +0100 +++ b/mcabber/src/jab_iq.c Sun Dec 04 11:51:47 2005 +0100 @@ -163,22 +163,21 @@ int iid = atoi(p); //scr_LogPrint(LPRINT_DEBUG, "iid = %d", iid); + scr_LogPrint(LPRINT_DEBUG, "iid = %d sid = %d", iid, s_id); // XXX DBG XXX + scr_LogPrint(LPRINT_DEBUG, "jstate = %d", jstate); // XXX DBG XXX if (iid == s_id) { - if (!regmode) { - if (jstate == STATE_GETAUTH) { - if ((x = xmlnode_get_tag(xmldata, "query")) != NULL) - if (!xmlnode_get_tag(x, "digest")) { - jc->sid = 0; - } + if (jstate == STATE_GETAUTH) { + if ((x = xmlnode_get_tag(xmldata, "query")) != NULL) + if (!xmlnode_get_tag(x, "digest")) { + jc->sid = 0; + } - s_id = atoi(jab_auth(jc)); - jstate = STATE_SENDAUTH; - } else { - gotloggedin(); - jstate = STATE_LOGGED; - } - } else { - regdone = TRUE; + scr_LogPrint(LPRINT_DEBUG, "jc = %p", jc); // XXX DBG XXX + s_id = atoi(jab_auth(jc)); + jstate = STATE_SENDAUTH; + } else if (jstate == STATE_SENDAUTH) { + gotloggedin(); + jstate = STATE_LOGGED; } return; } diff -r 5c6d364130ee -r b3ab662757a0 mcabber/src/jab_priv.h --- a/mcabber/src/jab_priv.h Sun Dec 04 11:06:59 2005 +0100 +++ b/mcabber/src/jab_priv.h Sun Dec 04 11:51:47 2005 +0100 @@ -7,19 +7,19 @@ #define JABBER_AGENT_GROUP "Jabber Agents" -static enum { +enum enum_jstate { STATE_CONNECTING, STATE_GETAUTH, STATE_SENDAUTH, STATE_LOGGED -} jstate; +}; struct T_presence { enum imstatus st; const char *msg; }; -extern int regmode, regdone; +extern enum enum_jstate jstate; extern int s_id; char *jidtodisp(const char *jid); diff -r 5c6d364130ee -r b3ab662757a0 mcabber/src/jabglue.c --- a/mcabber/src/jabglue.c Sun Dec 04 11:06:59 2005 +0100 +++ b/mcabber/src/jabglue.c Sun Dec 04 11:51:47 2005 +0100 @@ -37,7 +37,7 @@ #define JABBERSSLPORT 5223 jconn jc; -int regmode, regdone; +enum enum_jstate jstate; char imstatus2char[imstatus_size+1] = { '_', 'o', 'i', 'f', 'd', 'n', 'a', '\0'