aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2006-08-04 15:56:53 +0200
committerWilmer van der Gaast <wilmer@gaast.net>2006-08-04 15:56:53 +0200
commitd3a672c0b70eb7b50dcd2908d6cd6928d4f7d874 (patch)
tree137a47de628bbb7522105727abafa06539fc9ea6
parent0aaca60fdc1a6793b438ecc926bd937073d22685 (diff)
Added a per-account web_aware setting for ICQ connections.
-rw-r--r--protocols/oscar/oscar.c5
-rw-r--r--protocols/oscar/service.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/protocols/oscar/oscar.c b/protocols/oscar/oscar.c
index f65332dc..d30ebbe8 100644
--- a/protocols/oscar/oscar.c
+++ b/protocols/oscar/oscar.c
@@ -361,6 +361,11 @@ static void oscar_acc_init(account_t *acc)
s = set_add( &acc->set, "server", NULL, set_eval_account, acc );
s->flags |= ACC_SET_NOSAVE | ACC_SET_OFFLINE_ONLY;
+
+ if (isdigit(acc->user[0])) {
+ s = set_add( &acc->set, "web_aware", "false", set_eval_bool, acc );
+ s->flags |= ACC_SET_OFFLINE_ONLY;
+ }
}
static void oscar_login(account_t *acc) {
diff --git a/protocols/oscar/service.c b/protocols/oscar/service.c
index 4596974f..d55e0987 100644
--- a/protocols/oscar/service.c
+++ b/protocols/oscar/service.c
@@ -731,8 +731,12 @@ int aim_setextstatus(aim_session_t *sess, aim_conn_t *conn, guint32 status)
aim_tlvlist_t *tl = NULL;
guint32 data;
int tlvlen;
+ struct gaim_connection *gc = sess ? sess->aux_data : NULL;
data = AIM_ICQ_STATE_HIDEIP | status; /* yay for error checking ;^) */
+
+ if (gc && set_getbool(&gc->acc->set, "web_aware"))
+ data |= AIM_ICQ_STATE_WEBAWARE;
tlvlen = aim_addtlvtochain32(&tl, 0x0006, data);