992 Commits

Author SHA1 Message Date
Joris Vink
6ac15d37cb Make sure user agent is still set properly. 2015-12-10 09:25:22 +01:00
Joris Vink
c3401fe348 Make the TLS proxy example much better.
Now allows multiple backends based on SNI that was
set during TLS handshake.

The connection phase for the backends is now fully
non blocking.
2015-12-09 21:29:53 +01:00
Joris Vink
d3332d5921 Add kore_platform_schedule_write(). 2015-12-09 21:29:44 +01:00
Joris Vink
3c0cc79e6b More incompatible changes incoming, make it clear
Semver demands it.
2015-12-09 16:29:35 +01:00
Joris Vink
ef708bd3b7 Merge pull request #89 from Houdini/master
fix typo: -r for skip privs
2015-12-08 08:50:37 +01:00
Dmitrii Golub
3eaa325eb5 fix typo: -r for skip privs 2015-12-08 04:42:16 +03:00
Joris Vink
c95aac54a2 Merge pull request #87 from Houdini/master
Better CFLAGS and CFLAGS limit
2015-12-04 22:57:32 +01:00
Dmitrii Golub
ab391df7ff Better CFLAGS and CFLAGS limit 2015-12-04 17:16:56 +03:00
Joris Vink
d7bbb54424 Remove zlib.h 2015-12-04 14:12:06 +01:00
Joris Vink
b4611ee38d Kill off zlib_dict.c 2015-12-04 14:11:37 +01:00
Joris Vink
77364e49cd Do not call handle if not set, similar to bsd.c. 2015-12-02 21:57:16 +01:00
Joris Vink
1ed96b12a9 correct certificate path in example 2015-12-02 21:53:42 +01:00
Joris Vink
d02f9e549f Add TLS proxy example. 2015-12-02 21:52:26 +01:00
Joris Vink
961a2e3685 Allow apps to override connection handling.
Setting the handle callback allows your application
to take care of network events for the connection.

Look at the connection state and flags to determine
if read/write is possible and go from there.

See kore_connection_handle() for more details.
2015-12-01 20:55:00 +01:00
Joris Vink
428802afc8 More cleanup after introducing NOHTTP=1.
* The cli tools must know when building as KORE_NO_HTTP.
* Reshuffle some structs around to avoid forward declarations.
* Move wscbs under !KORE_NO_HTTP as its for websockets.
* Remove unused members from struct connection.

Applications that use the connect callbacks for new connections
must now set the connection state themselves, see nohttp example.
2015-11-30 16:23:34 +01:00
Joris Vink
4fd6d8a7a4 Correct usage of http_request_header().
Since latest change we no longer need free its result.
2015-11-29 17:22:30 +01:00
Joris Vink
7bdae240cf Change semantics for http_request_header().
The result returned by this function no longer needs to
be freed by the caller.
2015-11-29 14:19:44 +01:00
Joris Vink
948dafb19c Unbreak SSE example after latest changes. 2015-11-27 18:26:30 +01:00
Joris Vink
fd52d4c39d Spacing 2015-11-27 18:12:08 +01:00
Joris Vink
e576240e2b Remove spdy references 2015-11-27 16:31:52 +01:00
Joris Vink
769c78a6e8 Introduce NOHTTP=1 build option.
This basically turns off the HTTP layer for Kore. It does not
compile in anything for HTTP.

This allows Kore to be used as a network application platform as well.
Added an example for this called nohttp.

Other changes that sneaked in while hacking on this:
* Use calloc(), kill pendantic malloc option.
* Killed off SPDY/3.1 support completely, will be superseded by http2

