307 Commits

Author SHA1 Message Date
Joris Vink
98de763632 s/light/kore 2013-06-17 23:54:59 +02:00
Joris Vink
af3e57344b comment out non required lines 2013-06-15 16:16:51 +02:00
Joris Vink
920c2ad8b9 add link to maste repo 2013-06-05 16:57:24 +02:00
Joris Vink
6181cd7c8c even better 2013-06-05 16:42:39 +02:00
Joris Vink
463ea9c6f9 update README for github and split it up into docs/ 2013-06-05 16:41:42 +02:00
Joris Vink
ead8af3b81 add TODO 2013-06-05 14:30:06 +02:00
Joris Vink
61605a99c4 update README 2013-06-05 14:10:29 +02:00
Joris Vink
e170e916ce Reload the module in the main process as well when SIGHUP is received.
Otherwise new worker processes will not receive the updated module.
2013-06-05 13:50:50 +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
a74fffe40c Introduce certfile and certkey in the configuration to specify where the certificate file and keys are located on a system.
Free unused vars in the main process after starting.
2013-06-05 09:47:08 +02:00
Joris Vink
32a2035ce9 move kore_server_sslstart() into main process, workers will inherit. 2013-06-05 09:32:53 +02:00
Joris Vink
72e09424af ergg spelling. 2013-06-05 09:30:04 +02:00
Joris Vink
36bf2d34c6 better example configuration. 2013-06-05 09:29:06 +02:00
Joris Vink
338047a95b use kore_log() to notify when a module is reloaded 2013-06-05 08:56:37 +02:00
Joris Vink
b9f47b0f86 configuration files are now passed using the -c option.
allow debug output when the -d flag is specified.
2013-06-05 08:55:07 +02:00
Joris Vink
ade34a26c1 move chroot() to workers instead, parent process doesn't require it plus it cannot unlink pidfile otherwise.
better logging in syslog
2013-06-05 08:45:51 +02:00
Joris Vink
c9187041c4 update 2013-06-05 08:34:49 +02:00
Joris Vink
90e1b3a7da use syslog() for informative messages from all parts of kore. 2013-06-04 23:24:47 +02:00
Joris Vink
49b77d3b0e better proctitles 2013-06-04 17:04:28 +02:00
Joris Vink
276d8c5a82 oops bring back chroot 2013-06-04 17:01:06 +02:00
Joris Vink
ca437a6cef set process title 2013-06-04 16:58:13 +02:00
Joris Vink
150bb8822f add pidfile to example configuration 2013-06-04 16:53:54 +02:00
Joris Vink
9ef669ff6f write main process pid to /var/run/kore.pid (changable in configuration) 2013-06-04 16:53:30 +02:00
Joris Vink
443b1c8c5f format 2013-06-04 16:33:35 +02:00
Joris Vink
e7db5ee6b1 rename kore_log to kore_debug, and allow one to turn it off. 2013-06-04 16:30:53 +02:00
Joris Vink
11fca19923 be less spammy 2013-06-04 16:17:42 +02:00
Joris Vink
ab0dc25c61 use sched_setaffinity() to set what CPU each worker process should run on. 2013-06-04 13:54:16 +02:00
Joris Vink
8f8ab92521 upon quit time, workers will not accept new connections but will
handle all outstanding http requests.
2013-06-04 13:43:11 +02:00
Joris Vink
0de28488a6 move from multithreads to single threaded worker processes. 2013-06-04 11:55:38 +02:00
Joris Vink
ae0a8ece75 update 2013-06-04 08:52:30 +02:00
Joris Vink
b65cc93426 allow handlers to return KORE_RESULT_RETRY. This will tell the worker to reschedule the page request again at the end of its list. (Allows module creators to write truely nonblocking modules). 2013-05-31 00:40:06 +02:00
Joris Vink
7dfa7e6ec0 be carefull when we reload the module to not reload it when workers are inside the module callbacks.
do this by implementing a pthread rwlock, and locking it for reading when going into a callback and locking it for writing when we need to reload the mod.
2013-05-31 00:06:54 +02:00
Joris Vink
fecbd058cb rework the worker thread so there's actually time to schedule more then one request at a time on them. 2013-05-31 14:24:00 +02:00
Joris Vink
e428886e16 decrement the worker load on HTTP_REQUEST_DELETE 2013-05-31 13:30:51 +02:00
Joris Vink
966ba3352e missing profile.html 2013-05-30 23:16:00 +02:00
Joris Vink
bb4001d119 ok that was wrong, disconnect http clients whne we're done sending or upon error, not immediately after queueing everything. 2013-05-30 21:57:14 +02:00
Joris Vink
ca1c884e43 attempt to clear out send buffer before we shutdown ssl connection.
remove superfleaous debug
2013-05-30 21:39:01 +02:00
Joris Vink
791aba1e82 specify example of onload 2013-05-30 21:27:13 +02:00
Joris Vink
cf6a6550f0 allow onload to be given in the config file.
onload specifies what function in your module to call when the module has been loaded or reloaded.
2013-05-30 21:26:39 +02:00
Joris Vink
ec5ac40706 wake up the workers once in a while to process anything that is waiting. 2013-05-30 20:55:50 +02:00
Joris Vink
f9b3cfcee4 reschedule events if we cannot lock the connection at the time being. 2013-05-30 20:38:25 +02:00
Joris Vink
9ad263e287 do not remove disconnected connections until we actually are ready to disconnect them. 2013-05-30 20:07:06 +02:00
Joris Vink
9243f409cc move to a worker based threading approach where we delegate http requests to workers in a round robin basis (later this should be swapped to find the laziest worker and assign the request to that instead). 2013-05-30 19:36:42 +02:00
Joris Vink
8478d8df54 add chroot and runas directives so we can chroot and drop privilegs properly 2013-05-04 22:18:27 +02:00
Joris Vink
3b30920a60 for now, until we properly handle a persistent HTTP connection for non spdy clients make sure we close the connection after handling the HTTP request. 2013-05-04 21:03:53 +02:00
Joris Vink
ce729010f7 - simplify header building using kore_buf_appendf() for normal HTTP requests.
- make sure we dont free nb->buf if its NULL. (semantics).
- remove some superfluffy debug.
- make sure we call [inflate|deflate]End when we dc a client that used zlib.
2013-05-04 20:44:16 +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
61b937ac1b remove unused vars 2013-05-04 16:38:40 +02:00
Joris Vink
8d67ee4c52 add dynamic handler example to our base module 2013-05-29 14:42:40 +02:00
Joris Vink
088d877715 switch dynamic handlers to regex based patterns, much easier. 2013-05-29 14:29:46 +02:00