annotate libpurple/protocols/jabber/useravatar.h @ 26863:0c1983abe991

Don't crash when a broken server sends us an occupant's presence with an empty resource. Refs #8361.
author Paul Aurich <paul@darkrain42.org>
date Sat, 02 May 2009 20:54:10 +0000
parents 80437c891f92
children 8c991e09efcb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25815
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
1 /*
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
2 * purple - Jabber Protocol Plugin
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
3 *
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
4 * Purple is the legal property of its developers, whose names are too numerous
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
5 * to list here. Please refer to the COPYRIGHT file distributed with this
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
6 * source distribution.
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
7 *
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
8 * This program is free software; you can redistribute it and/or modify
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
9 * it under the terms of the GNU General Public License as published by
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
11 * (at your option) any later version.
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
12 *
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
13 * This program is distributed in the hope that it will be useful,
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
16 * GNU General Public License for more details.
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
17 *
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
19 * along with this program; if not, write to the Free Software
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
21 *
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
22 */
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
23
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
24 #ifndef _PURPLE_JABBER_USERAVATAR_H_
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
25 #define _PURPLE_JABBER_USERAVATAR_H_
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
26
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
27 #include "jabber.h"
25817
9195955395b6 Only (re)publish XMPP avatars at login if the server's avatar differs
Paul Aurich <paul@darkrain42.org>
parents: 25815
diff changeset
28 #include "imgstore.h"
25815
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
29
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
30 /* Implementation of XEP-0084 */
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
31
25819
ba8f51cb3691 Support XEP-0084 (User Avatar) v1.1 alongside v0.12
Paul Aurich <paul@darkrain42.org>
parents: 25817
diff changeset
32 #define NS_AVATAR_0_12_DATA "http://www.xmpp.org/extensions/xep-0084.html#ns-data"
ba8f51cb3691 Support XEP-0084 (User Avatar) v1.1 alongside v0.12
Paul Aurich <paul@darkrain42.org>
parents: 25817
diff changeset
33 #define NS_AVATAR_0_12_METADATA "http://www.xmpp.org/extensions/xep-0084.html#ns-metadata"
ba8f51cb3691 Support XEP-0084 (User Avatar) v1.1 alongside v0.12
Paul Aurich <paul@darkrain42.org>
parents: 25817
diff changeset
34
ba8f51cb3691 Support XEP-0084 (User Avatar) v1.1 alongside v0.12
Paul Aurich <paul@darkrain42.org>
parents: 25817
diff changeset
35 #define NS_AVATAR_1_1_DATA "urn:xmpp:avatar:data"
ba8f51cb3691 Support XEP-0084 (User Avatar) v1.1 alongside v0.12
Paul Aurich <paul@darkrain42.org>
parents: 25817
diff changeset
36 #define NS_AVATAR_1_1_METADATA "urn:xmpp:avatar:metadata"
ba8f51cb3691 Support XEP-0084 (User Avatar) v1.1 alongside v0.12
Paul Aurich <paul@darkrain42.org>
parents: 25817
diff changeset
37
25815
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
38 void jabber_avatar_init(void);
26791
80437c891f92 Publish only 'new' xmlns of avatars and delete old.
Paul Aurich <paul@darkrain42.org>
parents: 25820
diff changeset
39 void jabber_avatar_set(JabberStream *js, PurpleStoredImage *img);
25815
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
40
25817
9195955395b6 Only (re)publish XMPP avatars at login if the server's avatar differs
Paul Aurich <paul@darkrain42.org>
parents: 25815
diff changeset
41 void jabber_avatar_fetch_mine(JabberStream *js);
9195955395b6 Only (re)publish XMPP avatars at login if the server's avatar differs
Paul Aurich <paul@darkrain42.org>
parents: 25815
diff changeset
42
25815
5dd25c58b65e Migrate the XMPP User Avatar (XEP-0084) code to its own file
Paul Aurich <paul@darkrain42.org>
parents:
diff changeset
43 #endif /* _PURPLE_JABBER_USERAVATAR_H_ */