Note that comes with massive changes to a lot of the core API
functions provided by Kore, these might break your application.
2015-11-27 16:22:50 +01:00
Joris Vink
a88e56ae25 Do not call TAILQ_INIT() on domain list twice. 2015-11-27 11:15:36 +01:00
Joris Vink
963bdfdb2c Move towards 1.3.0-devel target, skipping 1.2.4.
Mostly done due to incoming library changes.
2015-11-12 09:20:14 +01:00
Joris Vink
036a4e4d3c NOTLS means no tls, not no openssl. 2015-11-05 09:18:14 +01:00
Joris Vink
cc2e317d30 Merge pull request #82 from fourdollars/master
Fix typos.
2015-11-04 08:53:25 +01:00
Shih-Yuan Lee (FourDollars)
384ac824ee Fix typos. 2015-11-04 09:54:55 +08:00
Joris Vink
0b0ba0f6f5 Manually add cpipe to connection list in example. 2015-10-23 12:13:23 +02:00
Joris Vink
02c667e940 Merge pull request #77 from apfohl/apfohl-travis
Updated .travis.yml to use new container-based infrastructure.
2015-10-19 08:47:16 +02:00
Andreas Pfohl
6dba32c66c Updated .travis.yml to use new container-based infrastructure. 2015-10-18 14:26:44 +02:00
Joris Vink
656931380c Bump to 1.2.4-rc1 2015-09-17 12:33:40 +02:00
Joris Vink
b5736ef158 Unbreak ktunnel example after recent changes. 2015-09-03 08:24:55 +02:00
Joris Vink
63dc498807 Unbreak the sse example. 2015-08-06 08:21:28 +02:00
Joris Vink
7b3224ad30 Remove 'behind' argument from timers.
Also calculate next run for a timer as now + interval
instead of last nextrun + interval - delta.
2015-08-06 08:20:41 +02:00
Joris Vink
a20fb00789 req can be NULL if we are coming from an error path. 2015-08-02 16:53:40 +02:00
Joris Vink
e95d9cc88e Bump HTTP_MAX_QUERY_ARGS to 20. 2015-07-31 15:29:16 +02:00
Joris Vink
aa1f475bab Merge pull request #74 from bonifaido/master
Don't link object files if not needed
2015-07-27 18:10:22 +02:00
Nandor Kracser
3633270de3 Don't link object files if not needed 2015-07-25 19:10:48 +02:00
Joris Vink
a572a9eeae Always correctly add websocket frame length.
In certain scenarios the addition frame length
would not be set, found the hard way.
2015-07-16 06:55:44 +02:00
Joris Vink
1003cbcd50 Just point hldr_extra to kw->id.
Not sure what state of crazy my mind was in for writing
the previous code like that.
2015-07-07 16:11:40 +02:00
Joris Vink
0281fb7b99 Update the msg->dst member accordingly when sending.
This way the worker will always receive a message with
the correct destination set instead of KORE_MSG_WORKER_ALL.
2015-07-06 21:16:22 +02:00
Joris Vink
064f2095b0 Update message framework with src/dst for workers.
One can now send messages to specific workers and
receiving workers can see the origin of the messages.
2015-07-06 21:08:36 +02:00
Joris Vink
d8508f4a7b Add the actual task changes for last commit. 2015-07-01 11:03:54 +02:00
Joris Vink
cf94a53be7 Add user callbacks for task activity.
Allows one to bind a callback to a Kore task which is called
everytime activity happens on the task channel.

Add an example as well on how this works.

Inspired by issue #68.
2015-07-01 11:01:23 +02:00
Joris Vink
be3fa17201 Do not send connection:close for websocket upgrades. 2015-06-30 16:43:21 +02:00
Joris Vink
a4e462b36c Merge pull request #68 from Indrikoterio/master
Make sure we set connection to upgrade only in websocket responses.
2015-06-30 16:37:15 +02:00
Cleve Lendon
18becccd5a Fix indentation. 2015-06-30 18:07:45 +09:00
Joris Vink
4dff0b57ae Add openssl paths for homebrew/ports for osx.
These are the default paths openssl should be installed under
for both projects. This at least kills the need for user CFLAGS
for a normal build.

Inspired by #70.
2015-06-28 13:43:01 +02:00
Cleve Lendon
fef3ee8efe Fix websockets. Connection must be Upgrade, not keep-alive, Upgrade 2015-06-26 12:14:01 +09: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
0e3271cf9d Add EV_CLEAR to the bsd event code for kqueue.
This was missing and makes dealing with events easier.
2015-06-23 18:16:19 +02:00