aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/jabber/jabber.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2006-10-02 19:46:57 +0200
committerWilmer van der Gaast <wilmer@gaast.net>2006-10-02 19:46:57 +0200
commit995913b4be70be6e07b8aa7661ac639e5fc0d6e7 (patch)
tree6af35350d96cfee47a57790eb9561638fb49ad7b /protocols/jabber/jabber.c
parent501b4e06244dbd333ee207ceade37592482e0fe7 (diff)
Added some error handling for the (not very complete yet) privacy list code.
Diffstat (limited to 'protocols/jabber/jabber.c')
-rw-r--r--protocols/jabber/jabber.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/protocols/jabber/jabber.c b/protocols/jabber/jabber.c
index 8ec6b70c..39d93d16 100644
--- a/protocols/jabber/jabber.c
+++ b/protocols/jabber/jabber.c
@@ -41,8 +41,7 @@ static void jabber_acc_init( account_t *acc )
s = set_add( &acc->set, "priority", "0", set_eval_priority, acc );
- s = set_add( &acc->set, "privacy_list", NULL, NULL, acc );
- /* TODO: Add evaluator. */
+ s = set_add( &acc->set, "privacy_list", NULL, set_eval_privacy_list, acc );
s = set_add( &acc->set, "resource", "BitlBee", NULL, acc );
s->flags |= ACC_SET_OFFLINE_ONLY;
@@ -231,12 +230,24 @@ static void jabber_keepalive( struct gaim_connection *gc )
static void jabber_add_permit( struct gaim_connection *gc, char *who )
{
- presence_send_request( gc, who, "subscribed" );
+ struct jabber_data *jd = gc->proto_data;
+
+ if( jd->flags & JFLAG_PRIVACY_BROKEN )
+ {
+ serv_got_crap( gc, "Privacy lists not supported by this server" );
+ return;
+ }
}
static void jabber_rem_permit( struct gaim_connection *gc, char *who )
{
- presence_send_request( gc, who, "unsubscribed" );
+ struct jabber_data *jd = gc->proto_data;
+
+ if( jd->flags & JFLAG_PRIVACY_BROKEN )
+ {
+ serv_got_crap( gc, "Privacy lists not supported by this server" );
+ return;
+ }
}
/* XMPP doesn't have both a block- and and allow-list, so these two functions