aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/jabber/jabber.c
diff options
context:
space:
mode:
authorMarius Halden <marius.h@lden.org>2016-09-24 19:14:30 +0200
committerMarius Halden <marius.h@lden.org>2016-09-24 19:14:30 +0200
commit99c15884fe482c099cd3a152497636df9d0b31f1 (patch)
tree50db71a741ea5b92efcc16faa3c2dac4233b635b /protocols/jabber/jabber.c
parent942e1d8011536f60a4d2dccf89e4b0e7e25f0602 (diff)
parent524e931bb1a61dd7efa44faeb050e41bfc231610 (diff)
Merge branch 'master' into patched-master
Diffstat (limited to 'protocols/jabber/jabber.c')
-rw-r--r--protocols/jabber/jabber.c10
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");