Mon, 31 Aug 2009 20:23:51 +0000
Some unfinished code to take advantage of Google's relays
| 7014 | 1 | /** |
| 2 | * @file jabber.h | |
| 3 | * | |
| 15884 | 4 | * purple |
| 7014 | 5 | * |
|
28322
ac8fec1d2234
Remove specific copyright lines from the XMPP prpl.
Paul Aurich <darkrain42@pidgin.im>
parents:
28071
diff
changeset
|
6 | * Purple is the legal property of its developers, whose names are too numerous |
|
ac8fec1d2234
Remove specific copyright lines from the XMPP prpl.
Paul Aurich <darkrain42@pidgin.im>
parents:
28071
diff
changeset
|
7 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
ac8fec1d2234
Remove specific copyright lines from the XMPP prpl.
Paul Aurich <darkrain42@pidgin.im>
parents:
28071
diff
changeset
|
8 | * source distribution. |
| 2086 | 9 | * |
| 7014 | 10 | * This program is free software; you can redistribute it and/or modify |
| 11 | * it under the terms of the GNU General Public License as published by | |
| 12 | * the Free Software Foundation; either version 2 of the License, or | |
| 13 | * (at your option) any later version. | |
| 2086 | 14 | * |
| 7014 | 15 | * This program is distributed in the hope that it will be useful, |
| 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 18 | * GNU General Public License for more details. | |
| 2086 | 19 | * |
| 7014 | 20 | * You should have received a copy of the GNU General Public License |
| 21 | * along with this program; if not, write to the Free Software | |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
18449
diff
changeset
|
22 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 2086 | 23 | */ |
|
26703
17f9a4bef2a3
Further standardize the sentinel style (did someone say leading _s are theoretically a reserved namespace?)
Paul Aurich <darkrain42@pidgin.im>
parents:
26692
diff
changeset
|
24 | #ifndef PURPLE_JABBER_H_ |
|
17f9a4bef2a3
Further standardize the sentinel style (did someone say leading _s are theoretically a reserved namespace?)
Paul Aurich <darkrain42@pidgin.im>
parents:
26692
diff
changeset
|
25 | #define PURPLE_JABBER_H_ |
| 2086 | 26 | |
| 7014 | 27 | typedef enum { |
| 8312 | 28 | JABBER_CAP_NONE = 0, |
|
27746
4b3f015977d9
For contacts who advertise Entity Caps, check for XHTML-IM support. Refs #4650.
Paul Aurich <darkrain42@pidgin.im>
parents:
27636
diff
changeset
|
29 | /* JABBER_CAP_XHTML = 1 << 0, */ |
|
27430
1b6c99fc6278
Comment out the JABBER_CAP for XEP-0022.
Paul Aurich <darkrain42@pidgin.im>
parents:
27304
diff
changeset
|
30 | /* JABBER_CAP_COMPOSING = 1 << 1, */ |
| 8312 | 31 | JABBER_CAP_SI = 1 << 2, |
| 32 | JABBER_CAP_SI_FILE_XFER = 1 << 3, | |
| 33 | JABBER_CAP_BYTESTREAMS = 1 << 4, | |
| 34 | JABBER_CAP_IBB = 1 << 5, | |
| 11393 | 35 | JABBER_CAP_CHAT_STATES = 1 << 6, |
| 11675 | 36 | JABBER_CAP_IQ_SEARCH = 1 << 7, |
| 37 | JABBER_CAP_IQ_REGISTER = 1 << 8, | |
| 15225 | 38 | |
|
19898
218e4bb04853
Fix mingw build of xmpp prpl
Daniel Atallah <datallah@pidgin.im>
parents:
19897
diff
changeset
|
39 | /* Google Talk extensions: |
| 15225 | 40 | * http://code.google.com/apis/talk/jep_extensions/extensions.html |
| 41 | */ | |
| 42 | JABBER_CAP_GMAIL_NOTIFY = 1 << 9, | |
| 15265 | 43 | JABBER_CAP_GOOGLE_ROSTER = 1 << 10, |
| 15225 | 44 | |
|
17779
773326802e26
Fixed whitespace to match the coding convention used in libpurple
Andreas Monitzer <am@adiumx.com>
parents:
17773
diff
changeset
|
45 | JABBER_CAP_PING = 1 << 11, |
|
17816
1b7362b4a7a2
Implemented ad-hoc commands for the buddy action menu (untested), implemented the receiving end of XEP-0115: Entity Capabilities. Note that this seems not to be reliable right now, since some clients seem to have a very broken [read: completely non-functional] implementation (most notably Gajim and the py-transports).
Andreas Monitzer <am@adiumx.com>
parents:
17815
diff
changeset
|
46 | JABBER_CAP_ADHOC = 1 << 12, |
|
25290
033942580f51
Commit patch #7670: Implement xep-0191 (simple blocking) for jabber protocols
Mark Doliner <markdoliner@pidgin.im>
parents:
24012
diff
changeset
|
47 | JABBER_CAP_BLOCKING = 1 << 13, |
|
033942580f51
Commit patch #7670: Implement xep-0191 (simple blocking) for jabber protocols
Mark Doliner <markdoliner@pidgin.im>
parents:
24012
diff
changeset
|
48 | |
|
26583
e115c7ef2fcf
Applied disco-2.patch from nops with some modifications:
Paul Aurich <darkrain42@pidgin.im>
parents:
26042
diff
changeset
|
49 | JABBER_CAP_ITEMS = 1 << 14, |
|
e115c7ef2fcf
Applied disco-2.patch from nops with some modifications:
Paul Aurich <darkrain42@pidgin.im>
parents:
26042
diff
changeset
|
50 | |
| 8312 | 51 | JABBER_CAP_RETRIEVED = 1 << 31 |
| 52 | } JabberCapabilities; | |
| 53 | ||
|
17800
39a0f9ed0e26
Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents:
17783
diff
changeset
|
54 | typedef struct _JabberStream JabberStream; |
|
39a0f9ed0e26
Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents:
17783
diff
changeset
|
55 | |
| 13808 | 56 | #include <libxml/parser.h> |
| 7014 | 57 | #include <glib.h> |
|
14013
86dac5633bd9
[gaim-migrate @ 16496]
Mark Doliner <markdoliner@pidgin.im>
parents:
13808
diff
changeset
|
58 | #include "circbuffer.h" |
| 7014 | 59 | #include "connection.h" |
|
26741
3e50f27057d5
propagate from branch 'im.pidgin.pidgin' (head e715fa3fa4fa07f71af6b63a50988c85144a8e9e)
Paul Aurich <darkrain42@pidgin.im>
diff
changeset
|
60 | #include "dnsquery.h" |
|
14370
12ef3d4096ee
[gaim-migrate @ 16998]
Mark Doliner <markdoliner@pidgin.im>
parents:
14324
diff
changeset
|
61 | #include "dnssrv.h" |
|
26106
afdca955b6f4
propagate from branch 'im.pidgin.pidgin' (head 0cff24bf7dbab39c8efd9ae15752966bda375780)
Michael Ruprecht <maiku@pidgin.im>
diff
changeset
|
62 | #include "media.h" |
|
afdca955b6f4
propagate from branch 'im.pidgin.pidgin' (head 0cff24bf7dbab39c8efd9ae15752966bda375780)
Michael Ruprecht <maiku@pidgin.im>
diff
changeset
|
63 | #include "mediamanager.h" |
| 8113 | 64 | #include "roomlist.h" |
| 7014 | 65 | #include "sslconn.h" |
| 2086 | 66 | |
|
25817
09d6a40a341d
Pass IQ handlers type, from, id, and the child node
Paul Aurich <darkrain42@pidgin.im>
parents:
25290
diff
changeset
|
67 | #include "iq.h" |
| 7014 | 68 | #include "jutil.h" |
| 69 | #include "xmlnode.h" | |
|
17800
39a0f9ed0e26
Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents:
17783
diff
changeset
|
70 | #include "buddy.h" |
| 23610 | 71 | #include "bosh.h" |
| 2086 | 72 | |
| 12508 | 73 | #ifdef HAVE_CYRUS_SASL |
| 74 | #include <sasl/sasl.h> | |
| 75 | #endif | |
| 76 | ||
|
23592
ef05814b1f67
* changing caps node namespace. According to version 1.5 of XEP-0115 it should be a real URL to client's homepage.
Tobias Markmann <tfar@soc.pidgin.im>
parents:
23589
diff
changeset
|
77 | #define CAPS0115_NODE "http://pidgin.im/" |
| 13385 | 78 | |
|
20401
8aaa593a6269
Comment a partial implementation of the libpurple attention API for
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19898
diff
changeset
|
79 | /* Index into attention_types list */ |
|
8aaa593a6269
Comment a partial implementation of the libpurple attention API for
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19898
diff
changeset
|
80 | #define JABBER_BUZZ 0 |
|
8aaa593a6269
Comment a partial implementation of the libpurple attention API for
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19898
diff
changeset
|
81 | |
|
27142
e91d5a59ba48
I still don't know why this ever compiled properly.
Paul Aurich <darkrain42@pidgin.im>
parents:
27103
diff
changeset
|
82 | extern PurplePlugin *jabber_plugin; |
|
27103
815af6acd59b
Add jabber signals for IQ, Message, and Presence stanzas. Lightly tested (it doesn't crash [Prove me wrong!]) and as you'll note, I refer to documentation that doesn't yet exist.
Paul Aurich <darkrain42@pidgin.im>
parents:
27028
diff
changeset
|
83 | |
| 8312 | 84 | typedef enum { |
| 7014 | 85 | JABBER_STREAM_OFFLINE, |
| 86 | JABBER_STREAM_CONNECTING, | |
| 87 | JABBER_STREAM_INITIALIZING, | |
|
17813
c5cc8ebf62c0
Introduced an additional connection stage to the jabber connection progress in order to be able to tell in the application, whether SSL/TLS is enabled, so it can display a lock icon next to the connection.
Andreas Monitzer <am@adiumx.com>
parents:
17806
diff
changeset
|
88 | JABBER_STREAM_INITIALIZING_ENCRYPTION, |
| 7014 | 89 | JABBER_STREAM_AUTHENTICATING, |
|
28379
df144a809a92
jabber: Fix using BOSH and legacy auth together. Closes #9990.
Paul Aurich <darkrain42@pidgin.im>
parents:
28322
diff
changeset
|
90 | JABBER_STREAM_POST_AUTH, |
| 7014 | 91 | JABBER_STREAM_CONNECTED |
| 92 | } JabberStreamState; | |
| 2086 | 93 | |
|
17800
39a0f9ed0e26
Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents:
17783
diff
changeset
|
94 | struct _JabberStream |
| 2086 | 95 | { |
| 7014 | 96 | int fd; |
| 2086 | 97 | |
| 15884 | 98 | PurpleSrvQueryData *srv_query_data; |
|
14175
2bc5a80c5071
[gaim-migrate @ 16747]
Mark Doliner <markdoliner@pidgin.im>
parents:
14062
diff
changeset
|
99 | |
| 13808 | 100 | xmlParserCtxt *context; |
| 7014 | 101 | xmlnode *current; |
| 2086 | 102 | |
| 7014 | 103 | enum { |
| 104 | JABBER_PROTO_0_9, | |
| 105 | JABBER_PROTO_1_0 | |
| 106 | } protocol_version; | |
| 7291 | 107 | enum { |
| 8296 | 108 | JABBER_AUTH_UNKNOWN, |
| 7291 | 109 | JABBER_AUTH_DIGEST_MD5, |
| 8296 | 110 | JABBER_AUTH_PLAIN, |
| 12508 | 111 | JABBER_AUTH_IQ_AUTH, |
| 112 | JABBER_AUTH_CYRUS | |
| 7291 | 113 | } auth_type; |
| 7014 | 114 | char *stream_id; |
| 115 | JabberStreamState state; | |
| 2086 | 116 | |
| 7014 | 117 | /* SASL authentication */ |
| 118 | char *expected_rspauth; | |
| 2086 | 119 | |
| 7014 | 120 | GHashTable *buddies; |
| 2086 | 121 | |
|
23975
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
122 | /* |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
123 | * This boolean was added to eliminate a heinous bug where we would |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
124 | * get into a loop with the server and move a buddy back and forth |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
125 | * from one group to another. |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
126 | * |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
127 | * The sequence goes something like this: |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
128 | * 1. Our resource and another resource both approve an authorization |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
129 | * request at the exact same time. We put the buddy in group A and |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
130 | * the other resource put the buddy in group B. |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
131 | * 2. The server receives the roster add for group B and sends us a |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
132 | * roster push. |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
133 | * 3. We receive this roster push and modify our local blist. This |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
134 | * triggers us to send a roster add for group B. |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
135 | * 4. The server recieves our earlier roster add for group A and sends |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
136 | * us a roster push. |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
137 | * 5. We receive this roster push and modify our local blist. This |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
138 | * triggers us to send a roster add for group A. |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
139 | * 6. The server receives our earlier roster add for group B and sends |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
140 | * us a roster push. |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
141 | * (repeat steps 3 through 6 ad infinitum) |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
142 | * |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
143 | * This boolean is used to short-circuit the sending of a roster add |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
144 | * when we receive a roster push. |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
145 | * |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
146 | * See these bug reports: |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
147 | * http://trac.adiumx.com/ticket/8834 |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
148 | * http://developer.pidgin.im/ticket/5484 |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
149 | * http://developer.pidgin.im/ticket/6188 |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
150 | */ |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
151 | gboolean currently_parsing_roster_push; |
|
8ee397f04ca9
We talked about this and decided it was probably cleaner to not use
Mark Doliner <markdoliner@pidgin.im>
parents:
23910
diff
changeset
|
152 | |
| 7014 | 153 | GHashTable *chats; |
| 8043 | 154 | GList *chat_servers; |
| 15884 | 155 | PurpleRoomlist *roomlist; |
| 11675 | 156 | GList *user_directories; |
| 2086 | 157 | |
| 8312 | 158 | GHashTable *iq_callbacks; |
| 7014 | 159 | int next_id; |
| 2086 | 160 | |
|
21688
a16385b34219
Implement more of XEP-0065 to support sending files through a proxy. To avoid adding strings this close to a release, it only supports using a proxy that is discovered from the server, but we'll include an account option to manually specify a ft proxy in the next release. Lots of this is based on a patch from galt - Fixes #3730, #116, #1768
Daniel Atallah <datallah@pidgin.im>
parents:
21279
diff
changeset
|
161 | GList *bs_proxies; |
| 7395 | 162 | GList *oob_file_transfers; |
| 7170 | 163 | GList *file_transfers; |
| 164 | ||
|
14453
1cc75906700c
[gaim-migrate @ 17098]
Mark Doliner <markdoliner@pidgin.im>
parents:
14375
diff
changeset
|
165 | time_t idle; |
|
24679
1b6b57d5b4e1
Change jabber_presence_send to not take an extra argument to force idle updating
Marcus Lundblad <malu@pidgin.im>
parents:
24012
diff
changeset
|
166 | time_t old_idle; |
|
14453
1cc75906700c
[gaim-migrate @ 17098]
Mark Doliner <markdoliner@pidgin.im>
parents:
14375
diff
changeset
|
167 | |
| 7014 | 168 | JabberID *user; |
|
28071
a0706162fefd
jabber: Store the "own JabberBuddy" in the JabberStream* struct.
Paul Aurich <darkrain42@pidgin.im>
parents:
28064
diff
changeset
|
169 | JabberBuddy *user_jb; |
|
a0706162fefd
jabber: Store the "own JabberBuddy" in the JabberStream* struct.
Paul Aurich <darkrain42@pidgin.im>
parents:
28064
diff
changeset
|
170 | |
| 15884 | 171 | PurpleConnection *gc; |
| 172 | PurpleSslConnection *gsc; | |
| 7072 | 173 | |
| 174 | gboolean registration; | |
| 10189 | 175 | |
|
25811
57012229a242
Use a JabberStream variable instead of a setting for the initial hash
Paul Aurich <darkrain42@pidgin.im>
parents:
25290
diff
changeset
|
176 | char *initial_avatar_hash; |
| 10189 | 177 | char *avatar_hash; |
| 10941 | 178 | GSList *pending_avatar_requests; |
| 12508 | 179 | |
|
15363
f6b9d1e3d0cb
[gaim-migrate @ 18092]
Evan Schoenberg <evands@pidgin.im>
parents:
15265
diff
changeset
|
180 | GSList *pending_buddy_info_requests; |
|
15800
2d0ec4fe2681
pass the correct domain to cyrus sasl (sf patch 1663064)
Nathan Walp <nwalp@pidgin.im>
parents:
15435
diff
changeset
|
181 | |
| 15884 | 182 | PurpleCircBuffer *write_buffer; |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
12508
diff
changeset
|
183 | guint writeh; |
|
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
12508
diff
changeset
|
184 | |
| 14062 | 185 | gboolean reinit; |
| 186 | ||
| 15225 | 187 | JabberCapabilities server_caps; |
| 15197 | 188 | gboolean googletalk; |
| 189 | char *server_name; | |
|
15800
2d0ec4fe2681
pass the correct domain to cyrus sasl (sf patch 1663064)
Nathan Walp <nwalp@pidgin.im>
parents:
15435
diff
changeset
|
190 | |
| 15225 | 191 | char *gmail_last_time; |
| 192 | char *gmail_last_tid; | |
| 15197 | 193 | |
|
21688
a16385b34219
Implement more of XEP-0065 to support sending files through a proxy. To avoid adding strings this close to a release, it only supports using a proxy that is discovered from the server, but we'll include an account option to manually specify a ft proxy in the next release. Lots of this is based on a patch from galt - Fixes #3730, #116, #1768
Daniel Atallah <datallah@pidgin.im>
parents:
21279
diff
changeset
|
194 | char *serverFQDN; |
|
18449
2d2df64f4303
applied changes from f9186fabb483b56a9d7e8fb7241b2520e9930413
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18235
diff
changeset
|
195 | |
| 12508 | 196 | /* OK, this stays at the end of the struct, so plugins can depend |
| 197 | * on the rest of the stuff being in the right place | |
| 198 | */ | |
| 199 | #ifdef HAVE_CYRUS_SASL | |
| 200 | sasl_conn_t *sasl; | |
| 201 | sasl_callback_t *sasl_cb; | |
|
18235
60a9bd99f035
server-side jabber vcards now take precedence over local vcards, so
Nathan Walp <nwalp@pidgin.im>
parents:
16302
diff
changeset
|
202 | #else /* keep the struct the same size */ |
|
60a9bd99f035
server-side jabber vcards now take precedence over local vcards, so
Nathan Walp <nwalp@pidgin.im>
parents:
16302
diff
changeset
|
203 | void *sasl; |
|
60a9bd99f035
server-side jabber vcards now take precedence over local vcards, so
Nathan Walp <nwalp@pidgin.im>
parents:
16302
diff
changeset
|
204 | void *sasl_cb; |
|
60a9bd99f035
server-side jabber vcards now take precedence over local vcards, so
Nathan Walp <nwalp@pidgin.im>
parents:
16302
diff
changeset
|
205 | #endif |
|
22800
0288a22eb85a
The next version of RFC 3920, the draft of which can be found at http://www.xmpp.org/internet-drafts/draft-saintandre-rfc3920bis-04.html, and subsequent email clarifications with Peter Saint-Andre and Alexey Melnikov indicate that we should be trying the next mechanism in line after one mechanism fails. We should also be ensuring that the mech list is sorted in order of descending security, which we don't do yet; however, servers are supposed to send us a sorted list, as well, so this isn't a major issue.
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22155
diff
changeset
|
206 | /* did someone say something about the end of the struct? */ |
|
0288a22eb85a
The next version of RFC 3920, the draft of which can be found at http://www.xmpp.org/internet-drafts/draft-saintandre-rfc3920bis-04.html, and subsequent email clarifications with Peter Saint-Andre and Alexey Melnikov indicate that we should be trying the next mechanism in line after one mechanism fails. We should also be ensuring that the mech list is sorted in order of descending security, which we don't do yet; however, servers are supposed to send us a sorted list, as well, so this isn't a major issue.
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22155
diff
changeset
|
207 | #ifdef HAVE_CYRUS_SASL |
|
0288a22eb85a
The next version of RFC 3920, the draft of which can be found at http://www.xmpp.org/internet-drafts/draft-saintandre-rfc3920bis-04.html, and subsequent email clarifications with Peter Saint-Andre and Alexey Melnikov indicate that we should be trying the next mechanism in line after one mechanism fails. We should also be ensuring that the mech list is sorted in order of descending security, which we don't do yet; however, servers are supposed to send us a sorted list, as well, so this isn't a major issue.
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22155
diff
changeset
|
208 | const char *current_mech; |
|
0288a22eb85a
The next version of RFC 3920, the draft of which can be found at http://www.xmpp.org/internet-drafts/draft-saintandre-rfc3920bis-04.html, and subsequent email clarifications with Peter Saint-Andre and Alexey Melnikov indicate that we should be trying the next mechanism in line after one mechanism fails. We should also be ensuring that the mech list is sorted in order of descending security, which we don't do yet; however, servers are supposed to send us a sorted list, as well, so this isn't a major issue.
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22155
diff
changeset
|
209 | int auth_fail_count; |
|
0288a22eb85a
The next version of RFC 3920, the draft of which can be found at http://www.xmpp.org/internet-drafts/draft-saintandre-rfc3920bis-04.html, and subsequent email clarifications with Peter Saint-Andre and Alexey Melnikov indicate that we should be trying the next mechanism in line after one mechanism fails. We should also be ensuring that the mech list is sorted in order of descending security, which we don't do yet; however, servers are supposed to send us a sorted list, as well, so this isn't a major issue.
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22155
diff
changeset
|
210 | #endif |
|
18235
60a9bd99f035
server-side jabber vcards now take precedence over local vcards, so
Nathan Walp <nwalp@pidgin.im>
parents:
16302
diff
changeset
|
211 | |
| 12508 | 212 | int sasl_state; |
| 213 | int sasl_maxbuf; | |
| 214 | GString *sasl_mechs; | |
|
18235
60a9bd99f035
server-side jabber vcards now take precedence over local vcards, so
Nathan Walp <nwalp@pidgin.im>
parents:
16302
diff
changeset
|
215 | |
|
18912
606597744812
Added unregistering XMPP accounts. This requires a new prpl-struct entry, but I got an ok for that on the mailing list.
Andreas Monitzer <am@adiumx.com>
parents:
18719
diff
changeset
|
216 | gboolean unregistration; |
|
18994
310e9d853e2b
Implemented a callback for unregistering, mirroring the registration callback. Since this is a new API, I can do it properly by passing it right in the unregister function call, instead of having a separate function for setting it.
Andreas Monitzer <am@adiumx.com>
parents:
18912
diff
changeset
|
217 | PurpleAccountUnregistrationCb unregistration_cb; |
|
310e9d853e2b
Implemented a callback for unregistering, mirroring the registration callback. Since this is a new API, I can do it properly by passing it right in the unregister function call, instead of having a separate function for setting it.
Andreas Monitzer <am@adiumx.com>
parents:
18912
diff
changeset
|
218 | void *unregistration_user_data; |
|
26042
4dabdb5fe213
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25290
diff
changeset
|
219 | |
|
18235
60a9bd99f035
server-side jabber vcards now take precedence over local vcards, so
Nathan Walp <nwalp@pidgin.im>
parents:
16302
diff
changeset
|
220 | gboolean vcard_fetched; |
|
28046
8b6fcc2c95b3
jabber: Fix setting Google Talk avatar at login.
Paul Aurich <darkrain42@pidgin.im>
parents:
27747
diff
changeset
|
221 | /* Timer at login to push updated avatar */ |
|
8b6fcc2c95b3
jabber: Fix setting Google Talk avatar at login.
Paul Aurich <darkrain42@pidgin.im>
parents:
27747
diff
changeset
|
222 | guint vcard_timer; |
| 12508 | 223 | |
|
24716
047f5075ca58
Entity Capabilities must be per-JabberStream
Paul Aurich <darkrain42@pidgin.im>
parents:
24715
diff
changeset
|
224 | /* Entity Capabilities hash */ |
|
047f5075ca58
Entity Capabilities must be per-JabberStream
Paul Aurich <darkrain42@pidgin.im>
parents:
24715
diff
changeset
|
225 | char *caps_hash; |
|
047f5075ca58
Entity Capabilities must be per-JabberStream
Paul Aurich <darkrain42@pidgin.im>
parents:
24715
diff
changeset
|
226 | |
|
17779
773326802e26
Fixed whitespace to match the coding convention used in libpurple
Andreas Monitzer <am@adiumx.com>
parents:
17773
diff
changeset
|
227 | /* does the local server support PEP? */ |
|
773326802e26
Fixed whitespace to match the coding convention used in libpurple
Andreas Monitzer <am@adiumx.com>
parents:
17773
diff
changeset
|
228 | gboolean pep; |
| 2086 | 229 | |
|
17824
52683dfc1f7d
Added the option to enable/disable buzz via a status setting. It's default off for the pidgin folks.
Andreas Monitzer <am@adiumx.com>
parents:
17817
diff
changeset
|
230 | /* Is Buzz enabled? */ |
|
52683dfc1f7d
Added the option to enable/disable buzz via a status setting. It's default off for the pidgin folks.
Andreas Monitzer <am@adiumx.com>
parents:
17817
diff
changeset
|
231 | gboolean allowBuzz; |
|
26042
4dabdb5fe213
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25290
diff
changeset
|
232 | |
|
17817
8e0f271aab78
The server's ad-hoc commands are now listed in the account's action menu. Note that this requires an additional field in the _PurplePluginAction struct. There's no other way, since there was no way to supply user_data, and dynamically created functions are not supported by C. This should be fine, since that struct is only malloced in purple_plugin_action_new, which is part of the core. Applications have to either pass the struct unmodified, or restore the user_data pointer if the action is recreated when necessary (as is the case in Adium).
Andreas Monitzer <am@adiumx.com>
parents:
17816
diff
changeset
|
233 | /* A list of JabberAdHocCommands supported by the server */ |
|
8e0f271aab78
The server's ad-hoc commands are now listed in the account's action menu. Note that this requires an additional field in the _PurplePluginAction struct. There's no other way, since there was no way to supply user_data, and dynamically created functions are not supported by C. This should be fine, since that struct is only malloced in purple_plugin_action_new, which is part of the core. Applications have to either pass the struct unmodified, or restore the user_data pointer if the action is recreated when necessary (as is the case in Adium).
Andreas Monitzer <am@adiumx.com>
parents:
17816
diff
changeset
|
234 | GList *commands; |
|
26042
4dabdb5fe213
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25290
diff
changeset
|
235 | |
|
17800
39a0f9ed0e26
Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents:
17783
diff
changeset
|
236 | /* last presence update to check for differences */ |
|
39a0f9ed0e26
Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents:
17783
diff
changeset
|
237 | JabberBuddyState old_state; |
|
39a0f9ed0e26
Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents:
17783
diff
changeset
|
238 | char *old_msg; |
|
39a0f9ed0e26
Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents:
17783
diff
changeset
|
239 | int old_priority; |
|
39a0f9ed0e26
Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents:
17783
diff
changeset
|
240 | char *old_avatarhash; |
|
26042
4dabdb5fe213
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25290
diff
changeset
|
241 | |
|
17800
39a0f9ed0e26
Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents:
17783
diff
changeset
|
242 | /* same for user tune */ |
|
39a0f9ed0e26
Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents:
17783
diff
changeset
|
243 | char *old_artist; |
|
39a0f9ed0e26
Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents:
17783
diff
changeset
|
244 | char *old_title; |
|
39a0f9ed0e26
Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents:
17783
diff
changeset
|
245 | char *old_source; |
|
39a0f9ed0e26
Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents:
17783
diff
changeset
|
246 | char *old_uri; |
|
39a0f9ed0e26
Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents:
17783
diff
changeset
|
247 | int old_length; |
|
39a0f9ed0e26
Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents:
17783
diff
changeset
|
248 | char *old_track; |
|
26042
4dabdb5fe213
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25290
diff
changeset
|
249 | |
|
22155
7c2034388bdb
Now checking the hostname supplied by the user, or the host-part of the JID when no host name is given against the CN of the domain. This makes libpurple comply to the RFC. Fixes http://trac.adiumx.com/ticket/8787
Andreas Monitzer <am@adiumx.com>
parents:
22096
diff
changeset
|
250 | char *certificate_CN; |
|
26042
4dabdb5fe213
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25290
diff
changeset
|
251 | |
|
22096
0d28b254d322
Keep track of the keepalive timeout source so it can be removed when the account disconnects. This prevents a possible crash if the timeout fired after the account disconnected.
Evan Schoenberg <evands@pidgin.im>
parents:
21929
diff
changeset
|
252 | /* A purple timeout tag for the keepalive */ |
|
27304
b2dc447b8c0b
The XMPP keepalive timeout handle needs to be a guint.
Paul Aurich <darkrain42@pidgin.im>
parents:
27225
diff
changeset
|
253 | guint keepalive_timeout; |
|
27155
53502d71efdd
Remove trailing whitespace that has snuck in.
Paul Aurich <darkrain42@pidgin.im>
parents:
27142
diff
changeset
|
254 | |
|
23910
f8989c154a60
Add support for using multiple "xmpp-client" records on a domain, by trying the
Daniel Atallah <datallah@pidgin.im>
parents:
22800
diff
changeset
|
255 | PurpleSrvResponse *srv_rec; |
|
f8989c154a60
Add support for using multiple "xmpp-client" records on a domain, by trying the
Daniel Atallah <datallah@pidgin.im>
parents:
22800
diff
changeset
|
256 | guint srv_rec_idx; |
|
f8989c154a60
Add support for using multiple "xmpp-client" records on a domain, by trying the
Daniel Atallah <datallah@pidgin.im>
parents:
22800
diff
changeset
|
257 | guint max_srv_rec_idx; |
|
23954
ca45bedce4a8
propagate from branch 'im.pidgin.pidgin' (head 918c72f0ff7f7e3c545d3baf6368ccbd2ba21427)
Tobias Markmann <tfar@soc.pidgin.im>
diff
changeset
|
258 | |
|
24714
2ba5d09cf046
propagate from branch 'im.pidgin.pidgin' (head 134bd2024c88a611caa45dad3b06a53c12a82ed3)
Paul Aurich <darkrain42@pidgin.im>
diff
changeset
|
259 | /* BOSH stuff */ |
|
24872
68de61b562f6
Jabber BOSH: Many fixes
Paul Aurich <darkrain42@pidgin.im>
parents:
24737
diff
changeset
|
260 | PurpleBOSHConnection *bosh; |
|
24714
2ba5d09cf046
propagate from branch 'im.pidgin.pidgin' (head 134bd2024c88a611caa45dad3b06a53c12a82ed3)
Paul Aurich <darkrain42@pidgin.im>
diff
changeset
|
261 | |
|
24012
913d6f18cb95
Restrict buddy icon downloads from arbitrary urls to 200kB.
Daniel Atallah <datallah@pidgin.im>
parents:
23975
diff
changeset
|
262 | /** |
|
913d6f18cb95
Restrict buddy icon downloads from arbitrary urls to 200kB.
Daniel Atallah <datallah@pidgin.im>
parents:
23975
diff
changeset
|
263 | * This linked list contains PurpleUtilFetchUrlData structs |
|
913d6f18cb95
Restrict buddy icon downloads from arbitrary urls to 200kB.
Daniel Atallah <datallah@pidgin.im>
parents:
23975
diff
changeset
|
264 | * for when we lookup buddy icons from a url |
|
913d6f18cb95
Restrict buddy icon downloads from arbitrary urls to 200kB.
Daniel Atallah <datallah@pidgin.im>
parents:
23975
diff
changeset
|
265 | */ |
|
913d6f18cb95
Restrict buddy icon downloads from arbitrary urls to 200kB.
Daniel Atallah <datallah@pidgin.im>
parents:
23975
diff
changeset
|
266 | GSList *url_datas; |
|
26583
e115c7ef2fcf
Applied disco-2.patch from nops with some modifications:
Paul Aurich <darkrain42@pidgin.im>
parents:
26042
diff
changeset
|
267 | |
|
23698
0815965bd80b
Moved jingle.c global variable "sessions" into JabberStream.
Michael Ruprecht <maiku@pidgin.im>
parents:
23696
diff
changeset
|
268 | /* keep a hash table of JingleSessions */ |
|
0815965bd80b
Moved jingle.c global variable "sessions" into JabberStream.
Michael Ruprecht <maiku@pidgin.im>
parents:
23696
diff
changeset
|
269 | GHashTable *sessions; |
|
26286
443041606e32
Add automatic discovery of GTalk STUN servers when using a Gtalk account
Marcus Lundblad <malu@pidgin.im>
parents:
26215
diff
changeset
|
270 | |
|
443041606e32
Add automatic discovery of GTalk STUN servers when using a Gtalk account
Marcus Lundblad <malu@pidgin.im>
parents:
26215
diff
changeset
|
271 | /* maybe this should only be present when USE_VV? */ |
|
443041606e32
Add automatic discovery of GTalk STUN servers when using a Gtalk account
Marcus Lundblad <malu@pidgin.im>
parents:
26215
diff
changeset
|
272 | gchar *stun_ip; |
|
443041606e32
Add automatic discovery of GTalk STUN servers when using a Gtalk account
Marcus Lundblad <malu@pidgin.im>
parents:
26215
diff
changeset
|
273 | int stun_port; |
|
443041606e32
Add automatic discovery of GTalk STUN servers when using a Gtalk account
Marcus Lundblad <malu@pidgin.im>
parents:
26215
diff
changeset
|
274 | PurpleDnsQueryData *stun_query; |
|
28445
c3dbe0b64f44
Some unfinished code to take advantage of Google's relays
Marcus Lundblad <malu@pidgin.im>
parents:
28379
diff
changeset
|
275 | |
|
c3dbe0b64f44
Some unfinished code to take advantage of Google's relays
Marcus Lundblad <malu@pidgin.im>
parents:
28379
diff
changeset
|
276 | /* stuff for Google's relay handling */ |
|
c3dbe0b64f44
Some unfinished code to take advantage of Google's relays
Marcus Lundblad <malu@pidgin.im>
parents:
28379
diff
changeset
|
277 | gchar *google_relay_token; |
|
c3dbe0b64f44
Some unfinished code to take advantage of Google's relays
Marcus Lundblad <malu@pidgin.im>
parents:
28379
diff
changeset
|
278 | gchar *google_relay_host; |
|
c3dbe0b64f44
Some unfinished code to take advantage of Google's relays
Marcus Lundblad <malu@pidgin.im>
parents:
28379
diff
changeset
|
279 | PurpleUtilFetchUrlData *google_relay_request; /* the HTTP request to get */ |
|
c3dbe0b64f44
Some unfinished code to take advantage of Google's relays
Marcus Lundblad <malu@pidgin.im>
parents:
28379
diff
changeset
|
280 | /* relay info */ |
|
17800
39a0f9ed0e26
Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents:
17783
diff
changeset
|
281 | }; |
| 12508 | 282 | |
|
23586
e495a4623f76
Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents:
22800
diff
changeset
|
283 | typedef gboolean (JabberFeatureEnabled)(JabberStream *js, const gchar *namespace); |
| 2086 | 284 | |
|
17783
2687df1ca202
PEP publishing features are now only announced in disco#info when PEP is supported by the server.
Andreas Monitzer <am@adiumx.com>
parents:
17779
diff
changeset
|
285 | typedef struct _JabberFeature |
|
2687df1ca202
PEP publishing features are now only announced in disco#info when PEP is supported by the server.
Andreas Monitzer <am@adiumx.com>
parents:
17779
diff
changeset
|
286 | { |
|
2687df1ca202
PEP publishing features are now only announced in disco#info when PEP is supported by the server.
Andreas Monitzer <am@adiumx.com>
parents:
17779
diff
changeset
|
287 | gchar *namespace; |
|
2687df1ca202
PEP publishing features are now only announced in disco#info when PEP is supported by the server.
Andreas Monitzer <am@adiumx.com>
parents:
17779
diff
changeset
|
288 | JabberFeatureEnabled *is_enabled; |
|
2687df1ca202
PEP publishing features are now only announced in disco#info when PEP is supported by the server.
Andreas Monitzer <am@adiumx.com>
parents:
17779
diff
changeset
|
289 | } JabberFeature; |
|
2687df1ca202
PEP publishing features are now only announced in disco#info when PEP is supported by the server.
Andreas Monitzer <am@adiumx.com>
parents:
17779
diff
changeset
|
290 | |
|
23586
e495a4623f76
Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents:
22800
diff
changeset
|
291 | typedef struct _JabberIdentity |
|
e495a4623f76
Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents:
22800
diff
changeset
|
292 | { |
|
e495a4623f76
Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents:
22800
diff
changeset
|
293 | gchar *category; |
|
e495a4623f76
Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents:
22800
diff
changeset
|
294 | gchar *type; |
|
e495a4623f76
Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents:
22800
diff
changeset
|
295 | gchar *name; |
|
23589
91775cc26843
* defined JabberCapsIdentity as struct _JabberIdentity
Tobias Markmann <tfar@soc.pidgin.im>
parents:
23586
diff
changeset
|
296 | gchar *lang; |
|
23586
e495a4623f76
Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents:
22800
diff
changeset
|
297 | } JabberIdentity; |
|
e495a4623f76
Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents:
22800
diff
changeset
|
298 | |
|
21688
a16385b34219
Implement more of XEP-0065 to support sending files through a proxy. To avoid adding strings this close to a release, it only supports using a proxy that is discovered from the server, but we'll include an account option to manually specify a ft proxy in the next release. Lots of this is based on a patch from galt - Fixes #3730, #116, #1768
Daniel Atallah <datallah@pidgin.im>
parents:
21279
diff
changeset
|
299 | typedef struct _JabberBytestreamsStreamhost { |
|
a16385b34219
Implement more of XEP-0065 to support sending files through a proxy. To avoid adding strings this close to a release, it only supports using a proxy that is discovered from the server, but we'll include an account option to manually specify a ft proxy in the next release. Lots of this is based on a patch from galt - Fixes #3730, #116, #1768
Daniel Atallah <datallah@pidgin.im>
parents:
21279
diff
changeset
|
300 | char *jid; |
|
a16385b34219
Implement more of XEP-0065 to support sending files through a proxy. To avoid adding strings this close to a release, it only supports using a proxy that is discovered from the server, but we'll include an account option to manually specify a ft proxy in the next release. Lots of this is based on a patch from galt - Fixes #3730, #116, #1768
Daniel Atallah <datallah@pidgin.im>
parents:
21279
diff
changeset
|
301 | char *host; |
|
a16385b34219
Implement more of XEP-0065 to support sending files through a proxy. To avoid adding strings this close to a release, it only supports using a proxy that is discovered from the server, but we'll include an account option to manually specify a ft proxy in the next release. Lots of this is based on a patch from galt - Fixes #3730, #116, #1768
Daniel Atallah <datallah@pidgin.im>
parents:
21279
diff
changeset
|
302 | int port; |
|
a16385b34219
Implement more of XEP-0065 to support sending files through a proxy. To avoid adding strings this close to a release, it only supports using a proxy that is discovered from the server, but we'll include an account option to manually specify a ft proxy in the next release. Lots of this is based on a patch from galt - Fixes #3730, #116, #1768
Daniel Atallah <datallah@pidgin.im>
parents:
21279
diff
changeset
|
303 | char *zeroconf; |
|
a16385b34219
Implement more of XEP-0065 to support sending files through a proxy. To avoid adding strings this close to a release, it only supports using a proxy that is discovered from the server, but we'll include an account option to manually specify a ft proxy in the next release. Lots of this is based on a patch from galt - Fixes #3730, #116, #1768
Daniel Atallah <datallah@pidgin.im>
parents:
21279
diff
changeset
|
304 | } JabberBytestreamsStreamhost; |
|
a16385b34219
Implement more of XEP-0065 to support sending files through a proxy. To avoid adding strings this close to a release, it only supports using a proxy that is discovered from the server, but we'll include an account option to manually specify a ft proxy in the next release. Lots of this is based on a patch from galt - Fixes #3730, #116, #1768
Daniel Atallah <datallah@pidgin.im>
parents:
21279
diff
changeset
|
305 | |
|
17783
2687df1ca202
PEP publishing features are now only announced in disco#info when PEP is supported by the server.
Andreas Monitzer <am@adiumx.com>
parents:
17779
diff
changeset
|
306 | /* what kind of additional features as returned from disco#info are supported? */ |
|
2687df1ca202
PEP publishing features are now only announced in disco#info when PEP is supported by the server.
Andreas Monitzer <am@adiumx.com>
parents:
17779
diff
changeset
|
307 | extern GList *jabber_features; |
|
23586
e495a4623f76
Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents:
22800
diff
changeset
|
308 | extern GList *jabber_identities; |
|
17783
2687df1ca202
PEP publishing features are now only announced in disco#info when PEP is supported by the server.
Andreas Monitzer <am@adiumx.com>
parents:
17779
diff
changeset
|
309 | |
|
24715
69aaae59e205
Fix compilation errors and many warnings
Paul Aurich <darkrain42@pidgin.im>
parents:
24714
diff
changeset
|
310 | void jabber_stream_features_parse(JabberStream *js, xmlnode *packet); |
|
17828
6957bf9d7330
Fixed a bug in the XMPP parser involving event handlers that replace the xmlnode packet. This caused double frees in this situation. The replacing function must free the xmlnode, since multiple event handlers could do this, and the intermediate xml trees would leak otherwise.
Andreas Monitzer <am@adiumx.com>
parents:
17824
diff
changeset
|
311 | void jabber_process_packet(JabberStream *js, xmlnode **packet); |
| 7014 | 312 | void jabber_send(JabberStream *js, xmlnode *data); |
| 7642 | 313 | void jabber_send_raw(JabberStream *js, const char *data, int len); |
|
27225
48c94daedc1c
Use the jabber-sending-xmlnode signal to send all XMPP stanzas.
Paul Aurich <darkrain42@pidgin.im>
parents:
27221
diff
changeset
|
314 | void jabber_send_signal_cb(PurpleConnection *pc, xmlnode **packet, |
|
48c94daedc1c
Use the jabber-sending-xmlnode signal to send all XMPP stanzas.
Paul Aurich <darkrain42@pidgin.im>
parents:
27221
diff
changeset
|
315 | gpointer unused); |
| 2086 | 316 | |
| 7014 | 317 | void jabber_stream_set_state(JabberStream *js, JabberStreamState state); |
| 2086 | 318 | |
|
25817
09d6a40a341d
Pass IQ handlers type, from, id, and the child node
Paul Aurich <darkrain42@pidgin.im>
parents:
25290
diff
changeset
|
319 | void jabber_register_parse(JabberStream *js, const char *from, |
|
09d6a40a341d
Pass IQ handlers type, from, id, and the child node
Paul Aurich <darkrain42@pidgin.im>
parents:
25290
diff
changeset
|
320 | JabberIqType type, const char *id, xmlnode *query); |
| 8016 | 321 | void jabber_register_start(JabberStream *js); |
| 7077 | 322 | |
| 7014 | 323 | char *jabber_get_next_id(JabberStream *js); |
| 2086 | 324 | |
|
21150
bedd1215fb5e
Stop jabber setting wants_to_die itself. This involved plumbing disconnection
Will Thompson <resiak@pidgin.im>
parents:
20401
diff
changeset
|
325 | /** Parse an error into a human-readable string and optionally a disconnect |
|
bedd1215fb5e
Stop jabber setting wants_to_die itself. This involved plumbing disconnection
Will Thompson <resiak@pidgin.im>
parents:
20401
diff
changeset
|
326 | * reason. |
|
bedd1215fb5e
Stop jabber setting wants_to_die itself. This involved plumbing disconnection
Will Thompson <resiak@pidgin.im>
parents:
20401
diff
changeset
|
327 | * @param js the stream on which the error occurred. |
|
bedd1215fb5e
Stop jabber setting wants_to_die itself. This involved plumbing disconnection
Will Thompson <resiak@pidgin.im>
parents:
20401
diff
changeset
|
328 | * @param packet the error packet |
|
bedd1215fb5e
Stop jabber setting wants_to_die itself. This involved plumbing disconnection
Will Thompson <resiak@pidgin.im>
parents:
20401
diff
changeset
|
329 | * @param reason where to store the disconnection reason, or @c NULL if you |
|
bedd1215fb5e
Stop jabber setting wants_to_die itself. This involved plumbing disconnection
Will Thompson <resiak@pidgin.im>
parents:
20401
diff
changeset
|
330 | * don't care or you don't intend to close the connection. |
|
bedd1215fb5e
Stop jabber setting wants_to_die itself. This involved plumbing disconnection
Will Thompson <resiak@pidgin.im>
parents:
20401
diff
changeset
|
331 | */ |
| 21279 | 332 | char *jabber_parse_error(JabberStream *js, xmlnode *packet, PurpleConnectionError *reason); |
| 8401 | 333 | |
|
23586
e495a4623f76
Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents:
22800
diff
changeset
|
334 | void jabber_add_feature(const gchar *namespace, JabberFeatureEnabled cb); /* cb may be NULL */ |
|
e495a4623f76
Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents:
22800
diff
changeset
|
335 | void jabber_remove_feature(const gchar *namespace); |
|
e495a4623f76
Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents:
22800
diff
changeset
|
336 | |
|
27340
8d41702ae3f3
Eagle eyes McMarq S. caught two other typo. Now I'm wondering if
Mark Doliner <markdoliner@pidgin.im>
parents:
27338
diff
changeset
|
337 | /** Adds an identity to this jabber library instance. For list of valid values visit the |
|
8d41702ae3f3
Eagle eyes McMarq S. caught two other typo. Now I'm wondering if
Mark Doliner <markdoliner@pidgin.im>
parents:
27338
diff
changeset
|
338 | * website of the XMPP Registrar ( http://www.xmpp.org/registrar/disco-categories.html#client ). |
|
23586
e495a4623f76
Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents:
22800
diff
changeset
|
339 | * @param category the category of the identity. |
|
24734
780b8ad67c22
Sprinkle around more support for xml:lang on JabberIdentities
Paul Aurich <darkrain42@pidgin.im>
parents:
24716
diff
changeset
|
340 | * @param type the type of the identity. |
|
780b8ad67c22
Sprinkle around more support for xml:lang on JabberIdentities
Paul Aurich <darkrain42@pidgin.im>
parents:
24716
diff
changeset
|
341 | * @param language the language localization of the name. Can be NULL. |
|
780b8ad67c22
Sprinkle around more support for xml:lang on JabberIdentities
Paul Aurich <darkrain42@pidgin.im>
parents:
24716
diff
changeset
|
342 | * @param name the name of the identity. |
|
23586
e495a4623f76
Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents:
22800
diff
changeset
|
343 | */ |
|
24737
b8a96a07e7ac
Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <darkrain42@pidgin.im>
parents:
24735
diff
changeset
|
344 | void jabber_add_identity(const gchar *category, const gchar *type, const gchar *lang, const gchar *name); |
|
17770
e67998927a3c
Added the ability to define extensions to caps
Andreas Monitzer <am@adiumx.com>
parents:
17769
diff
changeset
|
345 | |
|
26533
5c74696c34d1
BOSH: For authentication purposes, HTTPS is equivalent to a secured JabberStream.
Paul Aurich <darkrain42@pidgin.im>
parents:
26072
diff
changeset
|
346 | /** |
|
5c74696c34d1
BOSH: For authentication purposes, HTTPS is equivalent to a secured JabberStream.
Paul Aurich <darkrain42@pidgin.im>
parents:
26072
diff
changeset
|
347 | * Returns true if this connection is over a secure (SSL) stream. Use this |
|
5c74696c34d1
BOSH: For authentication purposes, HTTPS is equivalent to a secured JabberStream.
Paul Aurich <darkrain42@pidgin.im>
parents:
26072
diff
changeset
|
348 | * instead of checking js->gsc because BOSH stores its PurpleSslConnection |
|
5c74696c34d1
BOSH: For authentication purposes, HTTPS is equivalent to a secured JabberStream.
Paul Aurich <darkrain42@pidgin.im>
parents:
26072
diff
changeset
|
349 | * members in its own data structure. |
|
5c74696c34d1
BOSH: For authentication purposes, HTTPS is equivalent to a secured JabberStream.
Paul Aurich <darkrain42@pidgin.im>
parents:
26072
diff
changeset
|
350 | */ |
|
5c74696c34d1
BOSH: For authentication purposes, HTTPS is equivalent to a secured JabberStream.
Paul Aurich <darkrain42@pidgin.im>
parents:
26072
diff
changeset
|
351 | gboolean jabber_stream_is_ssl(JabberStream *js); |
|
17770
e67998927a3c
Added the ability to define extensions to caps
Andreas Monitzer <am@adiumx.com>
parents:
17769
diff
changeset
|
352 | |
|
16302
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
353 | /** PRPL functions */ |
|
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
354 | const char *jabber_list_icon(PurpleAccount *a, PurpleBuddy *b); |
|
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
355 | const char* jabber_list_emblem(PurpleBuddy *b); |
|
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
356 | char *jabber_status_text(PurpleBuddy *b); |
|
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
357 | void jabber_tooltip_text(PurpleBuddy *b, PurpleNotifyUserInfo *user_info, gboolean full); |
|
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
358 | GList *jabber_status_types(PurpleAccount *account); |
|
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
359 | void jabber_login(PurpleAccount *account); |
|
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
360 | void jabber_close(PurpleConnection *gc); |
|
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
361 | void jabber_idle_set(PurpleConnection *gc, int idle); |
|
27175
e027ae421bf3
Support pushed notifications about XEP-0191 Blocks/Unblocks. Closes #8045.
Paul Aurich <darkrain42@pidgin.im>
parents:
27155
diff
changeset
|
362 | void jabber_blocklist_parse_push(JabberStream *js, const char *from, |
|
e027ae421bf3
Support pushed notifications about XEP-0191 Blocks/Unblocks. Closes #8045.
Paul Aurich <darkrain42@pidgin.im>
parents:
27155
diff
changeset
|
363 | JabberIqType type, const char *id, |
|
e027ae421bf3
Support pushed notifications about XEP-0191 Blocks/Unblocks. Closes #8045.
Paul Aurich <darkrain42@pidgin.im>
parents:
27155
diff
changeset
|
364 | xmlnode *child); |
|
25290
033942580f51
Commit patch #7670: Implement xep-0191 (simple blocking) for jabber protocols
Mark Doliner <markdoliner@pidgin.im>
parents:
24012
diff
changeset
|
365 | void jabber_request_block_list(JabberStream *js); |
|
033942580f51
Commit patch #7670: Implement xep-0191 (simple blocking) for jabber protocols
Mark Doliner <markdoliner@pidgin.im>
parents:
24012
diff
changeset
|
366 | void jabber_add_deny(PurpleConnection *gc, const char *who); |
|
033942580f51
Commit patch #7670: Implement xep-0191 (simple blocking) for jabber protocols
Mark Doliner <markdoliner@pidgin.im>
parents:
24012
diff
changeset
|
367 | void jabber_rem_deny(PurpleConnection *gc, const char *who); |
|
16302
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
368 | void jabber_keepalive(PurpleConnection *gc); |
|
17806
ed4647f0915d
Added the ability to register gateways, re-using most of the account registration code for this.
Andreas Monitzer <am@adiumx.com>
parents:
17800
diff
changeset
|
369 | void jabber_register_gateway(JabberStream *js, const char *gateway); |
|
16302
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
370 | void jabber_register_account(PurpleAccount *account); |
|
18994
310e9d853e2b
Implemented a callback for unregistering, mirroring the registration callback. Since this is a new API, I can do it properly by passing it right in the unregister function call, instead of having a separate function for setting it.
Andreas Monitzer <am@adiumx.com>
parents:
18912
diff
changeset
|
371 | void jabber_unregister_account(PurpleAccount *account, PurpleAccountUnregistrationCb cb, void *user_data); |
|
20401
8aaa593a6269
Comment a partial implementation of the libpurple attention API for
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19898
diff
changeset
|
372 | gboolean jabber_send_attention(PurpleConnection *gc, const char *username, guint code); |
|
8aaa593a6269
Comment a partial implementation of the libpurple attention API for
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19898
diff
changeset
|
373 | GList *jabber_attention_types(PurpleAccount *account); |
|
16302
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
374 | void jabber_convo_closed(PurpleConnection *gc, const char *who); |
|
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
375 | PurpleChat *jabber_find_blist_chat(PurpleAccount *account, const char *name); |
|
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
376 | gboolean jabber_offline_message(const PurpleBuddy *buddy); |
|
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
377 | int jabber_prpl_send_raw(PurpleConnection *gc, const char *buf, int len); |
|
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
378 | GList *jabber_actions(PurplePlugin *plugin, gpointer context); |
|
26668
ef06285f3b64
Fix allowing gmail user to initiate voice call by advertising a specific ext
Paul Aurich <darkrain42@pidgin.im>
parents:
26658
diff
changeset
|
379 | |
|
ef06285f3b64
Fix allowing gmail user to initiate voice call by advertising a specific ext
Paul Aurich <darkrain42@pidgin.im>
parents:
26658
diff
changeset
|
380 | gboolean jabber_audio_enabled(JabberStream *js, const char *unused); |
|
27202
5244a5510e0e
Add Gmail video support.
Michael Ruprecht <maiku@pidgin.im>
parents:
27175
diff
changeset
|
381 | gboolean jabber_video_enabled(JabberStream *js, const char *unused); |
|
26746
2a2d45ac9774
Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents:
26703
diff
changeset
|
382 | gboolean jabber_initiate_media(PurpleAccount *account, const char *who, |
|
26454
94130b583e0b
Clean up usage of USE_VV in the XMPP protocol.
Michael Ruprecht <maiku@pidgin.im>
parents:
26337
diff
changeset
|
383 | PurpleMediaSessionType type); |
|
26746
2a2d45ac9774
Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents:
26703
diff
changeset
|
384 | PurpleMediaCaps jabber_get_media_caps(PurpleAccount *account, const char *who); |
|
26668
ef06285f3b64
Fix allowing gmail user to initiate voice call by advertising a specific ext
Paul Aurich <darkrain42@pidgin.im>
parents:
26658
diff
changeset
|
385 | |
|
16302
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
386 | void jabber_register_commands(void); |
|
27028
1a2ef7ddb463
Clean up jabber prpl memory allocations on uninit.
Nick Hebner <hebnern@gmail.com>
parents:
26958
diff
changeset
|
387 | void jabber_unregister_commands(void); |
|
24737
b8a96a07e7ac
Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <darkrain42@pidgin.im>
parents:
24735
diff
changeset
|
388 | |
|
16302
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
389 | void jabber_init_plugin(PurplePlugin *plugin); |
|
24737
b8a96a07e7ac
Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <darkrain42@pidgin.im>
parents:
24735
diff
changeset
|
390 | void jabber_uninit_plugin(void); |
|
16302
eb633ebf84f2
This does the ol' AIM/ICQ split trick on Jabber, creating an XMPP prpl. This can be used, later, to create a Bonjour plugin that reuses libjabber
Sean Egan <seanegan@pidgin.im>
parents:
16066
diff
changeset
|
391 | |
|
26703
17f9a4bef2a3
Further standardize the sentinel style (did someone say leading _s are theoretically a reserved namespace?)
Paul Aurich <darkrain42@pidgin.im>
parents:
26692
diff
changeset
|
392 | #endif /* PURPLE_JABBER_H_ */ |