Commit Graph

354 Commits

Author SHA1 Message Date
Joris Vink cf700b34f7 Add initial stab at asynchronous background tasks.
More to follow.
2014-06-28 16:17:18 +02:00
Joris Vink 437f2e9ed2 Be paranoia when it comes to using client supplied integers 2014-05-06 12:24:21 +02:00
Joris Vink 521d4d215e Keep on hackin' Keep on hackin' 2014-04-24 11:18:40 +02:00
Joris Vink 0cb983adc0 Correct snprintf() usage 2014-04-23 16:29:58 +02:00
Joris Vink 27ec8a1d58 Don't let kore_strlcpy() overflow a buffer that is 1 byte long 2014-04-23 14:48:29 +02:00
Joris Vink f3fe543358 Add integer overflow checks to kore_calloc 2014-04-23 14:26:28 +02:00
Joris Vink fd7f547013 Fix accesslog under SPDY connections 2014-04-23 13:18:37 +02:00
Joris Vink 2cc6730cba Improve base64 decoding 2014-04-23 12:32:54 +02:00
Joris Vink 4f31d53e76 Allow KORE_RESULT_RETRY from authentication blocks 2014-04-22 23:07:24 +02:00
Joris Vink 332e8f4ba0 Do a better job at base64 decoding stuff 2014-04-22 21:45:26 +02:00
Joris Vink c14f3031ff Allow us to include config files with "include" 2014-04-22 13:15:19 +02:00
Joris Vink 2bdc9210a0 Wrap with KORE_PEDANTIC_MALLOC 2014-04-22 13:05:16 +02:00
Joris Vink d98d56fb20 Add KORE_PENDANTIC_MALLOC option.
This option tells Kore to zero out memory when allocated, freed or
when get/put from the pools.
2014-04-22 12:46:23 +02:00
Joris Vink 39dd9d7972 Change kore_buf_appendv() to take a va_list 2014-04-22 12:16:21 +02:00
Joris Vink d2618db525 Kill __packed__ attributes on some data structs 2014-04-18 17:41:56 +02:00
Joris Vink 109c17fe5d Mention postgresql support (compile with PGSQL=1) 2014-04-17 11:16:37 +02:00
Joris Vink d6d6f96ca0 Kore pgsql improvements.
Don't wait for a full event loop until we call the page handler
for a received pgsql result. This speeds up page loads using
KORE_PGSQL by quite a lot, especially on a non busy server.
2014-04-17 10:49:48 +02:00
Joris Vink 94de8b27d2 Make sure we call pgsql_load 2014-04-17 09:52:58 +02:00
Joris Vink c206f3be89 Check if req is NULL before dereferencing it. 2014-04-16 22:15:22 +02:00
Joris Vink 52a0764812 HTTP Post improvements for handlers.
Don't crash if we get a Content-length:0 on POST and our
handlers call http_populate_arguments().
2014-04-15 21:18:23 +02:00
Joris Vink a35a5182a7 Check connection string right before we connect 2014-04-14 08:45:31 +02:00
Joris Vink 6cabe00740 Make the pgsql connstring programmatically configurable 2014-04-14 08:41:41 +02:00
Joris Vink 4b7a458de6 If kore_pgsql_query() fails, relay this properly 2014-04-13 23:43:54 +02:00
Joris Vink 3f7e7e696e Kill daemon deprication warning on osx. We get it. 2014-04-12 18:49:32 +02:00
Joris Vink 8e88ac41ff Ignore DSYM on osx 2014-04-12 18:49:32 +02:00
Joris Vink 1c685cce90 Comment on why/how we're disabling freelists.
OpenBSD was clever enough to throw these out so no need to
munge the freelist stuff there anymore.
2014-04-11 08:46:50 +02:00
Joris Vink 95819d2dc2 Take away SSL_MODE_RELEASE_BUFFERS for now.
Prevents the weird freelist munging that happens when we're
actually freeing memory (which we should be forcing it to do
by setting freelist_max_len to 0).
2014-04-10 22:52:23 +02:00
Joris Vink 5e2fb37c53 Add *.module to gitignore 2014-04-09 19:14:24 +02:00
Joris Vink 41d1456cb8 Don't leak version on error 2014-04-09 14:45:51 +02:00
Joris Vink 76383f2353 Close fp after reading configuration 2014-04-09 14:43:23 +02:00
Joris Vink 250a1e1ad1 Fix use after free 2014-04-09 14:35:14 +02:00
Joris Vink 630d8ece05 Fuck it, force OpenSSL to not use its freelists no matter what. 2014-04-09 14:14:09 +02:00
Joris Vink 41aed45e4f Do not miscalculate end_headers. 2014-04-09 09:21:22 +02:00
Joris Vink 8e93dbc396 amend example with additional query + kore_pgsql_logerror() 2014-04-02 23:01:47 +02:00
Joris Vink 71b69f108e Fixup the actual example 2014-04-01 21:44:32 +02:00
Joris Vink 39a9f7d6f0 Add new wrappers 2014-04-01 21:44:22 +02:00
Joris Vink 9e3d19fbbd pgsql fixes + new wrappers 2014-04-01 21:43:52 +02:00
Joris Vink b19897b578 add cert/ 2014-04-02 00:07:52 +02:00
Joris Vink 6195bf646c Change path to reflect new contrib folder 2014-04-02 00:06:35 +02:00
Joris Vink 89b603c247 Support postgresl under the bsds 2014-04-02 00:06:24 +02:00
Joris Vink 211f82847e Add example pgsql module showing how one can use the KORE_PGSQL stuff 2014-03-31 11:30:21 +02:00
Joris Vink 22882261f7 Properly use pg_config --includedirs + move modules to contrib 2014-03-31 11:29:51 +02:00
Joris Vink f7190c8b12 Remove pgsql example from here, reset module.conf back to roots 2014-03-31 11:28:06 +02:00
Joris Vink a431f76263 pgsql_conn improvements.
set conn inside kore_pgsql to NULL when we've completed.
if at kore_pgsql_cleanup() time the conn is still there
we'll drain it as per documentation.
2014-03-31 01:09:08 +02:00
Joris Vink 6eb091c77c Layout that stuff like a 80 column terminal nerd.
And mark a request as DONE when we get PGRES_COMMAND_OK.
2014-03-31 01:04:22 +02:00
Joris Vink 61b6f823c5 Improvements to pgsql contrib code.
Including but not limited to:
- Correctly use PQerrorMessage() in case we cleanup with PQfinish
- If we get a network error, cleanup the connection
- No longer call the page handler from inside kore_pgsql_handle()
  but instead just put it to sleep in case we don't need it.
  This does grow the http_requests list quite a bit with sleeping
  connections and can perhaps be improved later on.
- Allow us to on error return OK from a page handler from inside
  the completetion block for KORE_PGSQL().
- Count the cummulative time for a request to finish instead
  of the latest run time for the handler.
2014-03-31 00:57:00 +02:00
Joris Vink 2f044cc7eb Initial stab at entering postgresql contrib code.
Has support for full async pgsql queries. Most of the logic
is hidden behind a KORE_PGSQL() macro allowing you to insert
these pgsql calls in your page handlers without blocking the
kore worker while the query is going off.

There is place for improvement here, and perhaps KORE_PGSQL won't
stay as I feel this might overcomplicate things instead of making
them simpler as I thought it would.
2014-03-30 23:54:35 +02:00
Joris Vink 8003bad094 Missing sys/stat.h, from James Turner 2014-03-07 09:55:28 +01:00
Joris Vink d40fd489f8 s/ptr/entry 2014-03-06 08:21:58 +01:00
Joris Vink 69f26823b9 Double check the element is free in kore_pool_get(). 2014-03-06 08:20:05 +01:00