[prev in list] [next in list] [prev in thread] [next in thread]
List: asterisk-commits
Subject: [asterisk-commits] phsultan: trunk r105210 - /trunk/res/res_jabber.c
From: SVN commits to the Asterisk project <asterisk-commits () lists ! digium ! com>
Date: 2008-02-29 13:12:34
Message-ID: 20080229131235.04E15A9DA24 () lists ! digium ! internal
[Download RAW message or body]
Author: phsultan
Date: Fri Feb 29 07:12:34 2008
New Revision: 105210
URL: http://svn.digium.com/view/asterisk?view=rev&rev=105210
Log:
Automatically create new buddy upon reception of a presence stanza of
type subscribed.
(closes issue #12066)
Reported by: ffadaie
Patches:
branch-1.4-12066-1.diff uploaded by phsultan (license 73)
trunk-12066-1.diff uploaded by phsultan (license 73)
Tested by: ffadaie, phsultan
Modified:
trunk/res/res_jabber.c
Modified: trunk/res/res_jabber.c
URL: http://svn.digium.com/view/asterisk/trunk/res/res_jabber.c?view=diff&rev=105210&r1=105209&r2=105210
==============================================================================
--- trunk/res/res_jabber.c (original)
+++ trunk/res/res_jabber.c Fri Feb 29 07:12:34 2008
@@ -1723,8 +1723,11 @@
*/
static void aji_handle_subscribe(struct aji_client *client, ikspak *pak)
{
- if (pak->subtype == IKS_TYPE_SUBSCRIBE) {
- iks *presence = NULL, *status = NULL;
+ iks *presence = NULL, *status = NULL;
+ struct aji_buddy* buddy = NULL;
+
+ switch (pak->subtype) {
+ case IKS_TYPE_SUBSCRIBE:
presence = iks_new("presence");
status = iks_new("status");
if (presence && status) {
@@ -1744,24 +1747,15 @@
iks_delete(status);
if (client->component)
aji_set_presence(client, pak->from->full, iks_find_attrib(pak->x, "to"), \
client->status, client->statusmessage);
- }
-
- switch (pak->subtype) {
- case IKS_TYPE_SUBSCRIBE:
- ast_verb(5, "JABBER: Subscribe handled.\n");
- break;
case IKS_TYPE_SUBSCRIBED:
- ast_verb(5, "JABBER: Subscribed (%d) not handled.\n", pak->subtype);
- break;
- case IKS_TYPE_UNSUBSCRIBE:
- ast_verb(5, "JABBER: Unsubscribe (%d) not handled.\n", pak->subtype);
- break;
- case IKS_TYPE_UNSUBSCRIBED:
- ast_verb(5, "JABBER: Unsubscribed (%d) not handled.\n", pak->subtype);
- break;
- default: /*IKS_TYPE_ERROR: */
- ast_verb(5, "JABBER: Unknown pak subtype %d.\n", pak->subtype);
- break;
+ buddy = ASTOBJ_CONTAINER_FIND(&client->buddies, pak->from->partial);
+ if (!buddy && pak->from->partial) {
+ aji_create_buddy(pak->from->partial, client);
+ }
+ default:
+ if (option_verbose > 4) {
+ ast_verbose(VERBOSE_PREFIX_3 "JABBER: This is a subcription of type %i\n", \
pak->subtype); + }
}
}
_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--
asterisk-commits mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-commits
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic