aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/nogaim.c
Commit message (Collapse)AuthorAgeLines
* Add imcb_buddy_nick_change(), like nick_hint but strongerdequis2016-03-20-4/+16
| | | | | | | nick_hint only works when creating new users, it's a no-op after the user is online. This new function takes care of nick changes after that. It also helps clean up couple of hacks in irc_im.c \o/
* Revert "imc_away_send_update: Fix leak of away_states linked list"dequis2015-12-09-6/+1
| | | | | | | | | This reverts commit ed431c389887080dc4fa45e30d051ce733f4ce57. I'm going to let this leak. Turns out only purple allocates an empty list for every time this is called. Other protocols have statics, and they always return the same thing, can't free those. Whatever. The purple leak was insignificant, just more scratching of itches.
* imc_away_send_update: Fix leak of away_states linked listdequis2015-12-05-1/+6
|
* If imc_away_state_find() fails, try again finding "away"dequis2015-12-05-1/+2
| | | | | | | | | | | | | | | | | | | Fixes trac ticket 1175, https://bugs.bitlbee.org/bitlbee/ticket/1175 "Setting away with libpurple fails silently except for a few values" Turns out the fallback was the first item of the list, which for libpurple's jabber is "Feeling" (what?) and seems to be a no-op in practice. With this commit the fallbacks are in this order: 1. Try to find whatever the user wrote in the away setting. 2. If that fails, find "away" in the away states. 3. If that fails, use the first away state. This might not fix it in some rare cases where the prpl doesn't have an away state equivalent to away. But hopefully the old fallback works for those, jabber was the weird one here.
* Add 'log' UI function, to avoid direct calls to irc_rootmsg from nogaimdequis2015-12-01-3/+6
| | | | | Just a trivial wrapper over irc_rootmsg(), but will help me to slightly reduce the ugliness of an unavoidably ugly hack for libpurple.
* Show a nicer message when a protocol is disabled in account adddequis2015-11-23-11/+14
| | | | | | | | | | | | This adds the disabled protocols' prpl structs to a different linked list, only used for this lookup. They were previously marked as leaking by valgrind, so, whatever. I can't free them, since some protocols memdup() it after attempting to register. I think disabling the protocols from bitlbee.conf is just stupid and provides no real benefits, but someone will complain if i get rid of it. So this just improves the error message to make it less confusing when someone accidentally uncomments that crap.
* Nuke imcb_clean_handle(), which was merging handles accidentallydequis2015-11-09-26/+2
| | | | | | | | | | | | | | | | 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!
* Fix a bunch of memory leaksdequis2015-03-22-14/+19
| | | | | | | | | | | | | | | | | | | - irc_im.c: - bee_irc_user_msg: strdup leaks when otr swallows messages - bee_irc_user_action_response: GString leak in all ctcp replies - otr.c: - call g_slist_free() on the list of the otr_policy setting - otr_filter_msg_in: call otrl_tlv_free() if "tlvs" are returned - otr_filter_msg_out: don't g_strdup() if the message should be ignored - log_otr_message: g_strdup_vprintf() leaks always - nogaim.c: - imcb_ask_auth/imcb_ask_add: leaks in g_strdup_printf() - imcb_ask_add leaks imcb_ask_cb_data if the user already exists - add imcb_ask_cb_free() to correctly free its data - msn_util.c: add msn_buddy_ask_free(), ditto - storage_xml.c: pass_cr/password if base64_decode or arc_decode fail - ssl_gnutls.c: conn->hostname leak in error conditions, like invalid certs - jabber_util.c: jabber_buddy_by_ext_jid() leaks jid if it's not an ext jid
* Reindent everything to K&R style with tabsIndent2015-02-20-357/+368
| | | | | | | Used uncrustify, with the configuration file in ./doc/uncrustify.cfg Commit author set to "Indent <please@skip.me>" so that it's easier to skip while doing git blame.
* Fix whatsapp local contact listsdequis2015-01-25-0/+11
| | | | | | | | | Had to move the code that adds contacts to imcb_connected to avoid dereferencing a null im_connection. Turns out this kind of local contact lists only applies to renamed contacts, though. It doesn't deal with libpurple's blist.xml at all (it could, there are APIs for it since 2.6.0)
* Fix incorrect Free Software Foundation addressMatej Cepl2015-01-16-2/+2
|
* I'm still bored on a long flight. Wrote a script to automatically updateWilmer van der Gaast2013-02-21-1/+1
| | | | | | | my copyright mentions since some were getting pretty stale. Left files not touched since before 2012 alone so that this change doesn't touch almost EVERY source file.
* Bugfix: Two commits ago I broke cleanup of the account_on_timeout() handler,Wilmer van der Gaast2012-11-12-2/+1
| | | | | taking down every IM connection 2m after setup.
* Extend keepalive code to time out connections when pings don't getWilmer van der Gaast2012-11-11-2/+22
| | | | | acknowledged, using this for Twitter streams and MSN so far.
* Add a helpful message on what to do with OAuth login issues.Wilmer van der Gaast2011-12-21-4/+15
|
* As I intended for a while already, use account tags everywhere instead ofWilmer van der Gaast2011-12-13-1/+1
| | | | | | | | "protocol(handle)". It's guaranteed to be unique and also shorter. It may suck for people who have multiple accounts and didn't change their tags, but that'll hopefully remind them to change them.
* rename irc_usermsg to irc_rootmsg.unknown2011-10-03-2/+2
| | | | | | add new irc_usermsg, irc_usernotice. deliver user-specific messages from libotr as notices to that user.
* Time out if logging in takes too long (2m for now). Except for TwitterWilmer van der Gaast2010-11-21-0/+1
| | | | | | OAuth login, which requires user action. This mostly solves problems with OSCAR login silently failing, but may also be useful in other places.
* Handle payloads attached to errors (assume any number in cmd[2] would beWilmer van der Gaast2010-08-29-1/+1
| | | | | | a payload length, which seems like a fair assumption). This should solve problems with logging in with dodgy contact/membership lists.
* Proper responses to CHL challenges. Clean up bee_users before callingWilmer van der Gaast2010-08-12-8/+8
| | | | | | prpl->logout() since the buddy_data functions would like some structs to still exist.
* OpenSolaris (non-gcc) fixes, patches from Dagobert Michelsen <dam@opencsw.org>Wilmer van der Gaast2010-08-07-2/+2
| | | | | with some changes.
* Don't notify the UI about group changes if there wasn't, in fact, a change.Wilmer van der Gaast2010-07-30-1/+3
| | | | | This should stop the odd left+joins that were happening sometimes.
* Source documentation update, including a short HACKING file.Wilmer van der Gaast2010-07-28-11/+0
|
* libpurple: Handle incoming authorization requests.Wilmer van der Gaast2010-07-17-0/+6
|
* When cleaning up queries, q->data is free()d. Even if it turns out to beWilmer van der Gaast2010-07-11-3/+3
| | | | | | | the "struct irc" containing all data belonging to a session. Sanitise memory management a little bit here. (There are some memory leaks in here too that need to be fixed at some point.)
* When addressing people in a chatroom, try to translate the nickname to theWilmer van der Gaast2010-07-05-0/+3
| | | | | original unstripped version (without ugly underscores, also).
* Auto joins for chatrooms.Wilmer van der Gaast2010-07-04-0/+6
|
* Import chatrooms configured in older BitlBee versions. Settings are currentlyWilmer van der Gaast2010-06-27-1/+0
| | | | | | ignored though. Also removing the old chat.[ch] files since they're really not important anymore.
* Restored nick_hint/nick_source functionality.Wilmer van der Gaast2010-06-07-32/+6
|
* Changing away_devoice will change current voice statuses in all channels.Wilmer van der Gaast2010-06-07-59/+0
|
* Merging killerbee stuff, bringing all the bleeding-edge stuff together.Wilmer van der Gaast2010-06-07-2/+10
|\
| * Mainline merge. (Probably mostly irrelevant for this branch, oh well.)Wilmer van der Gaast2010-05-16-17/+75
| |\
| | * Applied show-offline patch from Florian E.J. Fruth, adapted for a fewWilmer van der Gaast2010-05-02-16/+74
| | | | | | | | | | | | | | | changes that happened since 1.2.4.
| | * Oops. rt_mon start at 0=Jan, causing off-by-a-month timestamps shown to theWilmer van der Gaast2010-05-01-1/+1
| | | | | | | | | | | | | | | user. Temporary work-around: set timezone to +720 or so. :-P
| * | Merging stuff from mainline (1.2.6).Wilmer van der Gaast2010-04-24-4/+142
| |\|
| * | Merging head. Most changes are not so relevant because they're to IMWilmer van der Gaast2010-03-20-6/+7
| |\ \ | | | | | | | | | | | | | | | | modules.
| * \ \ Merging in head.Wilmer van der Gaast2010-03-14-10/+40
| |\ \ \
| * \ \ \ Merging in mainline, including improved away/status stuff.Wilmer van der Gaast2010-03-07-49/+49
| |\ \ \ \
| * | | | | Fixed compatibility with non-libpurple version: oscar is now recognizedWilmer van der Gaast2009-11-23-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | as a protocol name, and removed prpl- hack from nogaim.c.
| * | | | | Merging BitlBee 1.2.4+Wilmer van der Gaast2009-11-23-13/+52
| |\ \ \ \ \
| * | | | | | Automatically try prpl-$proto if $proto doesn't exist, and disable nativeWilmer van der Gaast2009-10-12-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | protocol modules if purple is enabled; they don't go together very well.
| * | | | | | Something that compiles and runs, but otherwise utterly useless. Added aWilmer van der Gaast2009-10-05-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | protocols/purple/ module and included it in the build system. Already picks up all the supported protocols and adds them individually.
* | | | | | | Inform the UI about group changes. This is important if the user hasWilmer van der Gaast2010-06-05-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | group channels.
* | | | | | | Restore add_* handle_unknown settings.Wilmer van der Gaast2010-06-03-1/+1
| | | | | | |
* | | | | | | Restore query cleanup on IM disconnects.Wilmer van der Gaast2010-05-13-1/+1
| | | | | | |
* | | | | | | Pick up group changes coming in during a session. Reflecting them in theWilmer van der Gaast2010-05-09-13/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | session will be a bit more complicated.
* | | | | | | Keep track of contact groups in a slightly more efficient way.Wilmer van der Gaast2010-05-09-1/+1
| | | | | | |
* | | | | | | Starting to restore chatroom stuff. Only enough to create and be joinedWilmer van der Gaast2010-05-06-270/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into a room. More will follow soon.
* | | | | | | Merging loads of stuff from mainline.Wilmer van der Gaast2010-04-14-3/+45
|\ \ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | |
| * | | | | | Added imcb_chat_nick_hint() and use it in the Twitter module to get sanerWilmer van der Gaast2010-04-09-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | channel names. This also closes bug #577, making the Skype module a bit nicer.