Joris Vink
d30921103b
Code cleanup, several API breaking changes in here
2016-07-08 10:03:41 +02:00
Joris Vink
2dfd22a79a
Change kore_buf_stringify() a bit.
...
Takes a size_t pointer as its second argument now, if not
NULL this will be populated with the length of the string
that is being returned.
2016-06-02 07:08:19 +02:00
Joris Vink
3b43df5536
remove useless cast.
2016-05-16 09:45:27 +02:00
Stig Telfer
2ac6e7d41d
Merge branch 'master' into oneswig
2016-01-24 13:46:38 +00:00
Stig Telfer
ec73c35952
Add missing C library headers
2016-01-22 11:08:13 +00:00
Joris Vink
0dcd6087cf
Add kore_buf_stringify().
...
NUL-terminates a kore_buf and returns a char pointer.
2016-01-18 11:26:55 +01:00
Joris Vink
ed8110f109
Paranoia about overflows.
2016-01-09 13:51:50 +01:00
Carl Ekerot
53e8220ff6
Fix off-by-one error when reallocing buffer
...
There was an invalid boundary check when appending to a buffer. The
consequence of this was that the POST data buffer was deterministically
realloced.
2016-01-09 01:57:59 +01:00
Joris Vink
2fc326c0ce
Remove whitespace.
2016-01-04 13:09:45 +01:00
Joris Vink
c4b1206ae3
Bump copyright to 2016.
2016-01-04 12:58:51 +01:00
PauloMelo
a6ccf2bae9
correct tabsize
2015-12-11 22:31:14 +00:00
PauloMelo
d811bf71dc
add kore_buf_reset
2015-12-11 21:31:59 +00:00
Joris Vink
a64808c6b0
Improvements to our message framework.
...
Change the callback prototypes to:
void callback(struct kore_msg *msg, const void *data);
This allows the callbacks to receive the full kore_msg data structure
as sent over the wire (including length and id). Useful for future
additions to the kore_msg structure (such as worker origin).
Several other improvements:
* Accesslog now uses the msg framework as well.
* Websocket WEBSOCKET_BROADCAST_GLOBAL now works.
Small websocket improvement in this commit:
* Build the frame to be sent only once when broadcasting
instead of per connection we are broadcasting towards.
2015-06-23 18:17:14 +02:00
Joris Vink
af865abede
Bump copyright to 2015
2015-04-07 13:08:26 +02:00
Joris Vink
693a07250f
bump copyright years
2014-10-14 16:18:23 +02:00
Joris Vink
fa69f2a49c
Attempt vsnprintf() up to BUFSIZ in kore_buf_appendv().
...
If the result was too large fall back to vasprintf instead.
2014-08-22 14:40:19 +02:00
Joris Vink
0b36877736
Change kore_buf_appendv() to use vasprintf().
2014-08-04 18:59:59 +02:00
Joris Vink
39dd9d7972
Change kore_buf_appendv() to take a va_list
2014-04-22 12:16:21 +02:00
Joris Vink
1fb3c013ff
Use kore_mem_find() in kore_buf_replace_string(), fixes certain crashes
...
that could occur when calling kore_buf_replace_string() with patterns
that would be found at the end or start of the buffer.
2013-09-26 16:49:44 +02:00
Joris Vink
acc34e2d51
Change kore_buf_append() and kore_buf_replace_string() to take a void pointer.
2013-08-22 10:06:39 +02:00
Joris Vink
3075162855
Add http_argument_urldecode() which takes a string and decodes any url encoding done to it.
...
Change kore_strtonum() to pass 0 to strtoll by default so we can use it to convert hex numbers (prepended with 0x) as well.
2013-08-13 14:18:47 +02:00
Joris Vink
db7ed69f2a
Add kore_buf_replace_string().
...
kore_buf_replace_string allows you to replace occurances of a certain
string with something else.
Example:
char *username = "Joris";
page = kore_buf_create(static_len_html_profile);
kore_buf_append(page, static_html_profile, static_len_html_profile);
kore_buf_replace_string(page, "%name%", username, strlen(username));
2013-08-07 14:56:14 +02:00
Joris Vink
712461b081
kore_buf_appendb(): free d once we are done with it.
2013-07-22 23:42:40 +02:00
Joris Vink
9c7aaf179f
Remove unneeded malloc result casting, annoying habbit of mine but serves no purpose.
2013-07-13 21:08:55 +02:00
Joris Vink
2e3720abc9
free() -> kore_mem_free()
2013-07-12 10:49:37 +02:00
Joris Vink
bb09e8b2a9
add base64 encoder/decoder in prep for http/2.0 and websockets
2013-07-10 15:00:53 +02:00
Joris Vink
c1723f2db5
Clean up header includes, based on a diff from Ewan Higgs via github.
...
And while we're messing in it, make sure bsd.c compiles again.
2013-07-06 20:55:22 +02:00
Joris Vink
b4a0330a96
- Better spread load between all worker processes.
...
- Introduce own memory management system on top of malloc to keep track
of all our allocations and free's. Later we should introduce a pooling
mechanism for fixed size allocations (http_request comes to mind).
- Introduce ssl_cipher in configuration.
Memory usage is kind of high right now, but it seems its OpenSSL
doing it rather then Kore.
2013-06-27 08:43:07 +02:00
Joris Vink
b4deea82b4
add kore_buf_appendb() which allows us to append a kore_buf to another one.
...
(releases the kore_buf that is being appended while at it).
2013-06-05 11:27:03 +02:00
Joris Vink
45adae62f7
q->value should be set to NULL if a query parameter is present but no value was set for it.
...
introduce kore_buf_appendv() (much like readv()).
introduce kore_buf_appendf() (printf into buffers).
2013-05-04 19:09:07 +02:00
Joris Vink
088d877715
switch dynamic handlers to regex based patterns, much easier.
2013-05-29 14:29:46 +02:00
Joris Vink
f61bbe8ff4
move buf stuff back into kore.h, wont need it separately
2013-05-02 15:14:00 +02:00
Joris Vink
84428f7133
move buf stuff into its own header, so we can use it in spdy.h
2013-05-02 14:55:57 +02:00
Joris Vink
f46bba50ef
add very basic support for HTTP/1.1.
2013-05-02 03:51:04 +02:00