Sat, 09 Aug 2008 02:24:38 +0000
propagate from branch 'im.pidgin.pidgin' (head 0cff24bf7dbab39c8efd9ae15752966bda375780)
to branch 'im.pidgin.soc.2008.vv' (head 7647c0dcf202ccea4fa139cc734aeffb143254b5)
| 16303 | 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 | |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
18273
diff
changeset
|
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 16303 | 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 | ||
|
18273
e61c53184c52
#include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
18178
diff
changeset
|
28 | #include "internal.h" |
|
e61c53184c52
#include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
18178
diff
changeset
|
29 | |
| 16303 | 30 | #include "accountopt.h" |
|
19992
3cdb4f27fb7c
Cleanup the SASL init and add error checking.
Daniel Atallah <datallah@pidgin.im>
parents:
19897
diff
changeset
|
31 | #include "debug.h" |
| 16303 | 32 | #include "version.h" |
| 33 | ||
| 34 | #include "iq.h" | |
| 35 | #include "jabber.h" | |
| 36 | #include "chat.h" | |
| 37 | #include "message.h" | |
| 38 | #include "roster.h" | |
| 39 | #include "si.h" | |
| 40 | #include "message.h" | |
| 41 | #include "presence.h" | |
| 42 | #include "google.h" | |
|
17773
6956b763b3d1
Implemented adding callbacks for PEP events. Moved the feature list to be application-global instead of per-connection (makes more sense).
Andreas Monitzer <am@adiumx.com>
parents:
17012
diff
changeset
|
43 | #include "pep.h" |
|
17791
b947d72db9db
Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
17788
diff
changeset
|
44 | #include "usertune.h" |
|
17816
1b7362b4a7a2
Implemented ad-hoc commands for the buddy action menu (untested), implemented the receiving end of XEP-0115: Entity Capabilities. Note that this seems not to be reliable right now, since some clients seem to have a very broken [read: completely non-functional] implementation (most notably Gajim and the py-transports).
Andreas Monitzer <am@adiumx.com>
parents:
17800
diff
changeset
|
45 | #include "caps.h" |
| 16303 | 46 | |
| 47 | static PurplePluginProtocolInfo prpl_info = | |
| 48 | { | |
|
19992
3cdb4f27fb7c
Cleanup the SASL init and add error checking.
Daniel Atallah <datallah@pidgin.im>
parents:
19897
diff
changeset
|
49 | OPT_PROTO_CHAT_TOPIC | OPT_PROTO_UNIQUE_CHATNAME | OPT_PROTO_MAIL_CHECK | |
| 16303 | 50 | #ifdef HAVE_CYRUS_SASL |
|
19992
3cdb4f27fb7c
Cleanup the SASL init and add error checking.
Daniel Atallah <datallah@pidgin.im>
parents:
19897
diff
changeset
|
51 | OPT_PROTO_PASSWORD_OPTIONAL | |
|
3cdb4f27fb7c
Cleanup the SASL init and add error checking.
Daniel Atallah <datallah@pidgin.im>
parents:
19897
diff
changeset
|
52 | #endif |
|
18092
1a2362194473
Mostly taken from the patch on ticket #410, don't send unknown slash
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17012
diff
changeset
|
53 | OPT_PROTO_SLASH_COMMANDS_NATIVE, |
| 16303 | 54 | NULL, /* user_splits */ |
| 55 | NULL, /* protocol_options */ | |
|
21956
5b72953efec0
Remove size restriction on XMPP avatars
Sean Egan <seanegan@pidgin.im>
parents:
21717
diff
changeset
|
56 | {"png", 32, 32, 96, 96, 0, PURPLE_ICON_SCALE_SEND | PURPLE_ICON_SCALE_DISPLAY}, /* icon_spec */ |
| 16303 | 57 | jabber_list_icon, /* list_icon */ |
| 58 | jabber_list_emblem, /* list_emblems */ | |
| 59 | jabber_status_text, /* status_text */ | |
| 60 | jabber_tooltip_text, /* tooltip_text */ | |
| 61 | jabber_status_types, /* status_types */ | |
| 62 | jabber_blist_node_menu, /* blist_node_menu */ | |
| 63 | jabber_chat_info, /* chat_info */ | |
| 64 | jabber_chat_info_defaults, /* chat_info_defaults */ | |
| 65 | jabber_login, /* login */ | |
| 66 | jabber_close, /* close */ | |
| 67 | jabber_message_send_im, /* send_im */ | |
| 68 | jabber_set_info, /* set_info */ | |
| 69 | jabber_send_typing, /* send_typing */ | |
| 70 | jabber_buddy_get_info, /* get_info */ | |
| 17683 | 71 | jabber_presence_send, /* set_status */ |
| 16303 | 72 | jabber_idle_set, /* set_idle */ |
| 73 | NULL, /* change_passwd */ | |
| 74 | jabber_roster_add_buddy, /* add_buddy */ | |
| 75 | NULL, /* add_buddies */ | |
| 76 | jabber_roster_remove_buddy, /* remove_buddy */ | |
| 77 | NULL, /* remove_buddies */ | |
| 78 | NULL, /* add_permit */ | |
| 79 | jabber_google_roster_add_deny, /* add_deny */ | |
| 80 | NULL, /* rem_permit */ | |
| 81 | jabber_google_roster_rem_deny, /* rem_deny */ | |
| 82 | NULL, /* set_permit_deny */ | |
| 83 | jabber_chat_join, /* join_chat */ | |
| 84 | NULL, /* reject_chat */ | |
| 85 | jabber_get_chat_name, /* get_chat_name */ | |
| 86 | jabber_chat_invite, /* chat_invite */ | |
| 87 | jabber_chat_leave, /* chat_leave */ | |
| 88 | NULL, /* chat_whisper */ | |
| 89 | jabber_message_send_chat, /* chat_send */ | |
| 90 | jabber_keepalive, /* keepalive */ | |
| 91 | jabber_register_account, /* register_user */ | |
|
23501
55185be28a1b
Pass the "real" chat username to the pidgin_retrieve_user_info function.
Daniel Atallah <datallah@pidgin.im>
parents:
23497
diff
changeset
|
92 | NULL, /* get_cb_info */ |
| 16303 | 93 | NULL, /* get_cb_away */ |
| 94 | jabber_roster_alias_change, /* alias_buddy */ | |
| 95 | jabber_roster_group_change, /* group_buddy */ | |
| 96 | jabber_roster_group_rename, /* rename_group */ | |
| 97 | NULL, /* buddy_free */ | |
| 98 | jabber_convo_closed, /* convo_closed */ | |
| 99 | jabber_normalize, /* normalize */ | |
| 100 | jabber_set_buddy_icon, /* set_buddy_icon */ | |
| 101 | NULL, /* remove_group */ | |
| 102 | jabber_chat_buddy_real_name, /* get_cb_real_name */ | |
| 103 | jabber_chat_set_topic, /* set_chat_topic */ | |
| 104 | jabber_find_blist_chat, /* find_blist_chat */ | |
| 105 | jabber_roomlist_get_list, /* roomlist_get_list */ | |
| 106 | jabber_roomlist_cancel, /* roomlist_cancel */ | |
| 107 | NULL, /* roomlist_expand_category */ | |
| 108 | NULL, /* can_receive_file */ | |
| 109 | jabber_si_xfer_send, /* send_file */ | |
| 110 | jabber_si_new_xfer, /* new_xfer */ | |
| 111 | jabber_offline_message, /* offline_message */ | |
| 112 | NULL, /* whiteboard_prpl_ops */ | |
| 113 | jabber_prpl_send_raw, /* send_raw */ | |
| 114 | jabber_roomlist_room_serialize, /* roomlist_room_serialize */ | |
|
18912
606597744812
Added unregistering XMPP accounts. This requires a new prpl-struct entry, but I got an ok for that on the mailing list.
Andreas Monitzer <am@adiumx.com>
parents:
18718
diff
changeset
|
115 | jabber_unregister_account, /* unregister_user */ |
|
20674
84b5e90852b8
Uh, these two callbacks were backwards. Methinks somebody didn't test
Mark Doliner <markdoliner@pidgin.im>
parents:
20401
diff
changeset
|
116 | jabber_send_attention, /* send_attention */ |
|
84b5e90852b8
Uh, these two callbacks were backwards. Methinks somebody didn't test
Mark Doliner <markdoliner@pidgin.im>
parents:
20401
diff
changeset
|
117 | jabber_attention_types, /* attention_types */ |
|
22071
4c47e360e467
Fix the prplinfo structs and get rid of some compile warnings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22070
diff
changeset
|
118 | sizeof(PurplePluginProtocolInfo), /* struct_size */ |
|
23707
480f94157418
propagate from branch 'im.pidgin.pidgin' (head bd5f7f61d9349053ee4738efc0d17453f0574057)
Sadrul Habib Chowdhury <sadrul@pidgin.im>
diff
changeset
|
119 | NULL, /* get_account_text_table */ |
|
23704
9b88c9b23aed
Use USE_VV instead of USE_FARSIGHT.
Michael Ruprecht <maiku@pidgin.im>
parents:
23700
diff
changeset
|
120 | #ifdef USE_VV |
|
22648
e286d795c5f9
Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22076
diff
changeset
|
121 | jabber_initiate_media, /* initiate_media */ |
|
e286d795c5f9
Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22076
diff
changeset
|
122 | jabber_can_do_media /* can_do_media */ |
|
23700
e47be56bdd2b
Fix compiling with the --disable-vv switch.
Michael Ruprecht <maiku@pidgin.im>
parents:
22680
diff
changeset
|
123 | #else |
|
e47be56bdd2b
Fix compiling with the --disable-vv switch.
Michael Ruprecht <maiku@pidgin.im>
parents:
22680
diff
changeset
|
124 | NULL, /* initiate_media */ |
|
e47be56bdd2b
Fix compiling with the --disable-vv switch.
Michael Ruprecht <maiku@pidgin.im>
parents:
22680
diff
changeset
|
125 | NULL /* can_do_media */ |
|
e47be56bdd2b
Fix compiling with the --disable-vv switch.
Michael Ruprecht <maiku@pidgin.im>
parents:
22680
diff
changeset
|
126 | #endif |
| 16303 | 127 | }; |
| 128 | ||
| 129 | static gboolean load_plugin(PurplePlugin *plugin) | |
| 130 | { | |
| 131 | purple_signal_register(plugin, "jabber-receiving-xmlnode", | |
| 132 | purple_marshal_VOID__POINTER_POINTER, NULL, 2, | |
| 133 | purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), | |
| 134 | purple_value_new_outgoing(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); | |
| 135 | ||
| 136 | purple_signal_register(plugin, "jabber-sending-xmlnode", | |
| 137 | purple_marshal_VOID__POINTER_POINTER, NULL, 2, | |
| 138 | purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), | |
| 139 | purple_value_new_outgoing(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); | |
| 140 | ||
| 141 | purple_signal_register(plugin, "jabber-sending-text", | |
| 142 | purple_marshal_VOID__POINTER_POINTER, NULL, 2, | |
| 143 | purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), | |
| 144 | purple_value_new_outgoing(PURPLE_TYPE_STRING)); | |
| 145 | ||
| 146 | ||
| 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"); | |
| 155 | ||
| 156 | purple_signal_unregister(plugin, "jabber-sending-text"); | |
| 157 | ||
| 158 | return TRUE; | |
| 159 | } | |
| 160 | ||
| 161 | static PurplePluginInfo info = | |
| 162 | { | |
| 163 | PURPLE_PLUGIN_MAGIC, | |
| 164 | PURPLE_MAJOR_VERSION, | |
| 165 | PURPLE_MINOR_VERSION, | |
| 166 | PURPLE_PLUGIN_PROTOCOL, /**< type */ | |
| 167 | NULL, /**< ui_requirement */ | |
| 168 | 0, /**< flags */ | |
| 169 | NULL, /**< dependencies */ | |
| 170 | PURPLE_PRIORITY_DEFAULT, /**< priority */ | |
| 171 | ||
| 172 | "prpl-jabber", /**< id */ | |
| 173 | "XMPP", /**< name */ | |
|
21106
b85fbef13eed
Add a --with-extraversion option to ./configure so packagers can fine tune
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
20674
diff
changeset
|
174 | DISPLAY_VERSION, /**< version */ |
| 16303 | 175 | /** summary */ |
|
16961
b6955f946f8f
s/Jabber/XMPP in user-visible places.
Richard Laager <rlaager@pidgin.im>
parents:
16799
diff
changeset
|
176 | N_("XMPP Protocol Plugin"), |
| 16303 | 177 | /** description */ |
|
16961
b6955f946f8f
s/Jabber/XMPP in user-visible places.
Richard Laager <rlaager@pidgin.im>
parents:
16799
diff
changeset
|
178 | N_("XMPP Protocol Plugin"), |
| 16303 | 179 | NULL, /**< author */ |
| 180 | PURPLE_WEBSITE, /**< homepage */ | |
| 181 | ||
| 182 | load_plugin, /**< load */ | |
| 183 | unload_plugin, /**< unload */ | |
| 184 | NULL, /**< destroy */ | |
| 185 | ||
| 186 | NULL, /**< ui_info */ | |
| 187 | &prpl_info, /**< extra_info */ | |
| 188 | NULL, /**< prefs_info */ | |
|
16746
72faf41c3c4f
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16303
diff
changeset
|
189 | jabber_actions, |
|
72faf41c3c4f
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16303
diff
changeset
|
190 | |
|
72faf41c3c4f
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16303
diff
changeset
|
191 | /* padding */ |
|
72faf41c3c4f
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16303
diff
changeset
|
192 | NULL, |
|
72faf41c3c4f
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16303
diff
changeset
|
193 | NULL, |
|
72faf41c3c4f
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16303
diff
changeset
|
194 | NULL, |
|
72faf41c3c4f
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16303
diff
changeset
|
195 | NULL |
| 16303 | 196 | }; |
| 197 | ||
| 198 | static void | |
| 199 | init_plugin(PurplePlugin *plugin) | |
| 200 | { | |
|
19992
3cdb4f27fb7c
Cleanup the SASL init and add error checking.
Daniel Atallah <datallah@pidgin.im>
parents:
19897
diff
changeset
|
201 | #ifdef HAVE_CYRUS_SASL |
|
21395
e5bb2b0df509
Improved cyrus sasl support on win32:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
21106
diff
changeset
|
202 | #ifdef _WIN32 |
|
23935
317e5babd704
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <datallah@pidgin.im>
parents:
23912
diff
changeset
|
203 | UINT old_error_mode; |
|
21395
e5bb2b0df509
Improved cyrus sasl support on win32:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
21106
diff
changeset
|
204 | gchar *sasldir; |
|
e5bb2b0df509
Improved cyrus sasl support on win32:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
21106
diff
changeset
|
205 | #endif |
|
19992
3cdb4f27fb7c
Cleanup the SASL init and add error checking.
Daniel Atallah <datallah@pidgin.im>
parents:
19897
diff
changeset
|
206 | int ret; |
|
3cdb4f27fb7c
Cleanup the SASL init and add error checking.
Daniel Atallah <datallah@pidgin.im>
parents:
19897
diff
changeset
|
207 | #endif |
|
19894
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
208 | PurpleAccountUserSplit *split; |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
209 | PurpleAccountOption *option; |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
210 | |
|
17008
502623177086
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@pidgin.im>
parents:
17007
diff
changeset
|
211 | /* Translators: 'domain' is used here in the context of Internet domains, e.g. pidgin.im */ |
|
19894
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
212 | split = purple_account_user_split_new(_("Domain"), NULL, '@'); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
213 | purple_account_user_split_set_reverse(split, FALSE); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
214 | prpl_info.user_splits = g_list_append(prpl_info.user_splits, split); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
215 | |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
216 | split = purple_account_user_split_new(_("Resource"), "Home", '/'); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
217 | purple_account_user_split_set_reverse(split, FALSE); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
218 | prpl_info.user_splits = g_list_append(prpl_info.user_splits, split); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
219 | |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
220 | option = purple_account_option_bool_new(_("Require SSL/TLS"), "require_tls", FALSE); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
221 | prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
222 | option); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
223 | |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
224 | option = purple_account_option_bool_new(_("Force old (port 5223) SSL"), "old_ssl", FALSE); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
225 | prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
226 | option); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
227 | |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
228 | option = purple_account_option_bool_new( |
|
21717
424d552a8435
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 <datallah@pidgin.im>
parents:
21688
diff
changeset
|
229 | _("Allow plaintext auth over unencrypted streams"), |
|
424d552a8435
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 <datallah@pidgin.im>
parents:
21688
diff
changeset
|
230 | "auth_plain_in_clear", FALSE); |
|
19894
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
231 | prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
|
21717
424d552a8435
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 <datallah@pidgin.im>
parents:
21688
diff
changeset
|
232 | option); |
|
22645
04b138e79436
Now that Adium has cyrus-sasl enabled, I'm having a lot of users report problems connecting to servers which ultimately turn out to be that the server supports GSSAPI in addition to other mechanisms and the user isn't configured serverside or clientside to authenticate properly. Generally speaking, a user/password combination is the expectation for most people for connecting.
Evan Schoenberg <evands@pidgin.im>
parents:
21956
diff
changeset
|
233 | |
|
19894
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
234 | option = purple_account_option_int_new(_("Connect port"), "port", 5222); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
235 | prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
|
21717
424d552a8435
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 <datallah@pidgin.im>
parents:
21688
diff
changeset
|
236 | option); |
|
424d552a8435
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 <datallah@pidgin.im>
parents:
21688
diff
changeset
|
237 | |
|
19894
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
238 | option = purple_account_option_string_new(_("Connect server"), |
|
21717
424d552a8435
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 <datallah@pidgin.im>
parents:
21688
diff
changeset
|
239 | "connect_server", NULL); |
|
19894
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
240 | prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
|
21717
424d552a8435
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 <datallah@pidgin.im>
parents:
21688
diff
changeset
|
241 | option); |
|
424d552a8435
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 <datallah@pidgin.im>
parents:
21688
diff
changeset
|
242 | |
|
21688
a16385b34219
Implement more of XEP-0065 to support sending files through a proxy. To avoid adding strings this close to a release, it only supports using a proxy that is discovered from the server, but we'll include an account option to manually specify a ft proxy in the next release. Lots of this is based on a patch from galt - Fixes #3730, #116, #1768
Daniel Atallah <datallah@pidgin.im>
parents:
21395
diff
changeset
|
243 | option = purple_account_option_string_new(_("File transfer proxies"), |
|
a16385b34219
Implement more of XEP-0065 to support sending files through a proxy. To avoid adding strings this close to a release, it only supports using a proxy that is discovered from the server, but we'll include an account option to manually specify a ft proxy in the next release. Lots of this is based on a patch from galt - Fixes #3730, #116, #1768
Daniel Atallah <datallah@pidgin.im>
parents:
21395
diff
changeset
|
244 | "ft_proxies", |
|
a16385b34219
Implement more of XEP-0065 to support sending files through a proxy. To avoid adding strings this close to a release, it only supports using a proxy that is discovered from the server, but we'll include an account option to manually specify a ft proxy in the next release. Lots of this is based on a patch from galt - Fixes #3730, #116, #1768
Daniel Atallah <datallah@pidgin.im>
parents:
21395
diff
changeset
|
245 | /* TODO: Is this an acceptable default? */ |
|
23912
8169bfe82e47
Use Service Discovery to look up information about the manually specified FT
Daniel Atallah <datallah@pidgin.im>
parents:
23504
diff
changeset
|
246 | "proxy.jabber.org"); |
|
21688
a16385b34219
Implement more of XEP-0065 to support sending files through a proxy. To avoid adding strings this close to a release, it only supports using a proxy that is discovered from the server, but we'll include an account option to manually specify a ft proxy in the next release. Lots of this is based on a patch from galt - Fixes #3730, #116, #1768
Daniel Atallah <datallah@pidgin.im>
parents:
21395
diff
changeset
|
247 | prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
|
a16385b34219
Implement more of XEP-0065 to support sending files through a proxy. To avoid adding strings this close to a release, it only supports using a proxy that is discovered from the server, but we'll include an account option to manually specify a ft proxy in the next release. Lots of this is based on a patch from galt - Fixes #3730, #116, #1768
Daniel Atallah <datallah@pidgin.im>
parents:
21395
diff
changeset
|
248 | option); |
|
a16385b34219
Implement more of XEP-0065 to support sending files through a proxy. To avoid adding strings this close to a release, it only supports using a proxy that is discovered from the server, but we'll include an account option to manually specify a ft proxy in the next release. Lots of this is based on a patch from galt - Fixes #3730, #116, #1768
Daniel Atallah <datallah@pidgin.im>
parents:
21395
diff
changeset
|
249 | |
|
19894
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
250 | jabber_init_plugin(plugin); |
|
21717
424d552a8435
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 <datallah@pidgin.im>
parents:
21688
diff
changeset
|
251 | |
|
19894
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
252 | purple_prefs_remove("/plugins/prpl/jabber"); |
|
21717
424d552a8435
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 <datallah@pidgin.im>
parents:
21688
diff
changeset
|
253 | |
|
19894
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
254 | /* XXX - If any other plugin wants SASL this won't be good ... */ |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
255 | #ifdef HAVE_CYRUS_SASL |
|
21395
e5bb2b0df509
Improved cyrus sasl support on win32:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
21106
diff
changeset
|
256 | #ifdef _WIN32 |
|
e5bb2b0df509
Improved cyrus sasl support on win32:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
21106
diff
changeset
|
257 | sasldir = g_build_filename(wpurple_install_dir(), "sasl2", NULL); |
|
e5bb2b0df509
Improved cyrus sasl support on win32:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
21106
diff
changeset
|
258 | sasl_set_path(SASL_PATH_TYPE_PLUGIN, sasldir); |
|
e5bb2b0df509
Improved cyrus sasl support on win32:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
21106
diff
changeset
|
259 | g_free(sasldir); |
|
23935
317e5babd704
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <datallah@pidgin.im>
parents:
23912
diff
changeset
|
260 | /* Suppress error popups for failing to load sasl plugins */ |
|
317e5babd704
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <datallah@pidgin.im>
parents:
23912
diff
changeset
|
261 | old_error_mode = SetErrorMode(SEM_FAILCRITICALERRORS); |
|
21395
e5bb2b0df509
Improved cyrus sasl support on win32:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
21106
diff
changeset
|
262 | #endif |
|
19992
3cdb4f27fb7c
Cleanup the SASL init and add error checking.
Daniel Atallah <datallah@pidgin.im>
parents:
19897
diff
changeset
|
263 | if ((ret = sasl_client_init(NULL)) != SASL_OK) { |
|
3cdb4f27fb7c
Cleanup the SASL init and add error checking.
Daniel Atallah <datallah@pidgin.im>
parents:
19897
diff
changeset
|
264 | purple_debug_error("xmpp", "Error (%d) initializing SASL.\n", ret); |
|
3cdb4f27fb7c
Cleanup the SASL init and add error checking.
Daniel Atallah <datallah@pidgin.im>
parents:
19897
diff
changeset
|
265 | } |
|
23935
317e5babd704
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <datallah@pidgin.im>
parents:
23912
diff
changeset
|
266 | #ifdef _WIN32 |
|
317e5babd704
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <datallah@pidgin.im>
parents:
23912
diff
changeset
|
267 | /* Restore the original error mode */ |
|
317e5babd704
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <datallah@pidgin.im>
parents:
23912
diff
changeset
|
268 | SetErrorMode(old_error_mode); |
|
317e5babd704
Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <datallah@pidgin.im>
parents:
23912
diff
changeset
|
269 | #endif |
|
19894
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
270 | #endif |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
271 | jabber_register_commands(); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
272 | |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
273 | jabber_iq_init(); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
274 | jabber_pep_init(); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
275 | |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
276 | jabber_tune_init(); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
277 | jabber_caps_init(); |
| 16303 | 278 | |
|
19894
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
279 | jabber_add_feature("avatarmeta", AVATARNAMESPACEMETA, jabber_pep_namespace_only_when_pep_enabled_cb); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
280 | jabber_add_feature("avatardata", AVATARNAMESPACEDATA, jabber_pep_namespace_only_when_pep_enabled_cb); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
281 | jabber_add_feature("buzz", "http://www.xmpp.org/extensions/xep-0224.html#ns", jabber_buzz_isenabled); |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
282 | |
|
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
283 | jabber_pep_register_handler("avatar", AVATARNAMESPACEMETA, jabber_buddy_avatar_update_metadata); |
|
23704
9b88c9b23aed
Use USE_VV instead of USE_FARSIGHT.
Michael Ruprecht <maiku@pidgin.im>
parents:
23700
diff
changeset
|
284 | #ifdef USE_VV |
|
22680
e34bff6d7062
Patch from Michael Ruprecht (Maiku) to announce voice support to the officia gtalk client. References #34.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22679
diff
changeset
|
285 | jabber_add_feature("voice-v1", "http://www.xmpp.org/extensions/xep-0167.html#ns", NULL); |
|
e34bff6d7062
Patch from Michael Ruprecht (Maiku) to announce voice support to the officia gtalk client. References #34.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22679
diff
changeset
|
286 | #endif |
| 16303 | 287 | } |
| 288 | ||
| 289 | ||
| 290 | PURPLE_INIT_PLUGIN(jabber, init_plugin, info); |