Mercurial > pidgin.yaz
annotate libpurple/protocols/jabber/libxmpp.c @ 29867:185677f47825
propagate from branch 'im.pidgin.pidgin' (head 267f28808ab6eeda6b5d68f6433f2b3fcf230d4f)
to branch 'im.pidgin.cpw.rekkanoryo.icqxstatus' (head 7e67fade1189ddc36e8d1a6560c75f19d0df32aa)
author | Marcus Lundblad <ml@update.uu.se> |
---|---|
date | Thu, 18 Feb 2010 21:38:43 +0000 |
parents | 031fd1cd88df f3654983e1da |
children | a694731e8b3f |
rev | line source |
---|---|
16241 | 1 /* purple |
2 * | |
3 * Purple is the legal property of its developers, whose names are too numerous | |
4 * to list here. Please refer to the COPYRIGHT file distributed with this | |
5 * source distribution. | |
6 * | |
7 * This program is free software; you can redistribute it and/or modify | |
8 * it under the terms of the GNU General Public License as published by | |
9 * the Free Software Foundation; either version 2 of the License, or | |
10 * (at your option) any later version. | |
11 * | |
12 * This program is distributed in the hope that it will be useful, | |
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 * GNU General Public License for more details. | |
16 * | |
17 * You should have received a copy of the GNU General Public License | |
18 * along with this program; if not, write to the Free Software | |
19680
44b4e8bd759b
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
18210
diff
changeset
|
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
16241 | 20 * |
21 */ | |
22 | |
23 /* libxmpp is the XMPP protocol plugin. It is linked against libjabbercommon, | |
24 * which may be used to support other protocols (Bonjour) which may need to | |
25 * share code. | |
26 */ | |
27 | |
18210
b8572b937c09
#include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <stu@nosnilmot.com>
parents:
18106
diff
changeset
|
28 #include "internal.h" |
b8572b937c09
#include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <stu@nosnilmot.com>
parents:
18106
diff
changeset
|
29 |
16241 | 30 #include "accountopt.h" |
28203
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
31 #include "core.h" |
19998
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19696
diff
changeset
|
32 #include "debug.h" |
16241 | 33 #include "version.h" |
34 | |
35 #include "iq.h" | |
36 #include "jabber.h" | |
37 #include "chat.h" | |
26329
f5e613e05332
Applied disco-2.patch from nops with some modifications:
Paul Aurich <paul@darkrain42.org>
parents:
25443
diff
changeset
|
38 #include "disco.h" |
16241 | 39 #include "message.h" |
40 #include "roster.h" | |
41 #include "si.h" | |
42 #include "message.h" | |
43 #include "presence.h" | |
44 #include "google.h" | |
17566
0370da969e8a
Implemented adding callbacks for PEP events. Moved the feature list to be application-global instead of per-connection (makes more sense).
Andreas Monitzer <pidgin@monitzer.com>
parents:
16973
diff
changeset
|
45 #include "pep.h" |
29857
f3654983e1da
Implemented the get_moods prpl function for XMPP. Enables the generic mood
Marcus Lundblad <ml@update.uu.se>
parents:
29854
diff
changeset
|
46 #include "usermood.h" |
17584
3e437e86bd6e
Implemented user tune, currently untested.
Andreas Monitzer <pidgin@monitzer.com>
parents:
17581
diff
changeset
|
47 #include "usertune.h" |
17609
f88b3a093cba
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 <pidgin@monitzer.com>
parents:
17593
diff
changeset
|
48 #include "caps.h" |
23445
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23112
diff
changeset
|
49 #include "data.h" |
25212
87a206ca018f
Some changes got lost when I merged...
Marcus Lundblad <ml@update.uu.se>
parents:
25211
diff
changeset
|
50 #include "ibb.h" |
16241 | 51 |
28203
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
52 static PurplePlugin *my_protocol = NULL; |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
53 |
16241 | 54 static PurplePluginProtocolInfo prpl_info = |
55 { | |
19998
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19696
diff
changeset
|
56 OPT_PROTO_CHAT_TOPIC | OPT_PROTO_UNIQUE_CHATNAME | OPT_PROTO_MAIL_CHECK | |
16241 | 57 #ifdef HAVE_CYRUS_SASL |
19998
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19696
diff
changeset
|
58 OPT_PROTO_PASSWORD_OPTIONAL | |
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19696
diff
changeset
|
59 #endif |
18030
62a71bb085ef
Mostly taken from the patch on ticket #410, don't send unknown slash
Stu Tomlinson <stu@nosnilmot.com>
parents:
16973
diff
changeset
|
60 OPT_PROTO_SLASH_COMMANDS_NATIVE, |
16241 | 61 NULL, /* user_splits */ |
62 NULL, /* protocol_options */ | |
21841
d0a3463633ba
Remove size restriction on XMPP avatars
Sean Egan <seanegan@gmail.com>
parents:
21637
diff
changeset
|
63 {"png", 32, 32, 96, 96, 0, PURPLE_ICON_SCALE_SEND | PURPLE_ICON_SCALE_DISPLAY}, /* icon_spec */ |
16241 | 64 jabber_list_icon, /* list_icon */ |
65 jabber_list_emblem, /* list_emblems */ | |
66 jabber_status_text, /* status_text */ | |
67 jabber_tooltip_text, /* tooltip_text */ | |
68 jabber_status_types, /* status_types */ | |
69 jabber_blist_node_menu, /* blist_node_menu */ | |
70 jabber_chat_info, /* chat_info */ | |
71 jabber_chat_info_defaults, /* chat_info_defaults */ | |
72 jabber_login, /* login */ | |
73 jabber_close, /* close */ | |
74 jabber_message_send_im, /* send_im */ | |
75 jabber_set_info, /* set_info */ | |
76 jabber_send_typing, /* send_typing */ | |
77 jabber_buddy_get_info, /* get_info */ | |
25743
6d6e10476c52
Clean up jabber_presence_send
Paul Aurich <paul@darkrain42.org>
parents:
25741
diff
changeset
|
78 jabber_set_status, /* set_status */ |
16241 | 79 jabber_idle_set, /* set_idle */ |
80 NULL, /* change_passwd */ | |
81 jabber_roster_add_buddy, /* add_buddy */ | |
82 NULL, /* add_buddies */ | |
83 jabber_roster_remove_buddy, /* remove_buddy */ | |
84 NULL, /* remove_buddies */ | |
85 NULL, /* add_permit */ | |
24820
0700833f0c5d
Commit patch #7670: Implement xep-0191 (simple blocking) for jabber protocols
Mark Doliner <mark@kingant.net>
parents:
24501
diff
changeset
|
86 jabber_add_deny, /* add_deny */ |
16241 | 87 NULL, /* rem_permit */ |
24820
0700833f0c5d
Commit patch #7670: Implement xep-0191 (simple blocking) for jabber protocols
Mark Doliner <mark@kingant.net>
parents:
24501
diff
changeset
|
88 jabber_rem_deny, /* rem_deny */ |
16241 | 89 NULL, /* set_permit_deny */ |
90 jabber_chat_join, /* join_chat */ | |
91 NULL, /* reject_chat */ | |
92 jabber_get_chat_name, /* get_chat_name */ | |
93 jabber_chat_invite, /* chat_invite */ | |
94 jabber_chat_leave, /* chat_leave */ | |
95 NULL, /* chat_whisper */ | |
96 jabber_message_send_chat, /* chat_send */ | |
97 jabber_keepalive, /* keepalive */ | |
98 jabber_register_account, /* register_user */ | |
23360
da78db9f188f
Pass the "real" chat username to the pidgin_retrieve_user_info function.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23356
diff
changeset
|
99 NULL, /* get_cb_info */ |
16241 | 100 NULL, /* get_cb_away */ |
101 jabber_roster_alias_change, /* alias_buddy */ | |
102 jabber_roster_group_change, /* group_buddy */ | |
103 jabber_roster_group_rename, /* rename_group */ | |
104 NULL, /* buddy_free */ | |
105 jabber_convo_closed, /* convo_closed */ | |
106 jabber_normalize, /* normalize */ | |
107 jabber_set_buddy_icon, /* set_buddy_icon */ | |
108 NULL, /* remove_group */ | |
109 jabber_chat_buddy_real_name, /* get_cb_real_name */ | |
110 jabber_chat_set_topic, /* set_chat_topic */ | |
111 jabber_find_blist_chat, /* find_blist_chat */ | |
112 jabber_roomlist_get_list, /* roomlist_get_list */ | |
113 jabber_roomlist_cancel, /* roomlist_cancel */ | |
114 NULL, /* roomlist_expand_category */ | |
28911
738cd1adb3cf
jabber: Determine if a buddy can receive a file transfer (when we have
Marcus Lundblad <ml@update.uu.se>
parents:
28893
diff
changeset
|
115 jabber_can_receive_file, /* can_receive_file */ |
16241 | 116 jabber_si_xfer_send, /* send_file */ |
117 jabber_si_new_xfer, /* new_xfer */ | |
118 jabber_offline_message, /* offline_message */ | |
119 NULL, /* whiteboard_prpl_ops */ | |
120 jabber_prpl_send_raw, /* send_raw */ | |
121 jabber_roomlist_room_serialize, /* roomlist_room_serialize */ | |
18703
033b128f7c21
Added unregistering XMPP accounts. This requires a new prpl-struct entry, but I got an ok for that on the mailing list.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18684
diff
changeset
|
122 jabber_unregister_account, /* unregister_user */ |
20631
56cec2b6ff98
Uh, these two callbacks were backwards. Methinks somebody didn't test
Mark Doliner <mark@kingant.net>
parents:
20149
diff
changeset
|
123 jabber_send_attention, /* send_attention */ |
56cec2b6ff98
Uh, these two callbacks were backwards. Methinks somebody didn't test
Mark Doliner <mark@kingant.net>
parents:
20149
diff
changeset
|
124 jabber_attention_types, /* attention_types */ |
16675
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
125 |
23111
718a9c287839
Use up the last padding for PurplePluginProtocolInfo in a way that allows
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22642
diff
changeset
|
126 sizeof(PurplePluginProtocolInfo), /* struct_size */ |
25657
ff29208e03ef
propagate from branch 'im.pidgin.pidgin' (head 75f0460d3679231b61d572e76fe02534a597c6b5)
Sadrul Habib Chowdhury <imadil@gmail.com>
diff
changeset
|
127 NULL, /* get_account_text_table */ |
25637
92e71f6e10d4
Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
25564
diff
changeset
|
128 jabber_initiate_media, /* initiate_media */ |
26190
d6e23439b77c
Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26062
diff
changeset
|
129 jabber_get_media_caps, /* get_media_caps */ |
29857
f3654983e1da
Implemented the get_moods prpl function for XMPP. Enables the generic mood
Marcus Lundblad <ml@update.uu.se>
parents:
29854
diff
changeset
|
130 jabber_get_moods /* get_moods */ |
16241 | 131 }; |
132 | |
133 static gboolean load_plugin(PurplePlugin *plugin) | |
134 { | |
135 purple_signal_register(plugin, "jabber-receiving-xmlnode", | |
136 purple_marshal_VOID__POINTER_POINTER, NULL, 2, | |
137 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), | |
138 purple_value_new_outgoing(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); | |
139 | |
140 purple_signal_register(plugin, "jabber-sending-xmlnode", | |
141 purple_marshal_VOID__POINTER_POINTER, NULL, 2, | |
142 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), | |
143 purple_value_new_outgoing(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); | |
144 | |
27088
d31af94a715d
Use the jabber-sending-xmlnode signal to send all XMPP stanzas.
Paul Aurich <paul@darkrain42.org>
parents:
27086
diff
changeset
|
145 /* |
d31af94a715d
Use the jabber-sending-xmlnode signal to send all XMPP stanzas.
Paul Aurich <paul@darkrain42.org>
parents:
27086
diff
changeset
|
146 * Do not remove this or the plugin will fail. Completely. You have been |
d31af94a715d
Use the jabber-sending-xmlnode signal to send all XMPP stanzas.
Paul Aurich <paul@darkrain42.org>
parents:
27086
diff
changeset
|
147 * warned! |
d31af94a715d
Use the jabber-sending-xmlnode signal to send all XMPP stanzas.
Paul Aurich <paul@darkrain42.org>
parents:
27086
diff
changeset
|
148 */ |
d31af94a715d
Use the jabber-sending-xmlnode signal to send all XMPP stanzas.
Paul Aurich <paul@darkrain42.org>
parents:
27086
diff
changeset
|
149 purple_signal_connect_priority(plugin, "jabber-sending-xmlnode", |
d31af94a715d
Use the jabber-sending-xmlnode signal to send all XMPP stanzas.
Paul Aurich <paul@darkrain42.org>
parents:
27086
diff
changeset
|
150 plugin, PURPLE_CALLBACK(jabber_send_signal_cb), |
d31af94a715d
Use the jabber-sending-xmlnode signal to send all XMPP stanzas.
Paul Aurich <paul@darkrain42.org>
parents:
27086
diff
changeset
|
151 NULL, PURPLE_SIGNAL_PRIORITY_HIGHEST); |
d31af94a715d
Use the jabber-sending-xmlnode signal to send all XMPP stanzas.
Paul Aurich <paul@darkrain42.org>
parents:
27086
diff
changeset
|
152 |
16241 | 153 purple_signal_register(plugin, "jabber-sending-text", |
154 purple_marshal_VOID__POINTER_POINTER, NULL, 2, | |
155 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), | |
156 purple_value_new_outgoing(PURPLE_TYPE_STRING)); | |
25443
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25442
diff
changeset
|
157 |
26952
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
158 purple_signal_register(plugin, "jabber-receiving-message", |
27020
f2e4bc583e52
Duh, it helps to use the right marshallers.
Paul Aurich <paul@darkrain42.org>
parents:
27015
diff
changeset
|
159 purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER, |
26952
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
160 purple_value_new(PURPLE_TYPE_BOOLEAN), 6, |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
161 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
162 purple_value_new(PURPLE_TYPE_STRING), /* type */ |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
163 purple_value_new(PURPLE_TYPE_STRING), /* id */ |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
164 purple_value_new(PURPLE_TYPE_STRING), /* from */ |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
165 purple_value_new(PURPLE_TYPE_STRING), /* to */ |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
166 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
167 |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
168 purple_signal_register(plugin, "jabber-receiving-iq", |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
169 purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER, |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
170 purple_value_new(PURPLE_TYPE_BOOLEAN), 5, |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
171 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
172 purple_value_new(PURPLE_TYPE_STRING), /* type */ |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
173 purple_value_new(PURPLE_TYPE_STRING), /* id */ |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
174 purple_value_new(PURPLE_TYPE_STRING), /* from */ |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
175 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
176 |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
177 purple_signal_register(plugin, "jabber-watched-iq", |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
178 purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER, |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
179 purple_value_new(PURPLE_TYPE_BOOLEAN), 5, |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
180 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
181 purple_value_new(PURPLE_TYPE_STRING), /* type */ |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
182 purple_value_new(PURPLE_TYPE_STRING), /* id */ |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
183 purple_value_new(PURPLE_TYPE_STRING), /* from */ |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
184 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); /* child */ |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
185 |
27086
60cb86295f08
Examples for the namespace-(un)registering of IQs and added IPC versions
Paul Aurich <paul@darkrain42.org>
parents:
27058
diff
changeset
|
186 /* Modifying these? Look at jabber_init_plugin for the ipc versions */ |
26952
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
187 purple_signal_register(plugin, "jabber-register-namespace-watcher", |
27020
f2e4bc583e52
Duh, it helps to use the right marshallers.
Paul Aurich <paul@darkrain42.org>
parents:
27015
diff
changeset
|
188 purple_marshal_VOID__POINTER_POINTER, |
26952
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
189 NULL, 2, |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
190 purple_value_new(PURPLE_TYPE_STRING), /* node */ |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
191 purple_value_new(PURPLE_TYPE_STRING)); /* namespace */ |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
192 |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
193 purple_signal_register(plugin, "jabber-unregister-namespace-watcher", |
27020
f2e4bc583e52
Duh, it helps to use the right marshallers.
Paul Aurich <paul@darkrain42.org>
parents:
27015
diff
changeset
|
194 purple_marshal_VOID__POINTER_POINTER, |
26952
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
195 NULL, 2, |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
196 purple_value_new(PURPLE_TYPE_STRING), /* node */ |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
197 purple_value_new(PURPLE_TYPE_STRING)); /* namespace */ |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
198 |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
199 purple_signal_connect(plugin, "jabber-register-namespace-watcher", |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
200 plugin, PURPLE_CALLBACK(jabber_iq_signal_register), NULL); |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
201 purple_signal_connect(plugin, "jabber-unregister-namespace-watcher", |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
202 plugin, PURPLE_CALLBACK(jabber_iq_signal_unregister), NULL); |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
203 |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
204 purple_signal_register(plugin, "jabber-receiving-presence", |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
205 purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER, |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
206 purple_value_new(PURPLE_TYPE_BOOLEAN), 4, |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
207 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
208 purple_value_new(PURPLE_TYPE_STRING), /* type */ |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
209 purple_value_new(PURPLE_TYPE_STRING), /* from */ |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
210 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); |
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
211 |
16241 | 212 return TRUE; |
213 } | |
214 | |
215 static gboolean unload_plugin(PurplePlugin *plugin) | |
216 { | |
26952
92565c8e1e3a
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 <paul@darkrain42.org>
parents:
26918
diff
changeset
|
217 purple_signals_unregister_by_instance(plugin); |
25443
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25442
diff
changeset
|
218 |
25763
860ebaf275ae
Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents:
25743
diff
changeset
|
219 /* reverse order of init_plugin */ |
25777
17b60b844803
Jabber BOSH: more fixes.
Paul Aurich <paul@darkrain42.org>
parents:
25774
diff
changeset
|
220 jabber_bosh_uninit(); |
23991
fba7c73c8f02
Fixed a memory error, which was due to me destroying some hashtables in the
Marcus Lundblad <ml@update.uu.se>
parents:
23988
diff
changeset
|
221 jabber_data_uninit(); |
25212
87a206ca018f
Some changes got lost when I merged...
Marcus Lundblad <ml@update.uu.se>
parents:
25211
diff
changeset
|
222 jabber_si_uninit(); |
87a206ca018f
Some changes got lost when I merged...
Marcus Lundblad <ml@update.uu.se>
parents:
25211
diff
changeset
|
223 jabber_ibb_uninit(); |
25763
860ebaf275ae
Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents:
25743
diff
changeset
|
224 /* PEP things should be uninit via jabber_pep_uninit, not here */ |
860ebaf275ae
Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents:
25743
diff
changeset
|
225 jabber_pep_uninit(); |
860ebaf275ae
Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents:
25743
diff
changeset
|
226 jabber_caps_uninit(); |
860ebaf275ae
Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents:
25743
diff
changeset
|
227 jabber_iq_uninit(); |
860ebaf275ae
Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents:
25743
diff
changeset
|
228 |
26885
1dfa009f6db5
Clean up jabber prpl memory allocations on uninit.
Nick Hebner <hebnern@gmail.com>
parents:
26837
diff
changeset
|
229 jabber_unregister_commands(); |
1dfa009f6db5
Clean up jabber prpl memory allocations on uninit.
Nick Hebner <hebnern@gmail.com>
parents:
26837
diff
changeset
|
230 |
25763
860ebaf275ae
Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents:
25743
diff
changeset
|
231 /* Stay on target...stay on target... Almost there... */ |
28893
96ba7fd24177
jabber: Use purple_connection_get_prpl() instead of jabber_plugin.
Paul Aurich <paul@darkrain42.org>
parents:
28891
diff
changeset
|
232 jabber_uninit_plugin(plugin); |
25443
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25442
diff
changeset
|
233 |
16241 | 234 return TRUE; |
235 } | |
236 | |
237 static PurplePluginInfo info = | |
238 { | |
239 PURPLE_PLUGIN_MAGIC, | |
240 PURPLE_MAJOR_VERSION, | |
241 PURPLE_MINOR_VERSION, | |
242 PURPLE_PLUGIN_PROTOCOL, /**< type */ | |
243 NULL, /**< ui_requirement */ | |
244 0, /**< flags */ | |
245 NULL, /**< dependencies */ | |
246 PURPLE_PRIORITY_DEFAULT, /**< priority */ | |
247 | |
248 "prpl-jabber", /**< id */ | |
249 "XMPP", /**< name */ | |
21030
3cc856ca2338
Add a --with-extraversion option to ./configure so packagers can fine tune
Stu Tomlinson <stu@nosnilmot.com>
parents:
20631
diff
changeset
|
250 DISPLAY_VERSION, /**< version */ |
16241 | 251 /** summary */ |
16915
56042b2f8b64
s/Jabber/XMPP in user-visible places.
Richard Laager <rlaager@wiktel.com>
parents:
16728
diff
changeset
|
252 N_("XMPP Protocol Plugin"), |
16241 | 253 /** description */ |
16915
56042b2f8b64
s/Jabber/XMPP in user-visible places.
Richard Laager <rlaager@wiktel.com>
parents:
16728
diff
changeset
|
254 N_("XMPP Protocol Plugin"), |
16241 | 255 NULL, /**< author */ |
256 PURPLE_WEBSITE, /**< homepage */ | |
257 | |
258 load_plugin, /**< load */ | |
259 unload_plugin, /**< unload */ | |
260 NULL, /**< destroy */ | |
261 | |
262 NULL, /**< ui_info */ | |
263 &prpl_info, /**< extra_info */ | |
264 NULL, /**< prefs_info */ | |
16675
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
265 jabber_actions, |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
266 |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
267 /* padding */ |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
268 NULL, |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
269 NULL, |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
270 NULL, |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
271 NULL |
16241 | 272 }; |
273 | |
28203
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
274 static PurpleAccount *find_acct(const char *prpl, const char *acct_id) |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
275 { |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
276 PurpleAccount *acct = NULL; |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
277 |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
278 /* If we have a specific acct, use it */ |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
279 if (acct_id) { |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
280 acct = purple_accounts_find(acct_id, prpl); |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
281 if (acct && !purple_account_is_connected(acct)) |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
282 acct = NULL; |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
283 } else { /* Otherwise find an active account for the protocol */ |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
284 GList *l = purple_accounts_get_all(); |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
285 while (l) { |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
286 if (!strcmp(prpl, purple_account_get_protocol_id(l->data)) |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
287 && purple_account_is_connected(l->data)) { |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
288 acct = l->data; |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
289 break; |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
290 } |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
291 l = l->next; |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
292 } |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
293 } |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
294 |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
295 return acct; |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
296 } |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
297 |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
298 static gboolean xmpp_uri_handler(const char *proto, const char *user, GHashTable *params) |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
299 { |
29155
088fac135139
On Windows, treat a 'xmpp:foo@bar.com' URI as opening an IM window.
Paul Aurich <paul@darkrain42.org>
parents:
28911
diff
changeset
|
300 char *acct_id = params ? g_hash_table_lookup(params, "account") : NULL; |
28203
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
301 PurpleAccount *acct; |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
302 |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
303 if (g_ascii_strcasecmp(proto, "xmpp")) |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
304 return FALSE; |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
305 |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
306 acct = find_acct(purple_plugin_get_id(my_protocol), acct_id); |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
307 |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
308 if (!acct) |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
309 return FALSE; |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
310 |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
311 /* xmpp:romeo@montague.net?message;subject=Test%20Message;body=Here%27s%20a%20test%20message */ |
29155
088fac135139
On Windows, treat a 'xmpp:foo@bar.com' URI as opening an IM window.
Paul Aurich <paul@darkrain42.org>
parents:
28911
diff
changeset
|
312 /* params is NULL if the URI has no '?' (or anything after it) */ |
088fac135139
On Windows, treat a 'xmpp:foo@bar.com' URI as opening an IM window.
Paul Aurich <paul@darkrain42.org>
parents:
28911
diff
changeset
|
313 if (!params || g_hash_table_lookup_extended(params, "message", NULL, NULL)) { |
28203
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
314 char *body = g_hash_table_lookup(params, "body"); |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
315 if (user && *user) { |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
316 PurpleConversation *conv = |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
317 purple_conversation_new(PURPLE_CONV_TYPE_IM, acct, user); |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
318 purple_conversation_present(conv); |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
319 if (body && *body) |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
320 purple_conv_send_confirm(conv, body); |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
321 } |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
322 } else if (g_hash_table_lookup_extended(params, "roster", NULL, NULL)) { |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
323 char *name = g_hash_table_lookup(params, "name"); |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
324 if (user && *user) |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
325 purple_blist_request_add_buddy(acct, user, NULL, name); |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
326 } else if (g_hash_table_lookup_extended(params, "join", NULL, NULL)) { |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
327 PurpleConnection *gc = purple_account_get_connection(acct); |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
328 if (user && *user) { |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
329 GHashTable *params = jabber_chat_info_defaults(gc, user); |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
330 jabber_chat_join(gc, params); |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
331 } |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
332 return TRUE; |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
333 } |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
334 |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
335 return FALSE; |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
336 } |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
337 |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
338 |
16241 | 339 static void |
340 init_plugin(PurplePlugin *plugin) | |
341 { | |
19998
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19696
diff
changeset
|
342 #ifdef HAVE_CYRUS_SASL |
21125
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
343 #ifdef _WIN32 |
23668
c014c3fe0de9
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23645
diff
changeset
|
344 UINT old_error_mode; |
21125
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
345 gchar *sasldir; |
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
346 #endif |
19998
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19696
diff
changeset
|
347 int ret; |
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19696
diff
changeset
|
348 #endif |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
349 PurpleAccountUserSplit *split; |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
350 PurpleAccountOption *option; |
25443
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25442
diff
changeset
|
351 |
16963
919515748253
Handle people forgetting to enter a domain. Also, change 'server,' in the account options to 'domain,' which is its proper name, and hopefully less confusion
Sean Egan <seanegan@gmail.com>
parents:
16962
diff
changeset
|
352 /* Translators: 'domain' is used here in the context of Internet domains, e.g. pidgin.im */ |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
353 split = purple_account_user_split_new(_("Domain"), NULL, '@'); |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
354 purple_account_user_split_set_reverse(split, FALSE); |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
355 prpl_info.user_splits = g_list_append(prpl_info.user_splits, split); |
25443
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25442
diff
changeset
|
356 |
24501
8e7e6f60e053
Allow blank resources on XMPP when creating/modifying accounts. This works
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
23991
diff
changeset
|
357 split = purple_account_user_split_new(_("Resource"), NULL, '/'); |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
358 purple_account_user_split_set_reverse(split, FALSE); |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
359 prpl_info.user_splits = g_list_append(prpl_info.user_splits, split); |
25443
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25442
diff
changeset
|
360 |
28891
4fd0baa32a9e
jabber: Fix a few places where the default for require_tls was wrong.
Paul Aurich <paul@darkrain42.org>
parents:
28203
diff
changeset
|
361 option = purple_account_option_bool_new(_("Require SSL/TLS"), "require_tls", JABBER_DEFAULT_REQUIRE_TLS); |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
362 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
363 option); |
25443
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25442
diff
changeset
|
364 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
365 option = purple_account_option_bool_new(_("Force old (port 5223) SSL"), "old_ssl", FALSE); |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
366 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
367 option); |
25443
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25442
diff
changeset
|
368 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
369 option = purple_account_option_bool_new( |
21637
844225b0c905
Now that the release has been tagged and strings are unfrozen, enable the new ft proxy account setting for xmpp accounts. Also, prevent duplicate entries in the streamhost lists. I don't know if the default account proxy is acceptable, perhaps there shouldn't be a default value.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21603
diff
changeset
|
370 _("Allow plaintext auth over unencrypted streams"), |
844225b0c905
Now that the release has been tagged and strings are unfrozen, enable the new ft proxy account setting for xmpp accounts. Also, prevent duplicate entries in the streamhost lists. I don't know if the default account proxy is acceptable, perhaps there shouldn't be a default value.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21603
diff
changeset
|
371 "auth_plain_in_clear", FALSE); |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
372 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
21637
844225b0c905
Now that the release has been tagged and strings are unfrozen, enable the new ft proxy account setting for xmpp accounts. Also, prevent duplicate entries in the streamhost lists. I don't know if the default account proxy is acceptable, perhaps there shouldn't be a default value.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21603
diff
changeset
|
373 option); |
25443
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25442
diff
changeset
|
374 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
375 option = purple_account_option_int_new(_("Connect port"), "port", 5222); |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
376 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
21637
844225b0c905
Now that the release has been tagged and strings are unfrozen, enable the new ft proxy account setting for xmpp accounts. Also, prevent duplicate entries in the streamhost lists. I don't know if the default account proxy is acceptable, perhaps there shouldn't be a default value.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21603
diff
changeset
|
377 option); |
844225b0c905
Now that the release has been tagged and strings are unfrozen, enable the new ft proxy account setting for xmpp accounts. Also, prevent duplicate entries in the streamhost lists. I don't know if the default account proxy is acceptable, perhaps there shouldn't be a default value.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21603
diff
changeset
|
378 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
379 option = purple_account_option_string_new(_("Connect server"), |
21637
844225b0c905
Now that the release has been tagged and strings are unfrozen, enable the new ft proxy account setting for xmpp accounts. Also, prevent duplicate entries in the streamhost lists. I don't know if the default account proxy is acceptable, perhaps there shouldn't be a default value.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21603
diff
changeset
|
380 "connect_server", NULL); |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
381 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
21637
844225b0c905
Now that the release has been tagged and strings are unfrozen, enable the new ft proxy account setting for xmpp accounts. Also, prevent duplicate entries in the streamhost lists. I don't know if the default account proxy is acceptable, perhaps there shouldn't be a default value.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21603
diff
changeset
|
382 option); |
844225b0c905
Now that the release has been tagged and strings are unfrozen, enable the new ft proxy account setting for xmpp accounts. Also, prevent duplicate entries in the streamhost lists. I don't know if the default account proxy is acceptable, perhaps there shouldn't be a default value.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21603
diff
changeset
|
383 |
21603
a4b6854737d5
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 <daniel.atallah@gmail.com>
parents:
21125
diff
changeset
|
384 option = purple_account_option_string_new(_("File transfer proxies"), |
a4b6854737d5
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 <daniel.atallah@gmail.com>
parents:
21125
diff
changeset
|
385 "ft_proxies", |
26918
a4b59d72b94b
Marcus convinced me (I didn't need much) this is a better idea.
Paul Aurich <paul@darkrain42.org>
parents:
26917
diff
changeset
|
386 /* TODO: Is this an acceptable default? |
a4b59d72b94b
Marcus convinced me (I didn't need much) this is a better idea.
Paul Aurich <paul@darkrain42.org>
parents:
26917
diff
changeset
|
387 * Also, keep this in sync as they add more servers */ |
29439
031fd1cd88df
jabber: Update the default FT proxy (if it's still set as the previous, broken, default).
Paul Aurich <paul@darkrain42.org>
parents:
29364
diff
changeset
|
388 JABBER_DEFAULT_FT_PROXIES); |
21603
a4b6854737d5
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 <daniel.atallah@gmail.com>
parents:
21125
diff
changeset
|
389 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
a4b6854737d5
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 <daniel.atallah@gmail.com>
parents:
21125
diff
changeset
|
390 option); |
a4b6854737d5
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 <daniel.atallah@gmail.com>
parents:
21125
diff
changeset
|
391 |
27255
a9fdf9327652
Make "BOSH URL" its own account option.
Paul Aurich <paul@darkrain42.org>
parents:
27088
diff
changeset
|
392 option = purple_account_option_string_new(_("BOSH URL"), |
a9fdf9327652
Make "BOSH URL" its own account option.
Paul Aurich <paul@darkrain42.org>
parents:
27088
diff
changeset
|
393 "bosh_url", NULL); |
a9fdf9327652
Make "BOSH URL" its own account option.
Paul Aurich <paul@darkrain42.org>
parents:
27088
diff
changeset
|
394 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
a9fdf9327652
Make "BOSH URL" its own account option.
Paul Aurich <paul@darkrain42.org>
parents:
27088
diff
changeset
|
395 option); |
a9fdf9327652
Make "BOSH URL" its own account option.
Paul Aurich <paul@darkrain42.org>
parents:
27088
diff
changeset
|
396 |
23445
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23112
diff
changeset
|
397 /* this should probably be part of global smiley theme settings later on, |
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23112
diff
changeset
|
398 shared with MSN */ |
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23112
diff
changeset
|
399 option = purple_account_option_bool_new(_("Show Custom Smileys"), |
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23112
diff
changeset
|
400 "custom_smileys", TRUE); |
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23112
diff
changeset
|
401 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23112
diff
changeset
|
402 option); |
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23112
diff
changeset
|
403 |
28203
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
404 my_protocol = plugin; |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
405 jabber_init_plugin(plugin); |
21637
844225b0c905
Now that the release has been tagged and strings are unfrozen, enable the new ft proxy account setting for xmpp accounts. Also, prevent duplicate entries in the streamhost lists. I don't know if the default account proxy is acceptable, perhaps there shouldn't be a default value.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21603
diff
changeset
|
406 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
407 purple_prefs_remove("/plugins/prpl/jabber"); |
21637
844225b0c905
Now that the release has been tagged and strings are unfrozen, enable the new ft proxy account setting for xmpp accounts. Also, prevent duplicate entries in the streamhost lists. I don't know if the default account proxy is acceptable, perhaps there shouldn't be a default value.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21603
diff
changeset
|
408 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
409 /* XXX - If any other plugin wants SASL this won't be good ... */ |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
410 #ifdef HAVE_CYRUS_SASL |
21125
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
411 #ifdef _WIN32 |
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
412 sasldir = g_build_filename(wpurple_install_dir(), "sasl2", NULL); |
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
413 sasl_set_path(SASL_PATH_TYPE_PLUGIN, sasldir); |
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
414 g_free(sasldir); |
23668
c014c3fe0de9
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23645
diff
changeset
|
415 /* Suppress error popups for failing to load sasl plugins */ |
c014c3fe0de9
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23645
diff
changeset
|
416 old_error_mode = SetErrorMode(SEM_FAILCRITICALERRORS); |
21125
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
417 #endif |
19998
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19696
diff
changeset
|
418 if ((ret = sasl_client_init(NULL)) != SASL_OK) { |
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19696
diff
changeset
|
419 purple_debug_error("xmpp", "Error (%d) initializing SASL.\n", ret); |
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19696
diff
changeset
|
420 } |
23668
c014c3fe0de9
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23645
diff
changeset
|
421 #ifdef _WIN32 |
c014c3fe0de9
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23645
diff
changeset
|
422 /* Restore the original error mode */ |
c014c3fe0de9
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23645
diff
changeset
|
423 SetErrorMode(old_error_mode); |
c014c3fe0de9
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23645
diff
changeset
|
424 #endif |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
425 #endif |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
426 jabber_register_commands(); |
25443
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25442
diff
changeset
|
427 |
25763
860ebaf275ae
Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents:
25743
diff
changeset
|
428 /* reverse order of unload_plugin */ |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
429 jabber_iq_init(); |
25763
860ebaf275ae
Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents:
25743
diff
changeset
|
430 jabber_caps_init(); |
860ebaf275ae
Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents:
25743
diff
changeset
|
431 /* PEP things should be init via jabber_pep_init, not here */ |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
432 jabber_pep_init(); |
23445
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23112
diff
changeset
|
433 jabber_data_init(); |
25777
17b60b844803
Jabber BOSH: more fixes.
Paul Aurich <paul@darkrain42.org>
parents:
25774
diff
changeset
|
434 jabber_bosh_init(); |
25443
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25442
diff
changeset
|
435 |
29364
86f5173195cd
I'm pretty sure this shouldn't be a compiler warning
Mark Doliner <mark@kingant.net>
parents:
29155
diff
changeset
|
436 /* TODO: Implement adding and retrieving own features via IPC API */ |
25443
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25442
diff
changeset
|
437 |
23999
b4ec5481a67a
Implements file transfers using in-band bytestreams for XMPP
Marcus Lundblad <ml@update.uu.se>
parents:
23668
diff
changeset
|
438 jabber_ibb_init(); |
b4ec5481a67a
Implements file transfers using in-band bytestreams for XMPP
Marcus Lundblad <ml@update.uu.se>
parents:
23668
diff
changeset
|
439 jabber_si_init(); |
28203
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
440 |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
441 purple_signal_connect(purple_get_core(), "uri-handler", plugin, |
da22b6d0151e
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <paul@darkrain42.org>
parents:
27427
diff
changeset
|
442 PURPLE_CALLBACK(xmpp_uri_handler), NULL); |
16241 | 443 } |
444 | |
445 | |
446 PURPLE_INIT_PLUGIN(jabber, init_plugin, info); |