# HG changeset patch # User Mikael Berthe # Date 1145941550 -7200 # Node ID 19c615fd071e39a7da7ca710c089e1714d0ee9f2 # Parent 0dbb2be109750f1776048a001cba3deaaaaa10cd New option "delete_on_reject" diff -r 0dbb2be10975 -r 19c615fd071e mcabber/mcabberrc.example --- a/mcabber/mcabberrc.example Sun Apr 23 11:21:24 2006 +0200 +++ b/mcabber/mcabberrc.example Tue Apr 25 07:05:50 2006 +0200 @@ -120,9 +120,17 @@ #set autoaway = 0 # Message blocking -# Set the 'block_unsubscribed' to 1 if you want to block (drop) incoming +# Set 'block_unsubscribed' to 1 if you want to block (drop) incoming # messages from people you haven't authorized. (default: 0) #set block_unsubscribed = 0 +# +# Set 'delete_on_reject' to 1 if you want to delete buddies from your +# roster when you reject their subscription request. (default: 0) +# (See documentation for /event) +# The buddy is actually deleted only if there is no other subscription, +# so for example if you are subscribed to this buddy's presence updates it +# won't be deleted. +#set delete_on_reject = 0 # Status messages # The "message" value will override all others, take care! diff -r 0dbb2be10975 -r 19c615fd071e mcabber/src/jabglue.c --- a/mcabber/src/jabglue.c Sun Apr 23 11:21:24 2006 +0200 +++ b/mcabber/src/jabglue.c Tue Apr 25 07:05:50 2006 +0200 @@ -1372,6 +1372,11 @@ // Reject subscription request jb_subscr_cancel_auth(barejid); buf = g_strdup_printf("<%s> won't receive your presence updates", barejid); + if (settings_opt_get_int("delete_on_reject")) { + // Remove the buddy from the roster if there is no current subscription + if (roster_getsubscription(barejid) == sub_none) + jb_delbuddy(barejid); + } } scr_WriteIncomingMessage(barejid, buf, 0, HBB_PREFIX_INFO); scr_LogPrint(LPRINT_LOGNORM, "%s", buf);