age |
author |
description |
2017-06-12 |
jbe |
Do not reuse child workers that have been SIGTERM'ed |
2017-06-12 |
jbe |
Bugfix in moonbridge_io.c: Do not restore sigmask if not changed |
2017-06-12 |
jbe |
Bugfix in moonbridge.c: Do not use killpg but only terminate each child |
2017-06-11 |
jbe |
Changed error messages for moonbridge_io.poll(...) |
2017-06-11 |
jbe |
Fixed documentation of moonbridge_io.poll(...) |
2017-06-11 |
jbe |
Changed behavior of moonbridge_io.poll(...); Renamed moonbridge_io.sigterm_setup() to moonbridge_io.catch_sigterm(); Removed moonbridge_io.sigterm_received() |
2017-06-11 |
jbe |
Use new sigterm handling in moonbridge_http |
2017-06-11 |
jbe |
Minor fixes in reference.txt |
2017-06-11 |
jbe |
Removed moonbridge_io.signals table |
2017-06-11 |
jbe |
New implementation of SIGTERM handling |
2017-06-09 |
jbe |
Removed colon from stderr output |
2017-06-09 |
jbe |
Shortened stderr output in logfile |
2017-06-08 |
jbe |
Make :kill(signal) accept also strings and default to signal 9 (KILL); Improved error handling of :kill(signal) |
2017-06-06 |
jbe |
Modified behavior of moonbridge_io.signalsocket(...); Fixed usage of moonbridge_io.signalsocket(...) in moonbridge_http module |
2017-06-06 |
jbe |
Close idle HTTP connections on SIGTERM |
2017-06-06 |
jbe |
Make moonbridge_io.signalsocket(...) return a new socket each time it is called |
2017-06-06 |
jbe |
Ignore SIGTERM once after sending it to own process group |
2017-06-06 |
jbe |
Undo last commit (Avoid duplicate shutdown) |
2017-06-06 |
jbe |
Avoid duplicate shutdown |
2017-06-06 |
jbe |
Allow "main threads" to be named; main threads also use MOONBR_PROTO_INTERVAL as listener type now |
2017-06-05 |
jbe |
Fixed documentation of moonbridge_io.timeref(...): poll function does not return nil on event |
2017-06-05 |
jbe |
SIGINFO not available on Linux |
2017-06-04 |
jbe |
Make moonbridge_io.signalsocket(...) accept strings as argument |
2017-06-04 |
jbe |
Added signal constants table moonbridge_io.signals |
2017-06-04 |
jbe |
Use SIGTERM to terminate child processes gracefully |
2017-06-04 |
jbe |
Fixed documentation of socket:drain_call(...) |
2017-06-04 |
jbe |
Minor change in documentation of signalsocket(...) |
2017-06-04 |
jbe |
Added moonbridge_io.signalsocket(...) and moonbridge_io.getpid() functions; poll returns true on signal interruption (instead of nil) |
2017-06-04 |
jbe |
Backup and restore errno in signal handler |
2017-06-04 |
jbe |
Added missing "do" statement in while(0) macro workaround |
2017-05-28 |
jbe |
Do not throw error on TCP RST when waiting for HTTP request |
2017-04-25 |
jbe |
Updated Lua version in Makefile to 5.3 |
2016-09-20 |
jbe |
Work on non-blocking close (for TLS) |
2016-09-19 |
jbe |
Use (blocking) tls_close() on :finish() and :close() |
2016-09-19 |
jbe |
Bugfix: do not attempt flushing/closing if file descriptor has already been closed |
2016-09-18 |
jbe |
Code reformatting (of #ifdef MOONBR_IO_USE_TLS) |
2016-09-18 |
jbe |
Simplified error handling with new macro(s) |
2016-09-18 |
jbe |
Bugfix: Do not throw (hard) Lua error in moonbr_io_handle_set_nonblocking, moonbr_io_handle_set_linger, and moonbr_io_handle_set_nopush (may cause Lua error on connection reset) |
2016-09-17 |
jbe |
Bugfix: Switch SO_LINGER off also when data is to be flushed on close |
2016-09-17 |
jbe |
Added TODO for configurable TLS legacy support |
2016-09-17 |
jbe |
Fixed indentation |
2016-09-03 |
jbe |
Fixes for TLS extension of moonbridge_io (userdata instead of lightuserdata for TLS configuration required) |
2016-09-03 |
jbe |
Call tls_close always before closing file descriptor |
2016-08-26 |
jbe |
Perform TLS handshake in :read and :write methods and store TLS_WANT_POLLIN, TLS_WANT_POLLOUT in handle structure |
2016-08-26 |
jbe |
More work on libtls integration (incomplete/experimental yet) |
2016-08-25 |
jbe |
Added missing #ifdef MOONBR_IO_USE_TLS clause |
2016-08-24 |
jbe |
Modifications to poll(...) function in regard to TLS handshake |
2016-08-22 |
jbe |
Method :starttls(...) for I/O handle |
2016-08-22 |
jbe |
Require "mode" parameter passed to tlsconf function |
2016-08-21 |
jbe |
Process "verify_client" field in moonbridge_io.tlsconf{...} |
2016-08-21 |
jbe |
Re-added experimental work on libtls integration |
2016-08-21 |
jbe |
Removed experimental work on libtls integration |
2016-08-21 |
jbe |
Fixed copy/paste error in tlsconf function |
2016-08-21 |
jbe |
Work on tlsconf function |
2016-08-20 |
jbe |
merge |
2016-08-20 |
jbe |
Use luaL_setmetatable instead of luaL_getmetatable and lua_setmetatable |
2016-08-20 |
jbe |
Work on optional libtls integration for moonbridge_io (tls_config stub) |
2016-07-26 |
jbe |
Fixed bug in regard to empty POST bodies |
2016-01-16 |
jbe |
Added missing documentation for moonbridge_io.timeref(...) function |
2016-01-16 |
jbe |
Consistent usage of curly brackets for documentation of listen{...} function in reference.txt |
2016-01-16 |
jbe |
Proper documentation of error handling of moonbridge_io.exec(...) function |
2016-01-16 |
jbe |
Corrected argument to closefrom() C-call |
2015-08-17 |
jbe |
Added missing termination in structure passed to getopt_long() call |
2015-07-12 |
jbe |
Added tag v1.0.1 for changeset 829e748cf668 |
2015-07-12 |
jbe |
Set version string to "1.0.1"v1.0.1 |
2015-07-12 |
jbe |
Fixed bug in write buffer, which caused data to be lost when I/O is blocked |
2015-07-12 |
jbe |
Fixed trivial error in example_application.lua |
2015-07-12 |
jbe |
Bugfix in error handling regarding broken client connection |
2015-06-23 |
jbe |
Added tag v1.0.0 for changeset 828e2bca2e16 |
2015-06-23 |
jbe |
Fixes in reference documentationv1.0.0 |
2015-06-23 |
jbe |
Remove SIGUSR1 mechanism to terminate children gracefully (incomplete yet) |
2015-06-23 |
jbe |
Updated timeout options in example_application.lua |
2015-06-23 |
jbe |
Code cleanup in helloworld.lua |
2015-06-23 |
jbe |
Minor fixes/improvements for reference |
2015-06-23 |
jbe |
Clarified nil/false return values of poll function and wait_nb method |
2015-06-23 |
jbe |
Send a TCP RST instead of TCP FIN when a socket gets garbage collected (and hasn't been closed) |
2015-06-23 |
jbe |
Changed version number to 1.0.0 |
2015-06-22 |
jbe |
Added $(UTIL_FLAGS) to moonbridge_io.so in Makefile |
2015-06-22 |
jbe |
Fixed mistake in previous commit |
2015-06-22 |
jbe |
Use accept() only on Linux and only if _GNU_SOURCE is not set |
2015-06-22 |
jbe |
Safety catch for noncompliant strerror_r() implementation on GNU/Linux systems |
2015-06-22 |
jbe |
Avoid use of accept4() function in favor of accept() to avoid using _GNU_SOURCE on GNU/Linux |
2015-06-22 |
jbe |
Avoid use of asprintf function |
2015-06-22 |
jbe |
Avoid compiler warnings on GNU/Linux (fix) |
2015-06-22 |
jbe |
Avoid compiler warnings on GNU/Linux |
2015-06-22 |
jbe |
Ensure that socket handles always get closed, even in case of an error while creating the socket handle |
2015-06-21 |
jbe |
Removed two functions from moonbridge_io.h |
2015-06-21 |
jbe |
Code cleanup regarding SOCK_CLOEXEC in moonbridge_io.c |
2015-06-21 |
jbe |
Support asynchronous I/O with stdin/stdout/stderr of executed child processes |
2015-06-21 |
jbe |
Adjusted error message sent by request_error function in HTTP module |
2015-06-21 |
jbe |
Fixes to timeout system in HTTP module |
2015-06-21 |
jbe |
Improvements to timeout system of HTTP module |
2015-06-20 |
jbe |
Added drain_timeout to HTTP module |
2015-06-20 |
jbe |
Bugfix in HTTP module regarding extra yield in read_body() |
2015-06-20 |
jbe |
Initialize request.get_params correctly in HTTP module |
2015-06-20 |
jbe |
Avoid hang-up on empty/nonexistent body in moonbridge_http.lua |
2015-06-20 |
jbe |
Set post_params also in case of GET requests |
2015-06-20 |
jbe |
Do not read whole request body unless necessary in HTTP module (extra yield) |
2015-06-20 |
jbe |
Send SIGUSR1 to all child processes on termination via SIGTERM |
2015-06-20 |
jbe |
Removed example chat application |
2015-06-19 |
jbe |
Bugfix in moonbridge_io.c regarding reading without terminator char |
2015-06-19 |
jbe |
Added request:consume_input() call to example_application.lua |
2015-06-19 |
jbe |
Signal request body EOF in HTTP module |
2015-06-19 |
jbe |
Use rawget in __index metamethod in HTTP module |
2015-06-19 |
jbe |
Avoid resuming dead coroutine in HTTP module (set consume = nil) |
2015-06-19 |
jbe |
Removed wrong socket:write call in send call in HTTP module |
2015-06-19 |
jbe |
Fixed mistake with additional local state variable in HTTP module |
2015-06-19 |
jbe |
Changed scope of local target variable in HTTP module |
2015-06-19 |
jbe |
Removed moonbridge_websocket.c |
2015-06-19 |
jbe |
Code cleanup, renamed functions, added documentation for HTTP module |
2015-06-19 |
jbe |
Fixes and code-cleanup in HTTP module |
2015-06-19 |
jbe |
Code cleanup in HTTP module |
2015-06-19 |
jbe |
Some code cleanup / fixes in HTTP module |
2015-06-19 |
jbe |
Code cleanup and added "request_body_content_length" declaration in HTTP module |
2015-06-18 |
jbe |
Throw error if key is not a string when accessing headers table |
2015-06-18 |
jbe |
Check if key is a string in index metamethod of headers table |
2015-06-18 |
jbe |
Bugfix in headers metatable (causes lowercase headers to not be properly processed) |
2015-06-18 |
jbe |
Renamed remaining_header_size_limit and remaining_body_size_limit to local "limit" variables |
2015-06-18 |
jbe |
Minor code cleanup and changed default timeout values |
2015-06-17 |
jbe |
Ignore nil values in pairs(...) on GET and POST params |
2015-06-17 |
jbe |
Added missing header reading/parsing for new HTTP module implementation |
2015-06-16 |
jbe |
Completed new HTTP module implementation (untested yet) |
2015-06-16 |
jbe |
Removed "prepare" state and added 100-Continue header in local prepare() function in HTTP module |
2015-06-16 |
jbe |
Use abstraction for socket:read_yield(...) in HTTP module |
2015-06-15 |
jbe |
Fixes for last commit |
2015-06-15 |
jbe |
Work on new HTTP module implementation |
2015-06-15 |
jbe |
Use old system for GET/POST param tables in new HTTP module implementation |
2015-06-13 |
jbe |
Work on new HTTP module implementation |
2015-06-13 |
jbe |
Work on new HTTP module implementation |
2015-06-13 |
jbe |
Work on new HTTP module implementation |
2015-06-12 |
jbe |
Work on new HTTP module implementation |
2015-06-11 |
jbe |
Work on new HTTP module implementation |
2015-06-11 |
jbe |
Discard minimal changes to HTTP module in favor of new reimplementation |
2015-06-11 |
jbe |
Restarted work on new HTTP module implementation |
2015-06-05 |
jbe |
Further work on new HTTP layer (not finished) |
2015-05-27 |
jbe |
Minimal changes to HTTP module to support interface of new :read(...) method |
2015-05-27 |
jbe |
Further work on new HTTP layer (code cleanup, work on body reading) |
2015-05-26 |
jbe |
Further work on new HTTP layer (read body, without parsing yet) |
2015-05-25 |
jbe |
Further work on new HTTP layer |
2015-05-21 |
jbe |
Initial work on reimplemented HTTP layer (utilizing non-blocking I/O with coroutines and a cleaner object-oriented structure) |
2015-05-19 |
jbe |
Accept max length of zero for read methods |
2015-05-15 |
jbe |
Removed moonbridge_io.run(...); yielding read and write methods do not yield any values |
2015-05-08 |
jbe |
Improved Lua reference code for moonbridge_io.run(...) |
2015-05-08 |
jbe |
Fixed trival mistake in reference.txt |
2015-05-08 |
jbe |
New function moonbridge_io.run(...) as a "coroutine scheduler" |
2015-05-07 |
jbe |
Reverted previous commit (but changes to Makefile) |
2015-05-07 |
jbe |
Do not pass moonbridge_io.block when invoking callback passed to _call I/O methods but only include it for _yield I/O methods |
2015-05-07 |
jbe |
Proper treatment of zero/negative timeouts to moonbridge_io.poll(...); Make _yield methods yield singleton moonbridge_io.block as first yield value |
2015-05-02 |
jbe |
Yielding write and flush methods for I/O |
2015-05-02 |
jbe |
Added new methods drain_call, drain_yield |
2015-05-02 |
jbe |
Method "read" always returns two return values |
2015-05-01 |
jbe |
Bugfix regarding detection of read end in "read" method |
2015-05-01 |
jbe |
Fixed wrong treatment of Lua string buffer in drain mode |
2015-05-01 |
jbe |
Added methods "read_call" and "read_yield" |
2015-04-18 |
jbe |
Added moonbridge_io.h to Makefile; Added stub for moonbridge_websocket.c (with base64'd SHA-1) |
2015-04-17 |
jbe |
Check if file descriptors are in valid range before using them for select |
2015-04-16 |
jbe |
Added _GNU_SOURCE #define for Linux; Avoid compiler warning |
2015-04-16 |
jbe |
Restored Linux compatibility regarding #include section |
2015-04-16 |
jbe |
Cleanup regarding #include directives |
2015-04-16 |
jbe |
Proper distinction between AF_* and PF_* constants (and commented where it is not the case) |
2015-04-16 |
jbe |
Revised flushing behavior of write_nb(...) again |
2015-04-16 |
jbe |
Revised flushing behavior of write_nb(...) |
2015-04-15 |
jbe |
Example application uses new "main" protocol; Handler for "main" gets table with "main" set to true |
2015-04-15 |
jbe |
Modified termination sequence handling |
2015-04-14 |
jbe |
Bugfix in close method of moonbridge_io (do not mark as closed before flushing) |
2015-04-14 |
jbe |
Moved functions in source code to avoid necessity of forward declaration |
2015-04-14 |
jbe |
Introduced new proto "main" to allow for a main thread |
2015-04-14 |
jbe |
Removed <file>:readuntil(...) function |
2015-04-14 |
jbe |
Code cleanup; Allow binding to specific interfaces |
2015-04-12 |
jbe |
Do not announce socket/listener type when communicating with the child process |
2015-04-11 |
bsw |
Updated chat example |
2015-04-11 |
jbe |
Make moonbridge_io.poll(...) return immediately if there is data pending in read buffers |
2015-04-11 |
bsw |
Added multiuser chat to example |
2015-04-10 |
jbe |
Use SO_REUSEADDR for moonbridge_io.tcplisten(...) |
2015-04-10 |
jbe |
Fixed bug regarding testing of valid file descriptor in moonbr_child_run function |
2015-04-10 |
jbe |
Delete local socket in filesystem before and after listening |
2015-04-10 |
jbe |
Bugfixes regarding treatment of memory allocation errors and closing file descriptors |
2015-04-10 |
jbe |
Proper marking I/O handles as closed and finished |
2015-04-10 |
jbe |
Added helper function moonbridge_io.timeref(...); HTTP module sends 408 Request Timeout |
2015-04-09 |
jbe |
Updated reference to include listeners and local sockets |
2015-04-09 |
jbe |
Moved SIGPIPE ignore from moonbridge.c to moonbridge_io.c |
2015-04-09 |
jbe |
New function moonbridge_io.locallisten(path) to listen on local (unix domain) sockets |
2015-04-09 |
jbe |
Added function moonbridge_io.localconnect(pathname) to connect to local (unix domain) socket |
2015-04-09 |
jbe |
Fixed bug regarding length check of addess of local (unix domain) socket |
2015-04-09 |
jbe |
Catching state-related errors properly in moonbridge_io.poll(...) |
2015-04-09 |
jbe |
Fixes in moonbridge_io.tcpconnect(...); Added moonbridge_io.tcplisten(...) |
2015-04-08 |
jbe |
Moved local/remote address extraction/formatting to I/O library |
2015-04-08 |
jbe |
Added moonbridge_io.poll(...) |
2015-04-08 |
jbe |
Refined buffer model for reading in I/O library |
2015-04-08 |
jbe |
Some code cleanup in I/O library |
2015-04-08 |
jbe |
Different buffering model for I/O writer |
2015-04-08 |
jbe |
Added missing freeaddrinfo() call to moonbridge_io.tcpconnect(...) function; Updated documentation regarding blocking DNS lookups of tcpconnect(...) |
2015-04-08 |
jbe |
Convert local and remote IP address to human readable string |
2015-04-08 |
jbe |
Bugfix in C function moonbr_io_closehandle |
2015-04-08 |
jbe |
New function moonbridge_io.tcpconnect_nb(...) for nonblocking connects |
2015-04-08 |
jbe |
Added moonbridge_io.tcpconnect(...) function |
2015-04-08 |
jbe |
Bugfix regarding TCP PSH |
2015-04-08 |
jbe |
Allow full write buffer without forcing TCP PSH |
2015-04-08 |
jbe |
Correctly cache nonblocking status of socket in I/O library; Use TCP_NOPUSH/TCP_CORK when applicable |
2015-04-07 |
jbe |
Removed timeout option from socket:close(); Simulate shutdown for local sockets (Unix Domain Sockets) |
2015-04-07 |
jbe |
Removed excess linebreak in reference.txt |
2015-04-07 |
jbe |
Always re-fill immediate send buffer in write_nb method |
2015-04-07 |
jbe |
write_nb returns total number of bytes buffered in case of block; Updated reference |
2015-04-07 |
jbe |
Proper return values for drain functions |
2015-04-07 |
jbe |
Register I/O library as moonbridge_io (and not mapping functions into io) |
2015-04-07 |
jbe |
Extended I/O library; Integrated new I/O library into moonbridge.c and moonbridge_http.lua |
2015-04-07 |
jbe |
Close and reset method for I/O library |
2015-04-07 |
jbe |
New I/O methods drain and drain_nb |
2015-04-06 |
jbe |
Implementation of read and read_nb in I/O module |
2015-04-06 |
jbe |
Refined interface of I/O library to directly support (previously opened) sockets |
2015-04-06 |
jbe |
Code cleanup and fixes in optionally non-blocking write/write_nb method; Allow to mark I/O handles as closed |
2015-04-06 |
jbe |
Non-blocking write methods shall return io handle |
2015-04-06 |
jbe |
Implementation of write, write_nb, flush, flush_nb with double buffering technique |
2015-04-06 |
jbe |
Blocking :write(...) and :flush(...) methods in I/O library |
2015-04-05 |
jbe |
Stub for new non-blocking I/O library |
2015-04-05 |
jbe |
Reverted experimental work on non-blocking I/O with file handles |
2015-04-05 |
jbe |
Use write instead of fwrite for non-blocking I/O |
2015-04-05 |
jbe |
Work on write_nb method |
2015-04-04 |
jbe |
Proper handling of out-of-memory errors in xread_nb method |
2015-04-04 |
jbe |
Mention testing of file handle buffer test in io.poll(...) |
2015-04-04 |
jbe |
Another initialization to avoid (wrong) compiler warning |
2015-04-04 |
jbe |
Add initialization to avoid compiler warning |
2015-04-04 |
jbe |
Updated reference to include xread, xread_nb, write_nb |
2015-04-04 |
jbe |
Fixed io.poll(...) function |
2015-04-04 |
jbe |
Work on io.poll(...) and file handle methods "xread", "xread_nb", "write_nb" |
2015-04-04 |
jbe |
Extended io.poll(...) to check FILE buffers; Replaced method "readuntil" with "xread" |
2015-04-04 |
jbe |
Fixed typo in moonbridge.c |
2015-04-04 |
jbe |
Work on non-blocking I/O; Improved efficiency of :readuntil(...) |
2015-04-04 |
jbe |
Second table to io.poll(...) is optional |
2015-04-04 |
jbe |
Work on support for non-blocking I/O |
2015-03-30 |
jbe |
Optimized module preamble |
2015-03-24 |
jbe |
Added tag v0.4.0 for changeset 54d488774467 |
2015-03-24 |
jbe |
Set default fork delay to 0.25 secondsv0.4.0 |
2015-03-24 |
jbe |
New method request:close_after_finish() |
2015-03-24 |
jbe |
Do not discard duplicate "Connection: close" header (because other connection options might be set) |
2015-03-23 |
jbe |
Set _MOONBRIDGE_VERSION variable for Lua machine |
2015-03-22 |
jbe |
Removed explicit garbage collection while waiting for next request |
2015-03-22 |
jbe |
Collect Lua garbage after initialization |
2015-03-22 |
jbe |
Perform garbage collection before waiting for request |
2015-03-22 |
jbe |
Adjusted HTTP timeouts |