Mercurial > pidgin
annotate libpurple/protocols/jabber/libxmpp.c @ 26247:f5e613e05332
Applied disco-2.patch from nops with some modifications:
* Alphabetized includes and Makefiles
* Removed purple_disco_set_ui_ops(NULL) in finch; ops is NULL by default.
* A few string changes
* Removed DISCO_PREF_LAST_SERVER. Default to our server, but store
the last requested in the JabberStream* and use it if available.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Sun, 29 Mar 2009 19:29:22 +0000 |
parents | 5f9a24d1c25e |
children | b290c7b9fc73 |
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 | |
19681
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" |
19998
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19697
diff
changeset
|
31 #include "debug.h" |
16241 | 32 #include "version.h" |
33 | |
34 #include "iq.h" | |
35 #include "jabber.h" | |
36 #include "chat.h" | |
26247
f5e613e05332
Applied disco-2.patch from nops with some modifications:
Paul Aurich <paul@darkrain42.org>
parents:
25952
diff
changeset
|
37 #include "disco.h" |
16241 | 38 #include "message.h" |
39 #include "roster.h" | |
40 #include "si.h" | |
41 #include "message.h" | |
42 #include "presence.h" | |
43 #include "google.h" | |
17839
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:
16962
diff
changeset
|
44 #include "pep.h" |
17857
3e437e86bd6e
Implemented user tune, currently untested.
Andreas Monitzer <pidgin@monitzer.com>
parents:
17854
diff
changeset
|
45 #include "usertune.h" |
17882
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:
17866
diff
changeset
|
46 #include "caps.h" |
23777
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23110
diff
changeset
|
47 #include "data.h" |
25721
87a206ca018f
Some changes got lost when I merged...
Marcus Lundblad <ml@update.uu.se>
parents:
25720
diff
changeset
|
48 #include "ibb.h" |
16241 | 49 |
50 static PurplePluginProtocolInfo prpl_info = | |
51 { | |
19998
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19697
diff
changeset
|
52 OPT_PROTO_CHAT_TOPIC | OPT_PROTO_UNIQUE_CHATNAME | OPT_PROTO_MAIL_CHECK | |
16241 | 53 #ifdef HAVE_CYRUS_SASL |
19998
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19697
diff
changeset
|
54 OPT_PROTO_PASSWORD_OPTIONAL | |
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19697
diff
changeset
|
55 #endif |
18030
62a71bb085ef
Mostly taken from the patch on ticket #410, don't send unknown slash
Stu Tomlinson <stu@nosnilmot.com>
parents:
16962
diff
changeset
|
56 OPT_PROTO_SLASH_COMMANDS_NATIVE, |
16241 | 57 NULL, /* user_splits */ |
58 NULL, /* protocol_options */ | |
21841
d0a3463633ba
Remove size restriction on XMPP avatars
Sean Egan <seanegan@gmail.com>
parents:
21637
diff
changeset
|
59 {"png", 32, 32, 96, 96, 0, PURPLE_ICON_SCALE_SEND | PURPLE_ICON_SCALE_DISPLAY}, /* icon_spec */ |
16241 | 60 jabber_list_icon, /* list_icon */ |
61 jabber_list_emblem, /* list_emblems */ | |
62 jabber_status_text, /* status_text */ | |
63 jabber_tooltip_text, /* tooltip_text */ | |
64 jabber_status_types, /* status_types */ | |
65 jabber_blist_node_menu, /* blist_node_menu */ | |
66 jabber_chat_info, /* chat_info */ | |
67 jabber_chat_info_defaults, /* chat_info_defaults */ | |
68 jabber_login, /* login */ | |
69 jabber_close, /* close */ | |
70 jabber_message_send_im, /* send_im */ | |
71 jabber_set_info, /* set_info */ | |
72 jabber_send_typing, /* send_typing */ | |
73 jabber_buddy_get_info, /* get_info */ | |
17576 | 74 jabber_presence_send, /* set_status */ |
16241 | 75 jabber_idle_set, /* set_idle */ |
76 NULL, /* change_passwd */ | |
77 jabber_roster_add_buddy, /* add_buddy */ | |
78 NULL, /* add_buddies */ | |
79 jabber_roster_remove_buddy, /* remove_buddy */ | |
80 NULL, /* remove_buddies */ | |
81 NULL, /* add_permit */ | |
24855
0700833f0c5d
Commit patch #7670: Implement xep-0191 (simple blocking) for jabber protocols
Mark Doliner <mark@kingant.net>
parents:
24556
diff
changeset
|
82 jabber_add_deny, /* add_deny */ |
16241 | 83 NULL, /* rem_permit */ |
24855
0700833f0c5d
Commit patch #7670: Implement xep-0191 (simple blocking) for jabber protocols
Mark Doliner <mark@kingant.net>
parents:
24556
diff
changeset
|
84 jabber_rem_deny, /* rem_deny */ |
16241 | 85 NULL, /* set_permit_deny */ |
86 jabber_chat_join, /* join_chat */ | |
87 NULL, /* reject_chat */ | |
88 jabber_get_chat_name, /* get_chat_name */ | |
89 jabber_chat_invite, /* chat_invite */ | |
90 jabber_chat_leave, /* chat_leave */ | |
91 NULL, /* chat_whisper */ | |
92 jabber_message_send_chat, /* chat_send */ | |
93 jabber_keepalive, /* keepalive */ | |
94 jabber_register_account, /* register_user */ | |
23358
da78db9f188f
Pass the "real" chat username to the pidgin_retrieve_user_info function.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23354
diff
changeset
|
95 NULL, /* get_cb_info */ |
16241 | 96 NULL, /* get_cb_away */ |
97 jabber_roster_alias_change, /* alias_buddy */ | |
98 jabber_roster_group_change, /* group_buddy */ | |
99 jabber_roster_group_rename, /* rename_group */ | |
100 NULL, /* buddy_free */ | |
101 jabber_convo_closed, /* convo_closed */ | |
102 jabber_normalize, /* normalize */ | |
103 jabber_set_buddy_icon, /* set_buddy_icon */ | |
104 NULL, /* remove_group */ | |
105 jabber_chat_buddy_real_name, /* get_cb_real_name */ | |
106 jabber_chat_set_topic, /* set_chat_topic */ | |
107 jabber_find_blist_chat, /* find_blist_chat */ | |
108 jabber_roomlist_get_list, /* roomlist_get_list */ | |
109 jabber_roomlist_cancel, /* roomlist_cancel */ | |
110 NULL, /* roomlist_expand_category */ | |
23355
bc3ecda40397
disapproval of revision 'b499ce3771edb822dda585ef37acbafcc48b71f4'
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23354
diff
changeset
|
111 NULL, /* can_receive_file */ |
16241 | 112 jabber_si_xfer_send, /* send_file */ |
113 jabber_si_new_xfer, /* new_xfer */ | |
114 jabber_offline_message, /* offline_message */ | |
115 NULL, /* whiteboard_prpl_ops */ | |
116 jabber_prpl_send_raw, /* send_raw */ | |
117 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
|
118 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
|
119 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
|
120 jabber_attention_types, /* attention_types */ |
16667
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
121 |
23109
718a9c287839
Use up the last padding for PurplePluginProtocolInfo in a way that allows
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22659
diff
changeset
|
122 sizeof(PurplePluginProtocolInfo), /* struct_size */ |
26247
f5e613e05332
Applied disco-2.patch from nops with some modifications:
Paul Aurich <paul@darkrain42.org>
parents:
25952
diff
changeset
|
123 NULL, |
f5e613e05332
Applied disco-2.patch from nops with some modifications:
Paul Aurich <paul@darkrain42.org>
parents:
25952
diff
changeset
|
124 jabber_disco_get_list, /* disco_get_list */ |
f5e613e05332
Applied disco-2.patch from nops with some modifications:
Paul Aurich <paul@darkrain42.org>
parents:
25952
diff
changeset
|
125 jabber_disco_cancel, /* disco_cancel */ |
f5e613e05332
Applied disco-2.patch from nops with some modifications:
Paul Aurich <paul@darkrain42.org>
parents:
25952
diff
changeset
|
126 jabber_disco_service_register /* disco_service_register */ |
f5e613e05332
Applied disco-2.patch from nops with some modifications:
Paul Aurich <paul@darkrain42.org>
parents:
25952
diff
changeset
|
127 |
16241 | 128 }; |
129 | |
130 static gboolean load_plugin(PurplePlugin *plugin) | |
131 { | |
132 purple_signal_register(plugin, "jabber-receiving-xmlnode", | |
133 purple_marshal_VOID__POINTER_POINTER, NULL, 2, | |
134 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), | |
135 purple_value_new_outgoing(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); | |
136 | |
137 purple_signal_register(plugin, "jabber-sending-xmlnode", | |
138 purple_marshal_VOID__POINTER_POINTER, NULL, 2, | |
139 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), | |
140 purple_value_new_outgoing(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); | |
141 | |
142 purple_signal_register(plugin, "jabber-sending-text", | |
143 purple_marshal_VOID__POINTER_POINTER, NULL, 2, | |
144 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), | |
145 purple_value_new_outgoing(PURPLE_TYPE_STRING)); | |
25952
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25951
diff
changeset
|
146 |
16241 | 147 return TRUE; |
148 } | |
149 | |
150 static gboolean unload_plugin(PurplePlugin *plugin) | |
151 { | |
152 purple_signal_unregister(plugin, "jabber-receiving-xmlnode"); | |
153 | |
154 purple_signal_unregister(plugin, "jabber-sending-xmlnode"); | |
25952
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25951
diff
changeset
|
155 |
16241 | 156 purple_signal_unregister(plugin, "jabber-sending-text"); |
25952
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25951
diff
changeset
|
157 |
24061
fba7c73c8f02
Fixed a memory error, which was due to me destroying some hashtables in the
Marcus Lundblad <ml@update.uu.se>
parents:
24058
diff
changeset
|
158 jabber_data_uninit(); |
25721
87a206ca018f
Some changes got lost when I merged...
Marcus Lundblad <ml@update.uu.se>
parents:
25720
diff
changeset
|
159 jabber_si_uninit(); |
87a206ca018f
Some changes got lost when I merged...
Marcus Lundblad <ml@update.uu.se>
parents:
25720
diff
changeset
|
160 jabber_ibb_uninit(); |
25952
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25951
diff
changeset
|
161 |
16241 | 162 return TRUE; |
163 } | |
164 | |
165 static PurplePluginInfo info = | |
166 { | |
167 PURPLE_PLUGIN_MAGIC, | |
168 PURPLE_MAJOR_VERSION, | |
169 PURPLE_MINOR_VERSION, | |
170 PURPLE_PLUGIN_PROTOCOL, /**< type */ | |
171 NULL, /**< ui_requirement */ | |
172 0, /**< flags */ | |
173 NULL, /**< dependencies */ | |
174 PURPLE_PRIORITY_DEFAULT, /**< priority */ | |
175 | |
176 "prpl-jabber", /**< id */ | |
177 "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
|
178 DISPLAY_VERSION, /**< version */ |
16241 | 179 /** summary */ |
16904
56042b2f8b64
s/Jabber/XMPP in user-visible places.
Richard Laager <rlaager@wiktel.com>
parents:
16719
diff
changeset
|
180 N_("XMPP Protocol Plugin"), |
16241 | 181 /** description */ |
16904
56042b2f8b64
s/Jabber/XMPP in user-visible places.
Richard Laager <rlaager@wiktel.com>
parents:
16719
diff
changeset
|
182 N_("XMPP Protocol Plugin"), |
16241 | 183 NULL, /**< author */ |
184 PURPLE_WEBSITE, /**< homepage */ | |
185 | |
186 load_plugin, /**< load */ | |
187 unload_plugin, /**< unload */ | |
188 NULL, /**< destroy */ | |
189 | |
190 NULL, /**< ui_info */ | |
191 &prpl_info, /**< extra_info */ | |
192 NULL, /**< prefs_info */ | |
16667
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
193 jabber_actions, |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
194 |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
195 /* padding */ |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
196 NULL, |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
197 NULL, |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
198 NULL, |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
199 NULL |
16241 | 200 }; |
201 | |
202 static void | |
203 init_plugin(PurplePlugin *plugin) | |
204 { | |
19998
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19697
diff
changeset
|
205 #ifdef HAVE_CYRUS_SASL |
21125
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
206 #ifdef _WIN32 |
23623
c014c3fe0de9
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23600
diff
changeset
|
207 UINT old_error_mode; |
21125
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
208 gchar *sasldir; |
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
209 #endif |
19998
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19697
diff
changeset
|
210 int ret; |
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19697
diff
changeset
|
211 #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
|
212 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
|
213 PurpleAccountOption *option; |
25952
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25951
diff
changeset
|
214 |
16952
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:
16951
diff
changeset
|
215 /* 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
|
216 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
|
217 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
|
218 prpl_info.user_splits = g_list_append(prpl_info.user_splits, split); |
25952
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25951
diff
changeset
|
219 |
24556
8e7e6f60e053
Allow blank resources on XMPP when creating/modifying accounts. This works
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24061
diff
changeset
|
220 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
|
221 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
|
222 prpl_info.user_splits = g_list_append(prpl_info.user_splits, split); |
25952
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25951
diff
changeset
|
223 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
224 option = purple_account_option_bool_new(_("Require SSL/TLS"), "require_tls", FALSE); |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
225 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
|
226 option); |
25952
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25951
diff
changeset
|
227 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
228 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
|
229 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
|
230 option); |
25952
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25951
diff
changeset
|
231 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
232 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
|
233 _("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
|
234 "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
|
235 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
|
236 option); |
25952
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25951
diff
changeset
|
237 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
238 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
|
239 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
|
240 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
|
241 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
242 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
|
243 "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
|
244 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
|
245 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
|
246 |
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
|
247 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
|
248 "ft_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
|
249 /* TODO: Is this an acceptable default? */ |
23600
10382f1e1353
Use Service Discovery to look up information about the manually specified FT
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23362
diff
changeset
|
250 "proxy.jabber.org"); |
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
|
251 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
|
252 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
|
253 |
23777
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23110
diff
changeset
|
254 /* 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:
23110
diff
changeset
|
255 shared with MSN */ |
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23110
diff
changeset
|
256 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:
23110
diff
changeset
|
257 "custom_smileys", TRUE); |
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23110
diff
changeset
|
258 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:
23110
diff
changeset
|
259 option); |
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23110
diff
changeset
|
260 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
261 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
|
262 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
263 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
|
264 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
265 /* 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
|
266 #ifdef HAVE_CYRUS_SASL |
21125
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
267 #ifdef _WIN32 |
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
268 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
|
269 sasl_set_path(SASL_PATH_TYPE_PLUGIN, sasldir); |
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
270 g_free(sasldir); |
23623
c014c3fe0de9
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23600
diff
changeset
|
271 /* 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:
23600
diff
changeset
|
272 old_error_mode = SetErrorMode(SEM_FAILCRITICALERRORS); |
21125
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
273 #endif |
19998
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19697
diff
changeset
|
274 if ((ret = sasl_client_init(NULL)) != SASL_OK) { |
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19697
diff
changeset
|
275 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:
19697
diff
changeset
|
276 } |
23623
c014c3fe0de9
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23600
diff
changeset
|
277 #ifdef _WIN32 |
c014c3fe0de9
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23600
diff
changeset
|
278 /* 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:
23600
diff
changeset
|
279 SetErrorMode(old_error_mode); |
c014c3fe0de9
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23600
diff
changeset
|
280 #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
|
281 #endif |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
282 jabber_register_commands(); |
25952
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25951
diff
changeset
|
283 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
284 jabber_iq_init(); |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
285 jabber_pep_init(); |
25952
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25951
diff
changeset
|
286 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
287 jabber_tune_init(); |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
288 jabber_caps_init(); |
25952
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25951
diff
changeset
|
289 |
23777
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23110
diff
changeset
|
290 jabber_data_init(); |
25952
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25951
diff
changeset
|
291 |
5f9a24d1c25e
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25951
diff
changeset
|
292 |
25129
b4ec5481a67a
Implements file transfers using in-band bytestreams for XMPP
Marcus Lundblad <ml@update.uu.se>
parents:
23623
diff
changeset
|
293 jabber_ibb_init(); |
b4ec5481a67a
Implements file transfers using in-band bytestreams for XMPP
Marcus Lundblad <ml@update.uu.se>
parents:
23623
diff
changeset
|
294 jabber_si_init(); |
16241 | 295 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
296 jabber_add_feature("avatarmeta", AVATARNAMESPACEMETA, jabber_pep_namespace_only_when_pep_enabled_cb); |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
297 jabber_add_feature("avatardata", AVATARNAMESPACEDATA, jabber_pep_namespace_only_when_pep_enabled_cb); |
25133
f763be370afb
Updated to new namespace for XEP-0224.
Marcus Lundblad <ml@update.uu.se>
parents:
24061
diff
changeset
|
298 jabber_add_feature("buzz", XEP_0224_NAMESPACE, |
23777
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23110
diff
changeset
|
299 jabber_buzz_isenabled); |
24058
305fac6af8f9
Updated to use latest spec. in XEP-0231
Marcus Lundblad <ml@update.uu.se>
parents:
24056
diff
changeset
|
300 jabber_add_feature("bob", XEP_0231_NAMESPACE, |
23777
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23110
diff
changeset
|
301 jabber_custom_smileys_isenabled); |
25721
87a206ca018f
Some changes got lost when I merged...
Marcus Lundblad <ml@update.uu.se>
parents:
25720
diff
changeset
|
302 jabber_add_feature("ibb", XEP_0047_NAMESPACE, NULL); |
23777
4ac5db6e39f3
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents:
23110
diff
changeset
|
303 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
304 jabber_pep_register_handler("avatar", AVATARNAMESPACEMETA, jabber_buddy_avatar_update_metadata); |
16241 | 305 } |
306 | |
307 | |
308 PURPLE_INIT_PLUGIN(jabber, init_plugin, info); |