# HG changeset patch # User franky # Date 1255287500 -7200 # Node ID f9bf561e54d0487e2f10bb53278e053c6cb5acd6 # Parent 6db9f403f707a614f75de1c9d80c41b861dd5e2b Use the username for authentication, added jid_get_username() to utils.c diff -r 6db9f403f707 -r f9bf561e54d0 mcabber/src/hooks.c --- a/mcabber/src/hooks.c Sun Oct 11 20:06:47 2009 +0200 +++ b/mcabber/src/hooks.c Sun Oct 11 20:58:20 2009 +0200 @@ -340,10 +340,11 @@ } else { wmsg = (char*)msg; if (!strncmp(msg, COMMAND_ME, strlen(COMMAND_ME))) { - const char *myid = settings_opt_get("username"); - if (myid) - wmsg = mmsg = g_strdup_printf("*%s %s", settings_opt_get("username"), - msg+4); + char *myid = jid_get_username(settings_opt_get("jid")); + if (myid) { + wmsg = mmsg = g_strdup_printf("*%s %s", myid, msg+4); + g_free(myid); + } } } diff -r 6db9f403f707 -r f9bf561e54d0 mcabber/src/settings.c --- a/mcabber/src/settings.c Sun Oct 11 20:06:47 2009 +0200 +++ b/mcabber/src/settings.c Sun Oct 11 20:58:20 2009 +0200 @@ -409,12 +409,7 @@ if (nick) return g_strdup(nick); - nick = g_strdup(settings_opt_get("username")); - if (nick) { - char *p = strchr(nick, JID_DOMAIN_SEPARATOR); - if (p > nick) - *p = 0; - } + nick = jid_get_username(settings_opt_get("jid")); return nick; } diff -r 6db9f403f707 -r f9bf561e54d0 mcabber/src/utils.c --- a/mcabber/src/utils.c Sun Oct 11 20:06:47 2009 +0200 +++ b/mcabber/src/utils.c Sun Oct 11 20:58:20 2009 +0200 @@ -63,6 +63,18 @@ return alias; } +char *jid_get_username(const char *fjid) +{ + char *ptr; + char *username; + + username = g_strdup(fjid); + if ((ptr = strchr(username, JID_DOMAIN_SEPARATOR)) != NULL) { + *ptr = 0; + } + return username; +} + char *compose_jid(const char *username, const char *servername, const char *resource) { diff -r 6db9f403f707 -r f9bf561e54d0 mcabber/src/utils.h --- a/mcabber/src/utils.h Sun Oct 11 20:06:47 2009 +0200 +++ b/mcabber/src/utils.h Sun Oct 11 20:58:20 2009 +0200 @@ -15,6 +15,7 @@ #define JID_DOMAIN_SEPARATORSTR "@" char *jidtodisp(const char *fjid); +char *jid_get_username(const char *fjid); char *compose_jid(const char *username, const char *servername, const char *resource); gboolean jid_equal(const char *jid1, const char *jid2); diff -r 6db9f403f707 -r f9bf561e54d0 mcabber/src/xmpp.c --- a/mcabber/src/xmpp.c Sun Oct 11 20:06:47 2009 +0200 +++ b/mcabber/src/xmpp.c Sun Oct 11 20:58:20 2009 +0200 @@ -852,24 +852,25 @@ static void connection_open_cb(LmConnection *connection, gboolean success, gpointer user_data) { - const char *userjid, *password, *resource, *servername; + const char *username, *password, *resource, *servername; GError *error; if (success) { servername = settings_opt_get("server"); - userjid = settings_opt_get("jid"); + username = jid_get_username(settings_opt_get("jid")); password = settings_opt_get("password"); resource = strchr(lm_connection_get_jid(connection), JID_RESOURCE_SEPARATOR); if (resource) resource++; - if (!lm_connection_authenticate(lconnection, userjid, password, resource, + if (!lm_connection_authenticate(lconnection, username, password, resource, connection_auth_cb, NULL, FALSE, &error)) { scr_LogPrint(LPRINT_LOGNORM, "Failed to authenticate: %s\n", error->message); _try_to_reconnect(); } + g_free(username); } else { scr_LogPrint(LPRINT_LOGNORM, "There was an error while connecting."); _try_to_reconnect();