Mercurial > pidgin
annotate libpurple/protocols/jabber/libxmpp.c @ 22532:49deb72ffdc1
Discussion is in progress on pidgin-devel about the preference to enable/disable GSSAPI, but upon reflection it should, if it exists at all, default to TRUE. Making it do so for the time being.
author | Evan Schoenberg <evan.s@dreskin.net> |
---|---|
date | Thu, 20 Mar 2008 08:42:15 +0000 |
parents | aed6cbd18a3b |
children | e062a1dfe6ad a8a26b4d8458 |
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" | |
37 #include "message.h" | |
38 #include "roster.h" | |
39 #include "si.h" | |
40 #include "message.h" | |
41 #include "presence.h" | |
42 #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
|
43 #include "pep.h" |
17857
3e437e86bd6e
Implemented user tune, currently untested.
Andreas Monitzer <pidgin@monitzer.com>
parents:
17854
diff
changeset
|
44 #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
|
45 #include "caps.h" |
16241 | 46 |
47 static PurplePluginProtocolInfo prpl_info = | |
48 { | |
19998
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19697
diff
changeset
|
49 OPT_PROTO_CHAT_TOPIC | OPT_PROTO_UNIQUE_CHATNAME | OPT_PROTO_MAIL_CHECK | |
16241 | 50 #ifdef HAVE_CYRUS_SASL |
19998
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19697
diff
changeset
|
51 OPT_PROTO_PASSWORD_OPTIONAL | |
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19697
diff
changeset
|
52 #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
|
53 OPT_PROTO_SLASH_COMMANDS_NATIVE, |
16241 | 54 NULL, /* user_splits */ |
55 NULL, /* protocol_options */ | |
21841
d0a3463633ba
Remove size restriction on XMPP avatars
Sean Egan <seanegan@gmail.com>
parents:
21637
diff
changeset
|
56 {"png", 32, 32, 96, 96, 0, PURPLE_ICON_SCALE_SEND | PURPLE_ICON_SCALE_DISPLAY}, /* icon_spec */ |
16241 | 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 */ | |
17576 | 71 jabber_presence_send, /* set_status */ |
16241 | 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 */ | |
92 jabber_buddy_get_info_chat, /* get_cb_info */ | |
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 */ | |
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
|
115 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
|
116 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
|
117 jabber_attention_types, /* attention_types */ |
16667
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
118 |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
119 /* padding */ |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
120 NULL |
16241 | 121 }; |
122 | |
123 static gboolean load_plugin(PurplePlugin *plugin) | |
124 { | |
125 purple_signal_register(plugin, "jabber-receiving-xmlnode", | |
126 purple_marshal_VOID__POINTER_POINTER, NULL, 2, | |
127 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), | |
128 purple_value_new_outgoing(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); | |
129 | |
130 purple_signal_register(plugin, "jabber-sending-xmlnode", | |
131 purple_marshal_VOID__POINTER_POINTER, NULL, 2, | |
132 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), | |
133 purple_value_new_outgoing(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); | |
134 | |
135 purple_signal_register(plugin, "jabber-sending-text", | |
136 purple_marshal_VOID__POINTER_POINTER, NULL, 2, | |
137 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION), | |
138 purple_value_new_outgoing(PURPLE_TYPE_STRING)); | |
139 | |
140 | |
141 return TRUE; | |
142 } | |
143 | |
144 static gboolean unload_plugin(PurplePlugin *plugin) | |
145 { | |
146 purple_signal_unregister(plugin, "jabber-receiving-xmlnode"); | |
147 | |
148 purple_signal_unregister(plugin, "jabber-sending-xmlnode"); | |
149 | |
150 purple_signal_unregister(plugin, "jabber-sending-text"); | |
151 | |
152 return TRUE; | |
153 } | |
154 | |
155 static PurplePluginInfo info = | |
156 { | |
157 PURPLE_PLUGIN_MAGIC, | |
158 PURPLE_MAJOR_VERSION, | |
159 PURPLE_MINOR_VERSION, | |
160 PURPLE_PLUGIN_PROTOCOL, /**< type */ | |
161 NULL, /**< ui_requirement */ | |
162 0, /**< flags */ | |
163 NULL, /**< dependencies */ | |
164 PURPLE_PRIORITY_DEFAULT, /**< priority */ | |
165 | |
166 "prpl-jabber", /**< id */ | |
167 "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
|
168 DISPLAY_VERSION, /**< version */ |
16241 | 169 /** summary */ |
16904
56042b2f8b64
s/Jabber/XMPP in user-visible places.
Richard Laager <rlaager@wiktel.com>
parents:
16719
diff
changeset
|
170 N_("XMPP Protocol Plugin"), |
16241 | 171 /** description */ |
16904
56042b2f8b64
s/Jabber/XMPP in user-visible places.
Richard Laager <rlaager@wiktel.com>
parents:
16719
diff
changeset
|
172 N_("XMPP Protocol Plugin"), |
16241 | 173 NULL, /**< author */ |
174 PURPLE_WEBSITE, /**< homepage */ | |
175 | |
176 load_plugin, /**< load */ | |
177 unload_plugin, /**< unload */ | |
178 NULL, /**< destroy */ | |
179 | |
180 NULL, /**< ui_info */ | |
181 &prpl_info, /**< extra_info */ | |
182 NULL, /**< prefs_info */ | |
16667
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
183 jabber_actions, |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
184 |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
185 /* padding */ |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
186 NULL, |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
187 NULL, |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
188 NULL, |
a338acd14365
And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents:
16241
diff
changeset
|
189 NULL |
16241 | 190 }; |
191 | |
192 static void | |
193 init_plugin(PurplePlugin *plugin) | |
194 { | |
19998
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19697
diff
changeset
|
195 #ifdef HAVE_CYRUS_SASL |
21125
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
196 #ifdef _WIN32 |
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
197 gchar *sasldir; |
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
198 #endif |
19998
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19697
diff
changeset
|
199 int ret; |
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19697
diff
changeset
|
200 #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
|
201 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
|
202 PurpleAccountOption *option; |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
203 |
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
|
204 /* 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
|
205 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
|
206 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
|
207 prpl_info.user_splits = g_list_append(prpl_info.user_splits, split); |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
208 |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
209 split = purple_account_user_split_new(_("Resource"), "Home", '/'); |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
210 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
|
211 prpl_info.user_splits = g_list_append(prpl_info.user_splits, split); |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
212 |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
213 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
|
214 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
|
215 option); |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
216 |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
217 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
|
218 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
|
219 option); |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
220 |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
221 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
|
222 _("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
|
223 "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
|
224 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
|
225 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
|
226 |
22509
aed6cbd18a3b
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 <evan.s@dreskin.net>
parents:
21841
diff
changeset
|
227 #ifdef HAVE_CYRUS_SASL |
aed6cbd18a3b
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 <evan.s@dreskin.net>
parents:
21841
diff
changeset
|
228 option = purple_account_option_bool_new( |
aed6cbd18a3b
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 <evan.s@dreskin.net>
parents:
21841
diff
changeset
|
229 _("Use GSSAPI (Kerberos v5) for authentication"), |
22532
49deb72ffdc1
Discussion is in progress on pidgin-devel about the preference to enable/disable GSSAPI, but upon reflection it should, if it exists at all, default to TRUE. Making it do so for the time being.
Evan Schoenberg <evan.s@dreskin.net>
parents:
22509
diff
changeset
|
230 "auth_gssapi", TRUE); |
22509
aed6cbd18a3b
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 <evan.s@dreskin.net>
parents:
21841
diff
changeset
|
231 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
aed6cbd18a3b
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 <evan.s@dreskin.net>
parents:
21841
diff
changeset
|
232 option); |
aed6cbd18a3b
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 <evan.s@dreskin.net>
parents:
21841
diff
changeset
|
233 #endif |
aed6cbd18a3b
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 <evan.s@dreskin.net>
parents:
21841
diff
changeset
|
234 |
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 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
|
236 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
|
237 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
|
238 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
239 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
|
240 "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
|
241 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
|
242 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
|
243 |
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
|
244 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
|
245 "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
|
246 /* TODO: Is this an acceptable default? */ |
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 "proxy.jabber.org:7777"); |
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 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
|
249 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
|
250 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
251 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
|
252 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
253 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
|
254 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
255 /* 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
|
256 #ifdef HAVE_CYRUS_SASL |
21125
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
257 #ifdef _WIN32 |
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
258 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
|
259 sasl_set_path(SASL_PATH_TYPE_PLUGIN, sasldir); |
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
260 g_free(sasldir); |
23d046a20aa0
Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents:
21030
diff
changeset
|
261 #endif |
19998
7baa2bc64226
Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19697
diff
changeset
|
262 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
|
263 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
|
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 #endif |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
266 jabber_register_commands(); |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
267 |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
268 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
|
269 jabber_pep_init(); |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
270 |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
271 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
|
272 jabber_caps_init(); |
16241 | 273 |
19489
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
274 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
|
275 jabber_add_feature("avatardata", AVATARNAMESPACEDATA, 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
|
276 jabber_add_feature("buzz", "http://www.xmpp.org/extensions/xep-0224.html#ns", jabber_buzz_isenabled); |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
277 |
b0733d5d7621
Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents:
18922
diff
changeset
|
278 jabber_pep_register_handler("avatar", AVATARNAMESPACEMETA, jabber_buddy_avatar_update_metadata); |
16241 | 279 } |
280 | |
281 | |
282 PURPLE_INIT_PLUGIN(jabber, init_plugin, info); |