annotate libpurple/protocols/jabber/usernick.c @ 28133:3eef8392a54b

jabber: Add a BOSH send timer (queue up stanzas), fixes connecting to Prosody This send timer shouldn't strictly be necessary, but Prosody currently closes the TCP stream after every response (MattJ tells me there's a pipelining bug that they couldn't fix, so they just disabled it), but in my tests, the initial purple_ssl_read doesn't catch the EOF/disconnection (the read returns EAGAIN), so the prpl, while processing the response from the server, thinks that BOSH connection is still open, and tries to send to send to it. *Then*, the write input watcher triggers and read returns 0 (EOF). The request that was sent is then lost. Anyway, I've termed Prosody a fuzzer for BOSH. :-)
author Paul Aurich <paul@darkrain42.org>
date Sun, 02 Aug 2009 03:00:00 +0000
parents 5872d1bc546f
children 8c991e09efcb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17597
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
1 /*
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
2 * purple - Jabber Protocol Plugin
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
3 *
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
4 * Copyright (C) 2007, Andreas Monitzer <andy@monitzer.com>
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
5 *
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or modify
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
7 * it under the terms of the GNU General Public License as published by
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
8 * the Free Software Foundation; either version 2 of the License, or
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
9 * (at your option) any later version.
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
10 *
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
11 * This program is distributed in the hope that it will be useful,
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
14 * GNU General Public License for more details.
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
15 *
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
19 *
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
20 */
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
21
19697
d32ed28cf645 Fix mingw build of xmpp prpl
Daniel Atallah <daniel.atallah@gmail.com>
parents: 17597
diff changeset
22 #include "internal.h"
d32ed28cf645 Fix mingw build of xmpp prpl
Daniel Atallah <daniel.atallah@gmail.com>
parents: 17597
diff changeset
23
17597
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
24 #include "usernick.h"
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
25 #include "pep.h"
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
26 #include <string.h>
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
27 #include "internal.h"
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
28 #include "request.h"
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
29 #include "status.h"
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
30
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
31 static void jabber_nick_cb(JabberStream *js, const char *from, xmlnode *items) {
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
32 /* it doesn't make sense to have more than one item here, so let's just pick the first one */
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
33 xmlnode *item = xmlnode_get_child(items, "item");
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
34 JabberBuddy *buddy = jabber_buddy_find(js, from, FALSE);
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
35 xmlnode *nick;
20058
5103485b4b26 Plug some memory leaks.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20000
diff changeset
36 char *nickname = NULL;
25443
5f9a24d1c25e Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 21570
diff changeset
37
26855
e816444c1a01 Handle User Nick notifications via <presence/> stanzas (receive-only). Refs #864.
Paul Aurich <paul@darkrain42.org>
parents: 25987
diff changeset
38 /* ignore the nick of people not on our buddy list */
17597
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
39 if (!buddy || !item)
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
40 return;
25443
5f9a24d1c25e Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 21570
diff changeset
41
17597
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
42 nick = xmlnode_get_child_with_namespace(item, "nick", "http://jabber.org/protocol/nick");
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
43 if (!nick)
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
44 return;
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
45 nickname = xmlnode_get_data(nick);
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
46 serv_got_alias(js->gc, from, nickname);
20058
5103485b4b26 Plug some memory leaks.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20000
diff changeset
47 g_free(nickname);
17597
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
48 }
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
49
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
50 static void do_nick_set(JabberStream *js, const char *nick) {
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
51 xmlnode *publish, *nicknode;
25443
5f9a24d1c25e Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 21570
diff changeset
52
17597
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
53 publish = xmlnode_new("publish");
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
54 xmlnode_set_attrib(publish,"node","http://jabber.org/protocol/nick");
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
55 nicknode = xmlnode_new_child(xmlnode_new_child(publish, "item"), "nick");
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
56 xmlnode_set_namespace(nicknode, "http://jabber.org/protocol/nick");
25443
5f9a24d1c25e Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 21570
diff changeset
57
17597
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
58 if(nick && nick[0] != '\0')
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
59 xmlnode_insert_data(nicknode, nick, -1);
25443
5f9a24d1c25e Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 21570
diff changeset
60
17597
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
61 jabber_pep_publish(js, publish);
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
62 /* publish is freed by jabber_pep_publish -> jabber_iq_send -> jabber_iq_free
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
63 (yay for well-defined memory management rules) */
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
64 }
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
65
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
66 static void do_nick_got_own_nick_cb(JabberStream *js, const char *from, xmlnode *items) {
20058
5103485b4b26 Plug some memory leaks.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20000
diff changeset
67 char *oldnickname = NULL;
26873
5872d1bc546f On errors, don't pretend we did fetch something, pass NULL.
Paul Aurich <paul@darkrain42.org>
parents: 26855
diff changeset
68 xmlnode *item = NULL;
5872d1bc546f On errors, don't pretend we did fetch something, pass NULL.
Paul Aurich <paul@darkrain42.org>
parents: 26855
diff changeset
69
5872d1bc546f On errors, don't pretend we did fetch something, pass NULL.
Paul Aurich <paul@darkrain42.org>
parents: 26855
diff changeset
70 if (items)
5872d1bc546f On errors, don't pretend we did fetch something, pass NULL.
Paul Aurich <paul@darkrain42.org>
parents: 26855
diff changeset
71 item = xmlnode_get_child(items,"item");
25443
5f9a24d1c25e Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 21570
diff changeset
72
17597
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
73 if(item) {
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
74 xmlnode *nick = xmlnode_get_child_with_namespace(item,"nick","http://jabber.org/protocol/nick");
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
75 if(nick)
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
76 oldnickname = xmlnode_get_data(nick);
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
77 }
25443
5f9a24d1c25e Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 21570
diff changeset
78
21570
dccfd999ffe7 merge of '76c07fcb434a2a7aa289734bb221c171a376d73b'
Evan Schoenberg <evan.s@dreskin.net>
parents: 21244
diff changeset
79 purple_request_input(js->gc, _("Set User Nickname"), _("Please specify a new nickname for you."),
17597
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
80 _("This information is visible to all contacts on your contact list, so choose something appropriate."),
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
81 oldnickname, FALSE, FALSE, NULL, _("Set"), PURPLE_CALLBACK(do_nick_set), _("Cancel"), NULL,
21570
dccfd999ffe7 merge of '76c07fcb434a2a7aa289734bb221c171a376d73b'
Evan Schoenberg <evan.s@dreskin.net>
parents: 21244
diff changeset
82 purple_connection_get_account(js->gc), NULL, NULL, js);
20058
5103485b4b26 Plug some memory leaks.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20000
diff changeset
83 g_free(oldnickname);
17597
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
84 }
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
85
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
86 static void do_nick_set_nick(PurplePluginAction *action) {
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
87 PurpleConnection *gc = (PurpleConnection *) action->context;
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
88 JabberStream *js = gc->proto_data;
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
89 char *jid = g_strdup_printf("%s@%s", js->user->node, js->user->domain);
25443
5f9a24d1c25e Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 21570
diff changeset
90
17597
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
91 /* since the nickname might have been changed by another resource of this account, we always have to request the old one
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
92 from the server to present as the default for the new one */
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
93 jabber_pep_request_item(js, jid, "http://jabber.org/protocol/nick", NULL, do_nick_got_own_nick_cb);
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
94 g_free(jid);
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
95 }
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
96
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
97 void jabber_nick_init(void) {
25575
26eabe8e739b Removing short-names for features and calculating own caps hash.
Tobias Markmann <tfar@soc.pidgin.im>
parents: 21570
diff changeset
98 jabber_add_feature("http://jabber.org/protocol/nick", 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: 21570
diff changeset
99 jabber_pep_register_handler("http://jabber.org/protocol/nick", jabber_nick_cb);
17597
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
100 }
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
101
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
102 void jabber_nick_init_action(GList **m) {
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
103 PurplePluginAction *act = purple_plugin_action_new(_("Set Nickname..."), do_nick_set_nick);
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
104 *m = g_list_append(*m, act);
5f4dcaf1f886 User Nickname now sets the buddy's server_alias, which means that no UI changes are required for supporting this XEP. Also forgot to add usernick.[hc].
Andreas Monitzer <pidgin@monitzer.com>
parents:
diff changeset
105 }