aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeLines
* 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!
| * | Have root confirm some commands that so far gave no feedback at all, sinceWilmer van der Gaast2012-11-25-0/+2
| | | | | | | | | | | | | | | "no news is good news" can be a little confusing.
| * | Clean up streaming HTTP event handler, which should fix crash-bugs with GLib.Wilmer van der Gaast2012-11-25-0/+3
| | | | | | | | | | | | | | | Forgot to do this so far because my libevent code let me get away with it.
| * | Increasing http_client buffersize to 4KB. You'd think that with things likeWilmer van der Gaast2012-11-24-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | MTU in mind it's not a very useful change, but I seem to be getting data in bigger chunks most of the time. Likely because with SSL you have record (?) boundaries and compression. This should reduce I/O overhead just a little bit.
| * | Merge mainline.Wilmer van der Gaast2012-11-17-79/+5
| |\ \
| * | | Fixed valgrind warnings in JSON_O_FOREACH.Wilmer van der Gaast2012-11-12-3/+4
| | | |
| * | | Detect and handle streaming connection loss.Wilmer van der Gaast2012-11-11-0/+3
| | | |
| * | | Tiny cleanup. Fixing some memory leaks (why did I not notice so far thatWilmer van der Gaast2012-11-11-9/+9
| | | | | | | | | | | | | | | | | | | | those free()s were commented out?).
| * | | Mostly finished HTTP streaming support: Shrink the buffer and add aWilmer van der Gaast2012-11-11-3/+26
| | | | | | | | | | | | | | | | | | | | http_close().
| * | | Very immature code for reading from the streaming API. It reads from aWilmer van der Gaast2012-11-10-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | fixed URL and tried to parse individual JSON objects. Not doing anything useful with it.
| * | | Reworked http_client a little bit to support streaming besides just bufferingWilmer van der Gaast2012-11-10-62/+131
| | | | | | | | | | | | | | | | | | | | a complete response before giving it back to the caller.
| * | | Fix compiler warning (missed glib include in json_util).Wilmer van der Gaast2012-11-09-0/+1
| | | |
| * | | One difference in json.h: use "long long" instead of "long" for integerWilmer van der Gaast2012-11-09-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | types, or it might be too small to contain Twitter message IDs on for example GCC+i386.
| * | | Updated error response parsing. Also, use this for 401 responses so for exampleWilmer van der Gaast2012-11-09-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the auth errors caused by NTP desync are clearer: <root> twitter - Login error: Authentication failure (401 Unauthorized (Timestamp out of bounds))
| * | | It logs in and fetches statuses! \o/ But, some corruption..Wilmer van der Gaast2012-11-08-5/+22
| | | |
| * | | Add json_util.c with helper functions. Keeping them in a separate file toWilmer van der Gaast2012-11-05-1/+79
| | | | | | | | | | | | | | | | | | | | avoid making *any* changes to the third-party json.c.
| * | | Use the new JSON code for OAuth2 processing.Wilmer van der Gaast2012-10-28-63/+18
| | | | | | | | | | | | | | | | | | | | | | | | Starting to see the use of convenience functions to dig through many layers of structs..
| * | | Add json.[ch], update debian/copyright with license info.Wilmer van der Gaast2012-10-28-1/+935
| | | |
* | | | Fixed minor memory leak.Wilmer van der Gaast2012-12-02-1/+2
| | | |
* | | | Error handling fix in xmltree. Fixes a problem where if the start of theWilmer van der Gaast2012-12-02-2/+1
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stream is spread over two packets (or SSL records in this case), xt_handle() would report a fatal error (which normally means the connection has failed and should be abandoned immediately). Returning 1 is likely more correct; just the fact that there's no data to process yet is not a fatal failure. This fixes potential issues with Google Talk when using OpenSSL (which seems to be feeding data on record boundaries, even if additional records have already been received).
* | | Remove ssl_bogus.c, it really shouldn't be used anymore since it builds aWilmer van der Gaast2012-11-12-76/+0
| | | | | | | | | | | | | | | next-to-useless binary.
* | | SSL fixes from Michal Suchanek.Wilmer van der Gaast2012-10-30-3/+5
|/ /
* | xt_from_string() will return NULL if the string wasn't terminated properly.Wilmer van der Gaast2012-09-24-3/+6
| | | | | | | | | | | | | | Adding an extra layer of defense against truncated responses from Twitter. But as long as the response from xt_from_string() isn't NULL-checked this won't help much. So that's my next step. :-)
* | Since I can't figure out where the stalls are coming from at this point, atWilmer van der Gaast2012-09-22-1/+1
| | | | | | | | | | | | | | | | least have a work-around for it. After hitting the Twitter timer a few times while a previous fetch still seems to be running, close the connection. Auto-reconnect will do the rest.
* | Little cleanup. Use xt_from_string() where possible.Wilmer van der Gaast2012-09-22-3/+6
| |
* | Solve a whole bunch of Twitter module crashes: Twitter responses seem toWilmer van der Gaast2012-09-22-6/+19
| | | | | | | | | | | | be getting truncated sometimes. Treat this as an error in http_client already instead of returning partial data.
* | Allow building position-independent executables. #981, patch from brainsmoke.Wilmer van der Gaast2012-09-15-1/+1
| |
* | NSS module fixes from mcepl in #714. This removes des.c since it's noWilmer van der Gaast2012-08-19-781/+249
|/ | | | | longer necessary.
* Shut up a flood of GLib-related compiler warnings.Wilmer van der Gaast2012-06-04-0/+3
|
* Work-around for what turned out to be a GnuTLS bug (#938). From 3.0.13Wilmer van der Gaast2012-04-10-0/+15
| | | | | | | until 3.0.18 gnutls_record_check_pending() returns non-0 even if the data read so far is an incomplete record and can not yet be read. This can get BitlBee's http_client stuck in a semi-infinite loop.