aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeLines
* Move twitter_parse_id() to parse_int64() in misc.cdequis2015-05-30-0/+17
|
* More coverity fixes!dequis2015-05-07-2/+8
| | | | | | | | | | CID 18634: 'Logically dead code' in jabber_get_info CID 18638: 'Dereference after null check' in oauth2_access_token_done CID 18691: 'Copy into fixed size buffer' in bee_irc_user_new CID 20274: Leak in bee_irc_chat_invite CID 20297, CID 20283: Leaks in crypt_main Some the base64 leaks there weren't detected, needs modeling.
* events_glib: fix parameter type warnings in event_debug() callsdequis2015-05-05-4/+4
|
* oauth: fix use-after-free of the ->next of the listdequis2015-04-24-2/+3
| | | | | | | Third time's the charm. Previous attempt fixed something and broke something else. Whatever. Definitely valgrind clean this time.
* get_rfc822_header: allow headers at the end of a stringdequis2015-04-10-5/+0
|
* proxy: minor refactor, simplify error handlingdequis2015-04-05-110/+36
|
* Fix a bunch of memory leaksdequis2015-03-22-8/+4
| | | | | | | | | | | | | | | | | | | - 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
* Refactor oauth_params_del to fix use-after-free that i introduceddequis2015-02-28-8/+7
| | | | | | | Yeah ok that was dumb. This is essentially just using a 'data' variable instead of 'l->data', but i went ahead and cleaned up the function.
* coverity: Fix some (harmless?) use-after-free with g_slist_remove()dequis2015-02-22-1/+1
| | | | | | | These were passing a pointer to a variable right after it was g_free()'d They are most likely harmless as g_slist_remove() probably just needs the pointer location, but fixing it anyway.
* Reindent everything to K&R style with tabsIndent2015-02-20-3705/+3716
| | | | | | | 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.
* Use glib's GChecksum for md5/sha1dequis2015-01-31-733/+58
| | | | | | | | | | | | | | | | | | | This changes behavior slightly: - md5_init()/sha1_init() allocate a GChecksum - md5_finish()/sha1_finish() close and free() it - md5_digest_keep() was added (no sha1 equivalent needed) And yes, glib has this concept of "closing" the GChecksum, which means it can't be used anymore after g_checksum_get_digest(). jabber_cache_add() actually seems to need to do that to generate some random-ish values, so i kept that working by adding a md5_digest_keep() function that copies the GChecksum before it gets closed GChecksum was introduced in glib 2.16, so the configure script version was bumped. We were already depending on glib 2.16 accidentally (some post-3.2.2 code uses GHashTableIter)
* random_bytes: Use /dev/urandom only, don't bother trying /dev/randomdequis2015-01-26-59/+10
| | | | | | Also abort() if there's no /dev/urandom See http://www.2uo.de/myths-about-urandom/ for details.
* Fix UTF8 nick truncation issuesdequis2015-01-16-0/+10
| | | | | | | | | | | | | | When nicks exceeded the length limit, they were cut at 24 bytes and that sometimes left invalid utf8 at the end, which made the nick_ok() validation fail and often broke those nicks completely. This adds a truncate_utf8 function to cut the string at a safe place Also, the method to deduplicate nicks when there's no more place to add underscores was changed to add "_XX" at the end, where XX are two random hex chars. The previous method in those cases was increasing the value of the first character of the nick... which leads to silly and confusing results (i.e. FacebookUser -> GacebookUser)
* http proxy: only check for "HTTP/1.x 200" in the status stringdequis2015-01-16-2/+2
| | | | | It was checking for "Connection established" and some proxies use a different string, such as "Tunnel established" in polipo
* Fix some more g_source_remove warnings, this time in proxy.cdequis2015-01-16-0/+2
| | | | Both in gaim_io_connected(), visible when using an http proxy
* Fix compiler warnings on Cygwin and Mac OS X.Jason Copenhaver2015-01-16-5/+5
| | | | | | | | * Don't use PIE/PIC on Cygwin/Darwin unless specified as these platforms don't support it. * Cleanup warnings for 'make check' build. * Fix the type issue for getsockopt calls. * Fix enum warnings in Yahoo libs on Mac OS X.
* Replace isdigit/isalpha/.../tolower/toupper with glib variantsdequis2015-01-16-14/+14
| | | | | | | | | | | This fixes warnings about passing signed chars to them (apparently they are implemented as macros that do array lookups without checks in some platforms, yay) Specifically: functions=isalnum|isalpha|isdigit|isspace|isxdigit|tolower|toupper sed -ir "s/$functions/g_ascii_&/g" **/*.c
* Fix incorrect Free Software Foundation addressMatej Cepl2015-01-16-31/+31
|
* Use glib functions for base64 decoding/encodingdequis2014-11-24-111/+9
| | | | | | | | | | | | This fixes several coverity warnings about 'tainted data index sink' and a fixme about thread safety in the old base64_decode implementation. Had to adapt the code that used base64_encode_real: - oauth.c: different character set order, but it's for the nonce so it doesn't matter - libyahoo2.c: used as part of the auth, changes "+/=" into "._-". Fixed by encoding first the usual way through glib, then replacing.
* dcc: Fix some invalid memory accesses reported by ASANdequis2014-10-27-1/+1
| | | | ASAN <3
* Some more g_source_remove warning fixesdequis2014-10-27-0/+3
| | | | | - http_incoming_data calling itself - jabber_bs_free_transfer calling jabber_si_free_transfer
* Bunch of merges from dx.Wilmer van der Gaast2014-10-17-0/+17
|\
| * Add support for XEP-0203: Delayed delivery (message timestamps)dequis2014-10-10-0/+16
| | | | | | | | | | | | | | | | Very similar to XEP-0091 which is already supported, but was marked as obsolete, replaced by XEP-0203. The main differences are the tag name and the timestamp format. Due to the similarities, both XEPs are still supported.
* | Debian bug #764181: Accidentally had an LGPL header in a bunch of files.Wilmer van der Gaast2014-10-17-60/+60
|/ | | | | | Replaced them with GPL headers where possible. OSCAR and Twitter modules can't be relicenced though, so add an LGPL blurb to debian/copyright.
* RIP native win32 support (use cygwin instead)dequis2014-09-27-298/+0
| | | | It has been broken for a very long time and nobody cared about it.
* Prevent some "Source ID ## was not found..." warningsdequis2014-09-27-0/+6
| | | | | | | These appear in glib 2.40, and, well, are pretty much useless. But people complain about them anyway. Probably fixes trac ticket 1151, at least partially.
* ssl_gnutls: Fix some uninitialized memory warningsdequis2014-09-27-2/+2
|
* srv_lookup: Portability fixes, handle compressed responsesjcopenha2014-07-24-18/+309
| | | | | | | | | | srv_lookup works on cygwin and openbsd now. Provide ns_initparse, friends, and types where they aren't provided by platform. Use dn_expandname instead of custom parser so compressed DNS responses are handled correctly.
* Add limit param to split_command_parts(), fix twitter quotes bugdequis2014-07-24-3/+8
| | | | Only took me a few months to write. I even added a test case.
* Merging compiler warning fix. Patch by Mark H Weaver <mhw@netris.org>.Wilmer van der Gaast2014-03-07-1/+1
|
* Unicode parsing fix in JSON parser: JSON can contain UTF-16 surrogate pairsWilmer van der Gaast2014-03-02-11/+41
| | | | | | | (used to encode >16-bit chars). Added code to parse those *and* the ability to encode >16-bit Unicode in UTF-8. Also sending this upstream. This should fix #1121.
* Update json-parser code to git rev 11a80f389769d1f66ca7fbe64ad89c82d3ba4ba9.Wilmer van der Gaast2014-02-13-103/+391
| | | | | | Few BitlBee-specific diffs now. Annoyingly need to link to libm now for the use of the function pow() since the lib now does its own number parsing...
* Fix "Unusuable" typo.Wilmer van der Gaast2014-02-08-1/+1
|
* Merging HTTP/1.1 branch. This implements HTTP/1.1 support in http_client.Wilmer van der Gaast2013-06-16-73/+190
|\ | | | | | | | | | | | | Little benefit as I'm not burning my fingers on keepalive connecitons for now, but eventually the Twitter streaming API is going to drop 1.0 support: https://dev.twitter.com/blog/deprecating-http-1.0-streaming-api
| * Use HTTP/1.1 by default in the Twitter module, and stick to the initiallyWilmer van der Gaast2013-06-16-3/+15
| | | | | | | | | | used protocol version when internally handling redirects.
| * Add better handling of HTTP/1.1 and/or keepalive connections. This shouldWilmer van der Gaast2013-06-09-71/+171
|/ | | | | | let me close #641, and more importantly, prepares the Twitter module for an upcoming API change. https://dev.twitter.com/blog/deprecating-http-1.0-streaming-api
* Fix double free() in ssl_nss.c. #1038Wilmer van der Gaast2013-05-25-2/+2
|
* Fix OAuth2 error reporting.Wilmer van der Gaast2013-05-25-18/+62
|
* Const is hard, let's go hacking.Wilmer van der Gaast2013-04-20-2/+2
|
* Merging "storage" branch which I wrote long ago. It separates generation ofWilmer van der Gaast2013-04-20-63/+25
|\ | | | | | | | | | | XML-formatted user configs from disk I/O so we can try to start using other mechanisms to store them (a REST API or something, for example).
| * Add xt_to_string_i() and use it to get indentation back in saved settings.Wilmer van der Gaast2012-06-05-63/+25
| | | | | | | | | | | | Also, use it in xt_print() instead of replicating most of xt_to_string() in it. This changed four-space indents into tabs but oh well, we'll live.
* | I'm still bored on a long flight. Wrote a script to automatically updateWilmer van der Gaast2013-02-21-9/+9
| | | | | | | | | | | | | | 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.
* | json: fix uninitialized variablesMiklos Vajna2013-01-01-2/+2
| | | | | | | | | | | | | | json.c: In function ‘json_parse_ex’: json.c:260:30: warning: ‘string_length’ may be used uninitialized in this function [-Wmaybe-uninitialized] json.c:358:16: warning: ‘string’ may be used uninitialized in this function [-Wmaybe-uninitialized]
* | Whoops, remove those debugging printfs as I intended to do before merging.Wilmer van der Gaast2012-12-24-2/+1
| |
* | SSL session caching. You'd think that this makes Twitter stuff faster, exceptWilmer van der Gaast2012-12-24-2/+50
| | | | | | | | | | Twitter webservers seem to do successful session resumes only sporadically.
* | In the OpenSSL module, keep only one global SSL context instead of recreatingWilmer van der Gaast2012-12-24-10/+13
| | | | | | | | | | one for every connection.
* | SNI client support in GnuTLS+OpenSSL modules.Wilmer van der Gaast2012-12-24-28/+25
| |
* | Merging JSON branch. It's very stable by now, and I want more testers.Wilmer van der Gaast2012-12-22-132/+1220
|\ \
| * | Importing json.c UTF-8 encoding fix from upstream. Not importing theWilmer van der Gaast2012-12-01-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | strto(d|l) fix because I can just use GLib instead of reinventing the wheel. This should fix corruption issues with tweets in Cyrillic. I've double- checked this code against http://en.wikipedia.org/wiki/UTF-8 now and it looks correct to me.
| * | Fixing integer size issue in JSON parser: Although I've changed the integerWilmer van der Gaast2012-11-27-1/+1
| | | | | | | | | | | | | | | | | | type to long long, the parser was still using strtol to convert numbers, truncating large numbers to LONG_MAX. Bug found by Artem Savkov, thanks!