diff options
author | Marius Halden <marius.h@lden.org> | 2016-09-24 19:14:30 +0200 |
---|---|---|
committer | Marius Halden <marius.h@lden.org> | 2016-09-24 19:14:30 +0200 |
commit | 99c15884fe482c099cd3a152497636df9d0b31f1 (patch) | |
tree | 50db71a741ea5b92efcc16faa3c2dac4233b635b /protocols/jabber/jabber.c | |
parent | 942e1d8011536f60a4d2dccf89e4b0e7e25f0602 (diff) | |
parent | 524e931bb1a61dd7efa44faeb050e41bfc231610 (diff) |
Merge branch 'master' into patched-master
Diffstat (limited to 'protocols/jabber/jabber.c')
-rw-r--r-- | protocols/jabber/jabber.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/protocols/jabber/jabber.c b/protocols/jabber/jabber.c index fcd90598..05bd9cf9 100644 --- a/protocols/jabber/jabber.c +++ b/protocols/jabber/jabber.c @@ -81,11 +81,11 @@ static void jabber_init(account_t *acc) s = set_add(&acc->set, "server", NULL, set_eval_account, acc); s->flags |= SET_NOSAVE | ACC_SET_OFFLINE_ONLY | SET_NULL_OK; + set_add(&acc->set, "oauth", "false", set_eval_oauth, acc); + if (strcmp(acc->prpl->name, "hipchat") == 0) { set_setstr(&acc->set, "server", "chat.hipchat.com"); } else { - set_add(&acc->set, "oauth", "false", set_eval_oauth, acc); - /* this reuses set_eval_oauth, which clears the password */ set_add(&acc->set, "anonymous", "false", set_eval_oauth, acc); } @@ -402,7 +402,11 @@ static int jabber_buddy_msg(struct im_connection *ic, char *who, char *message, if (g_strcasecmp(who, JABBER_OAUTH_HANDLE) == 0 && !(jd->flags & OPT_LOGGED_IN) && jd->fd == -1) { - if (sasl_oauth2_get_refresh_token(ic, message)) { + + if (jd->flags & JFLAG_HIPCHAT) { + sasl_oauth2_got_token(ic, message, NULL, NULL); + return 1; + } else if (sasl_oauth2_get_refresh_token(ic, message)) { return 1; } else { imcb_error(ic, "OAuth failure"); |