diff options
author | dequis <dx@dxzone.com.ar> | 2015-11-09 09:21:46 -0300 |
---|---|---|
committer | dequis <dx@dxzone.com.ar> | 2015-11-09 09:21:46 -0300 |
commit | d6e2aa8220ae87c58c10ff54b2de80e32b51ac08 (patch) | |
tree | c667e88df6f7e207828fb519b2675e76dd923971 /protocols/nogaim.h | |
parent | d63f37c78c273bc345daf8c40ce99905212a84a0 (diff) |
Nuke imcb_clean_handle(), which was merging handles accidentally
Well, just deprecated and turned into a no-op. It was only used for
jabber anonymous MUCs, but this is something the IRC layer must take
care of. It stripped all whitespace, control and non-ascii characters,
breaking utf8 nicks support and accidentally merging contacts whose
cleaned-up handles were the same string.
For example, you could have two users with nicks ' ' and ' ' (one and
two spaces respectively) and imcb_clean_handle() would just merge them
into a single handle, '', which makes them look like a single irc user.
The same thing happens with nicks that are entirely made of utf8.
Thanks to schoppenhauer from #bitlbee for reporting this and preparing a
test case channel!
Diffstat (limited to 'protocols/nogaim.h')
-rw-r--r-- | protocols/nogaim.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/protocols/nogaim.h b/protocols/nogaim.h index 548b22f9..668216b3 100644 --- a/protocols/nogaim.h +++ b/protocols/nogaim.h @@ -327,7 +327,8 @@ G_MODULE_EXPORT void imcb_buddy_action_response(bee_user_t *bu, const char *acti G_MODULE_EXPORT void imcb_buddy_typing(struct im_connection *ic, const char *handle, guint32 flags); G_MODULE_EXPORT struct bee_user *imcb_buddy_by_handle(struct im_connection *ic, const char *handle); -G_MODULE_EXPORT void imcb_clean_handle(struct im_connection *ic, char *handle); + +G_GNUC_DEPRECATED G_MODULE_EXPORT void imcb_clean_handle(struct im_connection *ic, char *handle); /* Actions, or whatever. */ int imc_away_send_update(struct im_connection *ic); |