Sun, 23 Jun 2013 21:45:33 +0530
Refactored the jabber protocol to use GObject-based PurpleConversation
| 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" |
|
28136
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
31 | #include "core.h" |
|
19992
3cdb4f27fb7c
Cleanup the SASL init and add error checking.
Daniel Atallah <datallah@pidgin.im>
parents:
19897
diff
changeset
|
32 | #include "debug.h" |
| 16303 | 33 | #include "version.h" |
| 34 | ||
| 35 | #include "iq.h" | |
| 36 | #include "jabber.h" | |
| 37 | #include "chat.h" | |
|
26583
e115c7ef2fcf
Applied disco-2.patch from nops with some modifications:
Paul Aurich <darkrain42@pidgin.im>
parents:
26042
diff
changeset
|
38 | #include "disco.h" |
| 16303 | 39 | #include "message.h" |
| 40 | #include "roster.h" | |
| 41 | #include "si.h" | |
| 42 | #include "message.h" | |
| 43 | #include "presence.h" | |
|
29913
58f5122fbcd3
First shot at refactoring the Google-specific XMPP code.
Marcus Lundblad <malu@pidgin.im>
parents:
29863
diff
changeset
|
44 | #include "google/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
|
45 | #include "pep.h" |
|
29407
e4140d21900d
Implemented the get_moods prpl function for XMPP. Enables the generic mood
Marcus Lundblad <malu@pidgin.im>
parents:
29404
diff
changeset
|
46 | #include "usermood.h" |
|
17791
b947d72db9db
Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
17788
diff
changeset
|
47 | #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
|
48 | #include "caps.h" |
|
23626
e21afec2f485
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <malu@pidgin.im>
parents:
23277
diff
changeset
|
49 | #include "data.h" |
|
25985
30cc8ab16afe
Some changes got lost when I merged...
Marcus Lundblad <malu@pidgin.im>
parents:
25984
diff
changeset
|
50 | #include "ibb.h" |
| 16303 | 51 | |
|
28136
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
52 | static PurplePlugin *my_protocol = NULL; |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
53 | |
| 16303 | 54 | static PurplePluginProtocolInfo prpl_info = |
| 55 | { | |
|
32316
21dab55b4699
Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32315
diff
changeset
|
56 | sizeof(PurplePluginProtocolInfo), /* struct_size */ |
|
19992
3cdb4f27fb7c
Cleanup the SASL init and add error checking.
Daniel Atallah <datallah@pidgin.im>
parents:
19897
diff
changeset
|
57 | OPT_PROTO_CHAT_TOPIC | OPT_PROTO_UNIQUE_CHATNAME | OPT_PROTO_MAIL_CHECK | |
| 16303 | 58 | #ifdef HAVE_CYRUS_SASL |
|
19992
3cdb4f27fb7c
Cleanup the SASL init and add error checking.
Daniel Atallah <datallah@pidgin.im>
parents:
19897
diff
changeset
|
59 | OPT_PROTO_PASSWORD_OPTIONAL | |
|
3cdb4f27fb7c
Cleanup the SASL init and add error checking.
Daniel Atallah <datallah@pidgin.im>
parents:
19897
diff
changeset
|
60 | #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
|
61 | OPT_PROTO_SLASH_COMMANDS_NATIVE, |
| 16303 | 62 | NULL, /* user_splits */ |
| 63 | NULL, /* protocol_options */ | |
|
21956
5b72953efec0
Remove size restriction on XMPP avatars
Sean Egan <seanegan@pidgin.im>
parents:
21717
diff
changeset
|
64 | {"png", 32, 32, 96, 96, 0, PURPLE_ICON_SCALE_SEND | PURPLE_ICON_SCALE_DISPLAY}, /* icon_spec */ |
| 16303 | 65 | jabber_list_icon, /* list_icon */ |
| 66 | jabber_list_emblem, /* list_emblems */ | |
| 67 | jabber_status_text, /* status_text */ | |
| 68 | jabber_tooltip_text, /* tooltip_text */ | |
| 69 | jabber_status_types, /* status_types */ | |
| 70 | jabber_blist_node_menu, /* blist_node_menu */ | |
| 71 | jabber_chat_info, /* chat_info */ | |
| 72 | jabber_chat_info_defaults, /* chat_info_defaults */ | |
| 73 | jabber_login, /* login */ | |
| 74 | jabber_close, /* close */ | |
| 75 | jabber_message_send_im, /* send_im */ | |
| 76 | jabber_set_info, /* set_info */ | |
| 77 | jabber_send_typing, /* send_typing */ | |
| 78 | jabber_buddy_get_info, /* get_info */ | |
|
24717
13c7497f44f8
Clean up jabber_presence_send
Paul Aurich <darkrain42@pidgin.im>
parents:
24715
diff
changeset
|
79 | jabber_set_status, /* set_status */ |
| 16303 | 80 | jabber_idle_set, /* set_idle */ |
| 81 | NULL, /* change_passwd */ | |
| 82 | jabber_roster_add_buddy, /* add_buddy */ | |
| 83 | NULL, /* add_buddies */ | |
| 84 | jabber_roster_remove_buddy, /* remove_buddy */ | |
| 85 | NULL, /* remove_buddies */ | |
| 86 | NULL, /* add_permit */ | |
|
25290
033942580f51
Commit patch #7670: Implement xep-0191 (simple blocking) for jabber protocols
Mark Doliner <markdoliner@pidgin.im>
parents:
24820
diff
changeset
|
87 | jabber_add_deny, /* add_deny */ |
| 16303 | 88 | NULL, /* rem_permit */ |
|
25290
033942580f51
Commit patch #7670: Implement xep-0191 (simple blocking) for jabber protocols
Mark Doliner <markdoliner@pidgin.im>
parents:
24820
diff
changeset
|
89 | jabber_rem_deny, /* rem_deny */ |
| 16303 | 90 | NULL, /* set_permit_deny */ |
| 91 | jabber_chat_join, /* join_chat */ | |
| 92 | NULL, /* reject_chat */ | |
| 93 | jabber_get_chat_name, /* get_chat_name */ | |
| 94 | jabber_chat_invite, /* chat_invite */ | |
| 95 | jabber_chat_leave, /* chat_leave */ | |
| 96 | NULL, /* chat_whisper */ | |
| 97 | jabber_message_send_chat, /* chat_send */ | |
| 98 | jabber_keepalive, /* keepalive */ | |
| 99 | 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
|
100 | NULL, /* get_cb_info */ |
| 16303 | 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 */ | |
|
28879
27cc8217e86e
jabber: Determine if a buddy can receive a file transfer (when we have
Marcus Lundblad <malu@pidgin.im>
parents:
28832
diff
changeset
|
115 | jabber_can_receive_file, /* can_receive_file */ |
| 16303 | 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 */ | |
|
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
|
122 | 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
|
123 | 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
|
124 | jabber_attention_types, /* attention_types */ |
|
23707
480f94157418
propagate from branch 'im.pidgin.pidgin' (head bd5f7f61d9349053ee4738efc0d17453f0574057)
Sadrul Habib Chowdhury <sadrul@pidgin.im>
diff
changeset
|
125 | NULL, /* get_account_text_table */ |
|
22648
e286d795c5f9
Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22076
diff
changeset
|
126 | jabber_initiate_media, /* initiate_media */ |
|
26316
950c0d491c0d
Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents:
26186
diff
changeset
|
127 | jabber_get_media_caps, /* get_media_caps */ |
|
30138
cca9685df785
Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents:
29863
diff
changeset
|
128 | jabber_get_moods, /* get_moods */ |
|
cca9685df785
Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents:
29863
diff
changeset
|
129 | NULL, /* set_public_alias */ |
|
32315
2550a39e0285
Rename the _with_invite functions to their counterparts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31595
diff
changeset
|
130 | NULL /* get_public_alias */ |
| 16303 | 131 | }; |
| 132 | ||
| 133 | static gboolean load_plugin(PurplePlugin *plugin) | |
| 134 | { | |
|
29844
6c6e346e1390
jabber: Move the initialization into the jabber plugin, and only initialize some things once.
Paul Aurich <darkrain42@pidgin.im>
parents:
29749
diff
changeset
|
135 | jabber_plugin_init(plugin); |
|
27103
815af6acd59b
Add jabber signals for IQ, Message, and Presence stanzas. Lightly tested (it doesn't crash [Prove me wrong!]) and as you'll note, I refer to documentation that doesn't yet exist.
Paul Aurich <darkrain42@pidgin.im>
parents:
27060
diff
changeset
|
136 | |
| 16303 | 137 | return TRUE; |
| 138 | } | |
| 139 | ||
| 140 | static gboolean unload_plugin(PurplePlugin *plugin) | |
| 141 | { | |
|
29844
6c6e346e1390
jabber: Move the initialization into the jabber plugin, and only initialize some things once.
Paul Aurich <darkrain42@pidgin.im>
parents:
29749
diff
changeset
|
142 | jabber_plugin_uninit(plugin); |
|
26042
4dabdb5fe213
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26041
diff
changeset
|
143 | |
| 16303 | 144 | return TRUE; |
| 145 | } | |
| 146 | ||
| 147 | static PurplePluginInfo info = | |
| 148 | { | |
| 149 | PURPLE_PLUGIN_MAGIC, | |
| 150 | PURPLE_MAJOR_VERSION, | |
| 151 | PURPLE_MINOR_VERSION, | |
| 152 | PURPLE_PLUGIN_PROTOCOL, /**< type */ | |
| 153 | NULL, /**< ui_requirement */ | |
| 154 | 0, /**< flags */ | |
| 155 | NULL, /**< dependencies */ | |
| 156 | PURPLE_PRIORITY_DEFAULT, /**< priority */ | |
| 157 | ||
| 158 | "prpl-jabber", /**< id */ | |
| 159 | "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
|
160 | DISPLAY_VERSION, /**< version */ |
| 16303 | 161 | /** summary */ |
|
16961
b6955f946f8f
s/Jabber/XMPP in user-visible places.
Richard Laager <rlaager@pidgin.im>
parents:
16799
diff
changeset
|
162 | N_("XMPP Protocol Plugin"), |
| 16303 | 163 | /** description */ |
|
16961
b6955f946f8f
s/Jabber/XMPP in user-visible places.
Richard Laager <rlaager@pidgin.im>
parents:
16799
diff
changeset
|
164 | N_("XMPP Protocol Plugin"), |
| 16303 | 165 | NULL, /**< author */ |
| 166 | PURPLE_WEBSITE, /**< homepage */ | |
| 167 | ||
| 168 | load_plugin, /**< load */ | |
| 169 | unload_plugin, /**< unload */ | |
| 170 | NULL, /**< destroy */ | |
| 171 | ||
| 172 | NULL, /**< ui_info */ | |
| 173 | &prpl_info, /**< extra_info */ | |
| 174 | NULL, /**< prefs_info */ | |
|
16746
72faf41c3c4f
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16303
diff
changeset
|
175 | jabber_actions, |
|
72faf41c3c4f
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16303
diff
changeset
|
176 | |
|
72faf41c3c4f
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16303
diff
changeset
|
177 | /* padding */ |
|
72faf41c3c4f
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16303
diff
changeset
|
178 | NULL, |
|
72faf41c3c4f
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16303
diff
changeset
|
179 | NULL, |
|
72faf41c3c4f
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16303
diff
changeset
|
180 | NULL, |
|
72faf41c3c4f
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16303
diff
changeset
|
181 | NULL |
| 16303 | 182 | }; |
| 183 | ||
|
28136
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
184 | static PurpleAccount *find_acct(const char *prpl, const char *acct_id) |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
185 | { |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
186 | PurpleAccount *acct = NULL; |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
187 | |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
188 | /* If we have a specific acct, use it */ |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
189 | if (acct_id) { |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
190 | acct = purple_accounts_find(acct_id, prpl); |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
191 | if (acct && !purple_account_is_connected(acct)) |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
192 | acct = NULL; |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
193 | } else { /* Otherwise find an active account for the protocol */ |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
194 | GList *l = purple_accounts_get_all(); |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
195 | while (l) { |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
196 | if (!strcmp(prpl, purple_account_get_protocol_id(l->data)) |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
197 | && purple_account_is_connected(l->data)) { |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
198 | acct = l->data; |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
199 | break; |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
200 | } |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
201 | l = l->next; |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
202 | } |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
203 | } |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
204 | |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
205 | return acct; |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
206 | } |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
207 | |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
208 | static gboolean xmpp_uri_handler(const char *proto, const char *user, GHashTable *params) |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
209 | { |
|
29109
43b1543582a6
On Windows, treat a 'xmpp:foo@bar.com' URI as opening an IM window.
Paul Aurich <darkrain42@pidgin.im>
parents:
28879
diff
changeset
|
210 | char *acct_id = params ? g_hash_table_lookup(params, "account") : NULL; |
|
28136
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
211 | PurpleAccount *acct; |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
212 | |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
213 | if (g_ascii_strcasecmp(proto, "xmpp")) |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
214 | return FALSE; |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
215 | |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
216 | acct = find_acct(purple_plugin_get_id(my_protocol), acct_id); |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
217 | |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
218 | if (!acct) |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
219 | return FALSE; |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
220 | |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
221 | /* xmpp:romeo@montague.net?message;subject=Test%20Message;body=Here%27s%20a%20test%20message */ |
|
29109
43b1543582a6
On Windows, treat a 'xmpp:foo@bar.com' URI as opening an IM window.
Paul Aurich <darkrain42@pidgin.im>
parents:
28879
diff
changeset
|
222 | /* params is NULL if the URI has no '?' (or anything after it) */ |
|
43b1543582a6
On Windows, treat a 'xmpp:foo@bar.com' URI as opening an IM window.
Paul Aurich <darkrain42@pidgin.im>
parents:
28879
diff
changeset
|
223 | if (!params || g_hash_table_lookup_extended(params, "message", NULL, NULL)) { |
|
28136
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
224 | char *body = g_hash_table_lookup(params, "body"); |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
225 | if (user && *user) { |
|
34634
90fa70aa7e28
Refactored the jabber protocol to use GObject-based PurpleConversation
Ankit Vani <a@nevitus.org>
parents:
34627
diff
changeset
|
226 | PurpleIMConversation *im = |
|
34627
08733a7475df
Replaced purple_conversation_new() with purple_[im,chat]_conversation_new()
Ankit Vani <a@nevitus.org>
parents:
32338
diff
changeset
|
227 | purple_im_conversation_new(acct, user); |
|
34634
90fa70aa7e28
Refactored the jabber protocol to use GObject-based PurpleConversation
Ankit Vani <a@nevitus.org>
parents:
34627
diff
changeset
|
228 | purple_conversation_present(PURPLE_CONVERSATION(im)); |
|
28136
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
229 | if (body && *body) |
|
34634
90fa70aa7e28
Refactored the jabber protocol to use GObject-based PurpleConversation
Ankit Vani <a@nevitus.org>
parents:
34627
diff
changeset
|
230 | purple_conversation_send_confirm(PURPLE_CONVERSATION(im), body); |
|
28136
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
231 | } |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
232 | } else if (g_hash_table_lookup_extended(params, "roster", NULL, NULL)) { |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
233 | char *name = g_hash_table_lookup(params, "name"); |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
234 | if (user && *user) |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
235 | purple_blist_request_add_buddy(acct, user, NULL, name); |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
236 | } else if (g_hash_table_lookup_extended(params, "join", NULL, NULL)) { |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
237 | PurpleConnection *gc = purple_account_get_connection(acct); |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
238 | if (user && *user) { |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
239 | GHashTable *params = jabber_chat_info_defaults(gc, user); |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
240 | jabber_chat_join(gc, params); |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
241 | } |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
242 | return TRUE; |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
243 | } |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
244 | |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
245 | return FALSE; |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
246 | } |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
247 | |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
248 | |
| 16303 | 249 | static void |
| 250 | init_plugin(PurplePlugin *plugin) | |
| 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 | 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
|
253 | PurpleAccountOption *option; |
|
30740
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
254 | GList *encryption_values = NULL; |
|
26042
4dabdb5fe213
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26041
diff
changeset
|
255 | |
|
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
|
256 | /* 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
|
257 | 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
|
258 | 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
|
259 | prpl_info.user_splits = g_list_append(prpl_info.user_splits, split); |
|
26042
4dabdb5fe213
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26041
diff
changeset
|
260 | |
|
29863
314a27e16325
jabber: Fix leaving the Resource blank in Finch, so it isn't '(null)'
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
29847
diff
changeset
|
261 | split = purple_account_user_split_new(_("Resource"), "", '/'); |
|
19894
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
262 | 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
|
263 | prpl_info.user_splits = g_list_append(prpl_info.user_splits, split); |
|
26042
4dabdb5fe213
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26041
diff
changeset
|
264 | |
|
30740
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
265 | #define ADD_VALUE(list, desc, v) { \ |
|
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
266 | PurpleKeyValuePair *kvp = g_new0(PurpleKeyValuePair, 1); \ |
|
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
267 | kvp->key = g_strdup((desc)); \ |
|
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
268 | kvp->value = g_strdup((v)); \ |
|
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
269 | list = g_list_prepend(list, kvp); \ |
|
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
270 | } |
|
26042
4dabdb5fe213
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26041
diff
changeset
|
271 | |
|
30740
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
272 | ADD_VALUE(encryption_values, _("Require encryption"), "require_tls"); |
|
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
273 | ADD_VALUE(encryption_values, _("Use encryption if available"), "opportunistic_tls"); |
|
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
274 | ADD_VALUE(encryption_values, _("Use old-style SSL"), "old_ssl"); |
|
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
275 | #if 0 |
|
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
276 | ADD_VALUE(encryption_values, "None", "none"); |
|
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
277 | #endif |
|
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
278 | encryption_values = g_list_reverse(encryption_values); |
|
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
279 | |
|
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
280 | #undef ADD_VALUE |
|
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
281 | |
|
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
282 | option = purple_account_option_list_new(_("Connection security"), "connection_security", encryption_values); |
|
19894
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
283 | prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
|
30740
017077f79a0f
jabber: Unify "Require TLS" and "Use old-style (port 5223) SSL" settings
Paul Aurich <darkrain42@pidgin.im>
parents:
30138
diff
changeset
|
284 | option); |
|
26042
4dabdb5fe213
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26041
diff
changeset
|
285 | |
|
19894
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
286 | 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
|
287 | _("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
|
288 | "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
|
289 | 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
|
290 | option); |
|
26042
4dabdb5fe213
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26041
diff
changeset
|
291 | |
|
19894
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
292 | 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
|
293 | 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
|
294 | 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
|
295 | |
|
19894
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
296 | 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
|
297 | "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
|
298 | 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
|
299 | 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
|
300 | |
|
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
|
301 | 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
|
302 | "ft_proxies", |
|
27060
f73b519db0c9
Marcus convinced me (I didn't need much) this is a better idea.
Paul Aurich <darkrain42@pidgin.im>
parents:
27059
diff
changeset
|
303 | /* TODO: Is this an acceptable default? |
|
f73b519db0c9
Marcus convinced me (I didn't need much) this is a better idea.
Paul Aurich <darkrain42@pidgin.im>
parents:
27059
diff
changeset
|
304 | * Also, keep this in sync as they add more servers */ |
|
29370
9ff8f3bdd0f5
jabber: Update the default FT proxy (if it's still set as the previous, broken, default).
Paul Aurich <darkrain42@pidgin.im>
parents:
29292
diff
changeset
|
305 | JABBER_DEFAULT_FT_PROXIES); |
|
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
|
306 | 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
|
307 | 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
|
308 | |
|
27397
690965a5ff24
Make "BOSH URL" its own account option.
Paul Aurich <darkrain42@pidgin.im>
parents:
27225
diff
changeset
|
309 | option = purple_account_option_string_new(_("BOSH URL"), |
|
690965a5ff24
Make "BOSH URL" its own account option.
Paul Aurich <darkrain42@pidgin.im>
parents:
27225
diff
changeset
|
310 | "bosh_url", NULL); |
|
690965a5ff24
Make "BOSH URL" its own account option.
Paul Aurich <darkrain42@pidgin.im>
parents:
27225
diff
changeset
|
311 | prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
|
690965a5ff24
Make "BOSH URL" its own account option.
Paul Aurich <darkrain42@pidgin.im>
parents:
27225
diff
changeset
|
312 | option); |
|
690965a5ff24
Make "BOSH URL" its own account option.
Paul Aurich <darkrain42@pidgin.im>
parents:
27225
diff
changeset
|
313 | |
|
23626
e21afec2f485
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <malu@pidgin.im>
parents:
23277
diff
changeset
|
314 | /* this should probably be part of global smiley theme settings later on, |
|
e21afec2f485
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <malu@pidgin.im>
parents:
23277
diff
changeset
|
315 | shared with MSN */ |
|
e21afec2f485
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <malu@pidgin.im>
parents:
23277
diff
changeset
|
316 | option = purple_account_option_bool_new(_("Show Custom Smileys"), |
|
e21afec2f485
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <malu@pidgin.im>
parents:
23277
diff
changeset
|
317 | "custom_smileys", TRUE); |
|
e21afec2f485
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <malu@pidgin.im>
parents:
23277
diff
changeset
|
318 | prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
|
e21afec2f485
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <malu@pidgin.im>
parents:
23277
diff
changeset
|
319 | option); |
|
e21afec2f485
Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <malu@pidgin.im>
parents:
23277
diff
changeset
|
320 | |
|
28136
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
321 | my_protocol = 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
|
322 | |
|
19894
b273d0db2bdd
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <am@adiumx.com>
parents:
18996
diff
changeset
|
323 | 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
|
324 | |
|
28136
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
325 | purple_signal_connect(purple_get_core(), "uri-handler", plugin, |
|
a3b6446eb2c4
Add support for XMPP URIs on Windows. Closes #2326.
Paul Aurich <darkrain42@pidgin.im>
parents:
27601
diff
changeset
|
326 | PURPLE_CALLBACK(xmpp_uri_handler), NULL); |
| 16303 | 327 | } |
| 328 | ||
| 329 | ||
| 330 | PURPLE_INIT_PLUGIN(jabber, init_plugin, info); |