annotate libpurple/protocols/jabber/libxmpp.c @ 25663:1d1d1829de11

propagate from branch 'im.pidgin.pidgin' (head 42f77b0e8b8ebf5ff3c30d8f8022ac5d289631e8) to branch 'org.darkrain42.pidgin.xmpp' (head f3aa6c57ecb65ae9dbf729bca259e94f48b87279)
author Paul Aurich <paul@darkrain42.org>
date Sun, 18 Jan 2009 04:17:50 +0000
parents 0700833f0c5d 17b60b844803
children 7d2e85f78aec
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1 /* purple
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2 *
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
5 * source distribution.
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
6 *
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
10 * (at your option) any later version.
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
11 *
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
15 * GNU General Public License for more details.
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
16 *
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
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
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
20 *
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
21 */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
22
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
23 /* libxmpp is the XMPP protocol plugin. It is linked against libjabbercommon,
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
24 * which may be used to support other protocols (Bonjour) which may need to
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
25 * share code.
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
26 */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
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
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
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
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
32 #include "version.h"
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
33
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
34 #include "iq.h"
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
35 #include "jabber.h"
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
36 #include "chat.h"
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
37 #include "message.h"
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
38 #include "roster.h"
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
39 #include "si.h"
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
40 #include "message.h"
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
41 #include "presence.h"
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
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"
23777
4ac5db6e39f3 Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents: 23110
diff changeset
46 #include "data.h"
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
47
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
48 static PurplePluginProtocolInfo prpl_info =
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
49 {
19998
7baa2bc64226 Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19697
diff changeset
50 OPT_PROTO_CHAT_TOPIC | OPT_PROTO_UNIQUE_CHATNAME | OPT_PROTO_MAIL_CHECK |
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
51 #ifdef HAVE_CYRUS_SASL
19998
7baa2bc64226 Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19697
diff changeset
52 OPT_PROTO_PASSWORD_OPTIONAL |
7baa2bc64226 Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19697
diff changeset
53 #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
54 OPT_PROTO_SLASH_COMMANDS_NATIVE,
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
55 NULL, /* user_splits */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
56 NULL, /* protocol_options */
21841
d0a3463633ba Remove size restriction on XMPP avatars
Sean Egan <seanegan@gmail.com>
parents: 21637
diff changeset
57 {"png", 32, 32, 96, 96, 0, PURPLE_ICON_SCALE_SEND | PURPLE_ICON_SCALE_DISPLAY}, /* icon_spec */
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
58 jabber_list_icon, /* list_icon */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
59 jabber_list_emblem, /* list_emblems */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
60 jabber_status_text, /* status_text */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
61 jabber_tooltip_text, /* tooltip_text */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
62 jabber_status_types, /* status_types */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
63 jabber_blist_node_menu, /* blist_node_menu */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
64 jabber_chat_info, /* chat_info */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
65 jabber_chat_info_defaults, /* chat_info_defaults */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
66 jabber_login, /* login */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
67 jabber_close, /* close */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
68 jabber_message_send_im, /* send_im */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
69 jabber_set_info, /* set_info */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
70 jabber_send_typing, /* send_typing */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
71 jabber_buddy_get_info, /* get_info */
25147
6d6e10476c52 Clean up jabber_presence_send
Paul Aurich <paul@darkrain42.org>
parents: 25145
diff changeset
72 jabber_set_status, /* set_status */
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
73 jabber_idle_set, /* set_idle */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
74 NULL, /* change_passwd */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
75 jabber_roster_add_buddy, /* add_buddy */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
76 NULL, /* add_buddies */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
77 jabber_roster_remove_buddy, /* remove_buddy */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
78 NULL, /* remove_buddies */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
79 NULL, /* add_permit */
24855
0700833f0c5d Commit patch #7670: Implement xep-0191 (simple blocking) for jabber protocols
Mark Doliner <mark@kingant.net>
parents: 24556
diff changeset
80 jabber_add_deny, /* add_deny */
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
81 NULL, /* rem_permit */
24855
0700833f0c5d Commit patch #7670: Implement xep-0191 (simple blocking) for jabber protocols
Mark Doliner <mark@kingant.net>
parents: 24556
diff changeset
82 jabber_rem_deny, /* rem_deny */
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
83 NULL, /* set_permit_deny */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
84 jabber_chat_join, /* join_chat */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
85 NULL, /* reject_chat */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
86 jabber_get_chat_name, /* get_chat_name */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
87 jabber_chat_invite, /* chat_invite */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
88 jabber_chat_leave, /* chat_leave */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
89 NULL, /* chat_whisper */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
90 jabber_message_send_chat, /* chat_send */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
91 jabber_keepalive, /* keepalive */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
92 jabber_register_account, /* register_user */
23358
da78db9f188f Pass the "real" chat username to the pidgin_retrieve_user_info function.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 23354
diff changeset
93 NULL, /* get_cb_info */
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
94 NULL, /* get_cb_away */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
95 jabber_roster_alias_change, /* alias_buddy */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
96 jabber_roster_group_change, /* group_buddy */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
97 jabber_roster_group_rename, /* rename_group */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
98 NULL, /* buddy_free */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
99 jabber_convo_closed, /* convo_closed */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
100 jabber_normalize, /* normalize */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
101 jabber_set_buddy_icon, /* set_buddy_icon */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
102 NULL, /* remove_group */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
103 jabber_chat_buddy_real_name, /* get_cb_real_name */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
104 jabber_chat_set_topic, /* set_chat_topic */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
105 jabber_find_blist_chat, /* find_blist_chat */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
106 jabber_roomlist_get_list, /* roomlist_get_list */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
107 jabber_roomlist_cancel, /* roomlist_cancel */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
108 NULL, /* roomlist_expand_category */
23355
bc3ecda40397 disapproval of revision 'b499ce3771edb822dda585ef37acbafcc48b71f4'
Daniel Atallah <daniel.atallah@gmail.com>
parents: 23354
diff changeset
109 NULL, /* can_receive_file */
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
110 jabber_si_xfer_send, /* send_file */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
111 jabber_si_new_xfer, /* new_xfer */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
112 jabber_offline_message, /* offline_message */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
113 NULL, /* whiteboard_prpl_ops */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
114 jabber_prpl_send_raw, /* send_raw */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
115 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
116 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
117 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
118 jabber_attention_types, /* attention_types */
16667
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16241
diff changeset
119
23109
718a9c287839 Use up the last padding for PurplePluginProtocolInfo in a way that allows
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22659
diff changeset
120 sizeof(PurplePluginProtocolInfo), /* struct_size */
23110
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23109
diff changeset
121 NULL
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
122 };
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
123
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
124 static gboolean load_plugin(PurplePlugin *plugin)
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
125 {
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
126 purple_signal_register(plugin, "jabber-receiving-xmlnode",
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
127 purple_marshal_VOID__POINTER_POINTER, NULL, 2,
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
128 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION),
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
129 purple_value_new_outgoing(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE));
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
130
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
131 purple_signal_register(plugin, "jabber-sending-xmlnode",
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
132 purple_marshal_VOID__POINTER_POINTER, NULL, 2,
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
133 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION),
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
134 purple_value_new_outgoing(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE));
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
135
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
136 purple_signal_register(plugin, "jabber-sending-text",
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
137 purple_marshal_VOID__POINTER_POINTER, NULL, 2,
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
138 purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION),
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
139 purple_value_new_outgoing(PURPLE_TYPE_STRING));
24058
305fac6af8f9 Updated to use latest spec. in XEP-0231
Marcus Lundblad <ml@update.uu.se>
parents: 24056
diff changeset
140
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
141 return TRUE;
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
142 }
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
143
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
144 static gboolean unload_plugin(PurplePlugin *plugin)
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
145 {
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
146 purple_signal_unregister(plugin, "jabber-receiving-xmlnode");
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
147
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
148 purple_signal_unregister(plugin, "jabber-sending-xmlnode");
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
149
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
150 purple_signal_unregister(plugin, "jabber-sending-text");
25167
860ebaf275ae Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents: 25147
diff changeset
151
860ebaf275ae Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents: 25147
diff changeset
152 /* reverse order of init_plugin */
25182
17b60b844803 Jabber BOSH: more fixes.
Paul Aurich <paul@darkrain42.org>
parents: 25179
diff changeset
153 jabber_bosh_uninit();
24061
fba7c73c8f02 Fixed a memory error, which was due to me destroying some hashtables in the
Marcus Lundblad <ml@update.uu.se>
parents: 24058
diff changeset
154 jabber_data_uninit();
25167
860ebaf275ae Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents: 25147
diff changeset
155 /* PEP things should be uninit via jabber_pep_uninit, not here */
860ebaf275ae Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents: 25147
diff changeset
156 jabber_pep_uninit();
860ebaf275ae Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents: 25147
diff changeset
157 jabber_caps_uninit();
860ebaf275ae Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents: 25147
diff changeset
158 jabber_iq_uninit();
860ebaf275ae Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents: 25147
diff changeset
159
860ebaf275ae Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents: 25147
diff changeset
160 /* Stay on target...stay on target... Almost there... */
860ebaf275ae Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents: 25147
diff changeset
161 jabber_uninit_plugin();
860ebaf275ae Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents: 25147
diff changeset
162
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
163 return TRUE;
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
164 }
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
165
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
166 static PurplePluginInfo info =
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
167 {
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
168 PURPLE_PLUGIN_MAGIC,
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
169 PURPLE_MAJOR_VERSION,
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
170 PURPLE_MINOR_VERSION,
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
171 PURPLE_PLUGIN_PROTOCOL, /**< type */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
172 NULL, /**< ui_requirement */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
173 0, /**< flags */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
174 NULL, /**< dependencies */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
175 PURPLE_PRIORITY_DEFAULT, /**< priority */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
176
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
177 "prpl-jabber", /**< id */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
178 "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
179 DISPLAY_VERSION, /**< version */
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
180 /** summary */
16904
56042b2f8b64 s/Jabber/XMPP in user-visible places.
Richard Laager <rlaager@wiktel.com>
parents: 16719
diff changeset
181 N_("XMPP Protocol Plugin"),
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
182 /** description */
16904
56042b2f8b64 s/Jabber/XMPP in user-visible places.
Richard Laager <rlaager@wiktel.com>
parents: 16719
diff changeset
183 N_("XMPP Protocol Plugin"),
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
184 NULL, /**< author */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
185 PURPLE_WEBSITE, /**< homepage */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
186
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
187 load_plugin, /**< load */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
188 unload_plugin, /**< unload */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
189 NULL, /**< destroy */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
190
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
191 NULL, /**< ui_info */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
192 &prpl_info, /**< extra_info */
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
193 NULL, /**< prefs_info */
16667
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16241
diff changeset
194 jabber_actions,
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16241
diff changeset
195
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16241
diff changeset
196 /* padding */
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16241
diff changeset
197 NULL,
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16241
diff changeset
198 NULL,
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16241
diff changeset
199 NULL,
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16241
diff changeset
200 NULL
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
201 };
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
202
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
203 static void
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
204 init_plugin(PurplePlugin *plugin)
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
205 {
19998
7baa2bc64226 Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19697
diff changeset
206 #ifdef HAVE_CYRUS_SASL
21125
23d046a20aa0 Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents: 21030
diff changeset
207 #ifdef _WIN32
23623
c014c3fe0de9 Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 23600
diff changeset
208 UINT old_error_mode;
21125
23d046a20aa0 Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents: 21030
diff changeset
209 gchar *sasldir;
23d046a20aa0 Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents: 21030
diff changeset
210 #endif
19998
7baa2bc64226 Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19697
diff changeset
211 int ret;
7baa2bc64226 Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19697
diff changeset
212 #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
213 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
214 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
215
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
216 /* 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
217 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
218 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
219 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
220
24556
8e7e6f60e053 Allow blank resources on XMPP when creating/modifying accounts. This works
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24061
diff changeset
221 split = purple_account_user_split_new(_("Resource"), NULL, '/');
19489
b0733d5d7621 Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents: 18922
diff changeset
222 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
223 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
224
b0733d5d7621 Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents: 18922
diff changeset
225 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
226 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
227 option);
b0733d5d7621 Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents: 18922
diff changeset
228
b0733d5d7621 Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents: 18922
diff changeset
229 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
230 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
231 option);
b0733d5d7621 Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents: 18922
diff changeset
232
b0733d5d7621 Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents: 18922
diff changeset
233 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
234 _("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
235 "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
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);
25179
514051f3b6cf Add option for forcing BOSH (useful for debugging)
Paul Aurich <paul@darkrain42.org>
parents: 25176
diff changeset
238
514051f3b6cf Add option for forcing BOSH (useful for debugging)
Paul Aurich <paul@darkrain42.org>
parents: 25176
diff changeset
239 /* XXX FORCE_BOSH: Remove this before re-merging branch */
514051f3b6cf Add option for forcing BOSH (useful for debugging)
Paul Aurich <paul@darkrain42.org>
parents: 25176
diff changeset
240 option = purple_account_option_bool_new(_("Force BOSH (debugging)"),
514051f3b6cf Add option for forcing BOSH (useful for debugging)
Paul Aurich <paul@darkrain42.org>
parents: 25176
diff changeset
241 "force_bosh", FALSE);
514051f3b6cf Add option for forcing BOSH (useful for debugging)
Paul Aurich <paul@darkrain42.org>
parents: 25176
diff changeset
242 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
514051f3b6cf Add option for forcing BOSH (useful for debugging)
Paul Aurich <paul@darkrain42.org>
parents: 25176
diff changeset
243 option);
514051f3b6cf Add option for forcing BOSH (useful for debugging)
Paul Aurich <paul@darkrain42.org>
parents: 25176
diff changeset
244
19489
b0733d5d7621 Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents: 18922
diff changeset
245 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
246 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
247 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
248
19489
b0733d5d7621 Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents: 18922
diff changeset
249 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
250 "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
251 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
252 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
253
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
254 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
255 "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
256 /* TODO: Is this an acceptable default? */
23600
10382f1e1353 Use Service Discovery to look up information about the manually specified FT
Daniel Atallah <daniel.atallah@gmail.com>
parents: 23362
diff changeset
257 "proxy.jabber.org");
21603
a4b6854737d5 Implement more of XEP-0065 to support sending files through a proxy. To avoid adding strings this close to a release, it only supports using a proxy that is discovered from the server, but we'll include an account option to manually specify a ft proxy in the next release. Lots of this is based on a patch from galt - Fixes #3730, #116, #1768
Daniel Atallah <daniel.atallah@gmail.com>
parents: 21125
diff changeset
258 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
259 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
260
23777
4ac5db6e39f3 Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents: 23110
diff changeset
261 /* this should probably be part of global smiley theme settings later on,
4ac5db6e39f3 Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents: 23110
diff changeset
262 shared with MSN */
4ac5db6e39f3 Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents: 23110
diff changeset
263 option = purple_account_option_bool_new(_("Show Custom Smileys"),
4ac5db6e39f3 Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents: 23110
diff changeset
264 "custom_smileys", TRUE);
4ac5db6e39f3 Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents: 23110
diff changeset
265 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
4ac5db6e39f3 Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents: 23110
diff changeset
266 option);
4ac5db6e39f3 Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents: 23110
diff changeset
267
19489
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_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
269
19489
b0733d5d7621 Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents: 18922
diff changeset
270 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
271
19489
b0733d5d7621 Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents: 18922
diff changeset
272 /* 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
273 #ifdef HAVE_CYRUS_SASL
21125
23d046a20aa0 Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents: 21030
diff changeset
274 #ifdef _WIN32
23d046a20aa0 Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents: 21030
diff changeset
275 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
276 sasl_set_path(SASL_PATH_TYPE_PLUGIN, sasldir);
23d046a20aa0 Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents: 21030
diff changeset
277 g_free(sasldir);
23623
c014c3fe0de9 Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 23600
diff changeset
278 /* Suppress error popups for failing to load sasl plugins */
c014c3fe0de9 Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 23600
diff changeset
279 old_error_mode = SetErrorMode(SEM_FAILCRITICALERRORS);
21125
23d046a20aa0 Improved cyrus sasl support on win32:
Stu Tomlinson <stu@nosnilmot.com>
parents: 21030
diff changeset
280 #endif
19998
7baa2bc64226 Cleanup the SASL init and add error checking.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19697
diff changeset
281 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
282 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
283 }
23623
c014c3fe0de9 Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 23600
diff changeset
284 #ifdef _WIN32
c014c3fe0de9 Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 23600
diff changeset
285 /* Restore the original error mode */
c014c3fe0de9 Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 23600
diff changeset
286 SetErrorMode(old_error_mode);
c014c3fe0de9 Don't distribute the MIT Kerberos libraries with the win32 build anymore.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 23600
diff changeset
287 #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
288 #endif
b0733d5d7621 Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents: 18922
diff changeset
289 jabber_register_commands();
25167
860ebaf275ae Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents: 25147
diff changeset
290
860ebaf275ae Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents: 25147
diff changeset
291 /* reverse order of unload_plugin */
19489
b0733d5d7621 Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents: 18922
diff changeset
292 jabber_iq_init();
25167
860ebaf275ae Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents: 25147
diff changeset
293 jabber_caps_init();
860ebaf275ae Add more jabber plugin unloading functions to clean up more data structures
Paul Aurich <paul@darkrain42.org>
parents: 25147
diff changeset
294 /* PEP things should be init via jabber_pep_init, not here */
19489
b0733d5d7621 Fixed code indenting, some spaces were still left and now replaced by tabs.
Andreas Monitzer <pidgin@monitzer.com>
parents: 18922
diff changeset
295 jabber_pep_init();
23777
4ac5db6e39f3 Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents: 23110
diff changeset
296 jabber_data_init();
25182
17b60b844803 Jabber BOSH: more fixes.
Paul Aurich <paul@darkrain42.org>
parents: 25179
diff changeset
297 jabber_bosh_init();
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
298
25017
26eabe8e739b Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents: 23110
diff changeset
299 #warning implement adding and retrieving own features via IPC API
26eabe8e739b Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents: 23110
diff changeset
300
26eabe8e739b Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents: 23110
diff changeset
301 jabber_add_feature(AVATARNAMESPACEMETA, jabber_pep_namespace_only_when_pep_enabled_cb);
26eabe8e739b Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents: 23110
diff changeset
302 jabber_add_feature(AVATARNAMESPACEDATA, jabber_pep_namespace_only_when_pep_enabled_cb);
25145
1225f3dcf5ab Fix compilation errors and many warnings
Paul Aurich <paul@darkrain42.org>
parents: 25144
diff changeset
303 jabber_add_feature("http://www.xmpp.org/extensions/xep-0224.html#ns",
23777
4ac5db6e39f3 Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents: 23110
diff changeset
304 jabber_buzz_isenabled);
25144
9ab681f23007 propagate from branch 'im.pidgin.pidgin' (head c36cf6e54e25bff1ff7802082ae3c787d658187c)
Paul Aurich <paul@darkrain42.org>
parents: 25124 24061
diff changeset
305 jabber_add_feature(XEP_0231_NAMESPACE, jabber_custom_smileys_isenabled);
23777
4ac5db6e39f3 Custom smileys for XMPP according to XEP 0231. Refs #5627.
Marcus Lundblad <ml@update.uu.se>
parents: 23110
diff changeset
306
25017
26eabe8e739b Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents: 23110
diff changeset
307 jabber_pep_register_handler(AVATARNAMESPACEMETA, jabber_buddy_avatar_update_metadata);
16241
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
308 }
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
309
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
310
1aed376daccb Very important to add files \!
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
311 PURPLE_INIT_PLUGIN(jabber, init_plugin, info);