| age | 
  author | 
  description | 
 
 
  | 2021-04-28 | 
  jbe | 
  Added tag v1.1.3 for changeset 62901393deb0default tip  | 
 
 
  | 2021-04-28 | 
  jbe | 
  Updated reference regarding dual IPv6/IPv4 socketsv1.1.3  | 
 
 
  | 2021-04-28 | 
  jbe | 
  Updated LICENSE | 
 
 
  | 2021-02-05 | 
  jbe | 
  Added missing "extern" for moonbr_io_sigterm_flag (caused linker errors on certain platforms) | 
 
 
  | 2021-02-05 | 
  jbe | 
  Improved Makefile to allow manual selection of PLATFORM and DISTRIBUTION; Emit warning if platform or Linux distribution could not be determined | 
 
 
  | 2021-02-05 | 
  jbe | 
  Added missing include of fcntl.h to avoid compiler warning under Linux | 
 
 
  | 2021-01-04 | 
  jbe | 
  Make moonbridge_io.tcplisten(nil, port) accept both IPv6 and IPv4 connections independently of operating system setting; if first argument is non-nil and resolves to an IPv6 address, never accept IPv4 connections | 
 
 
  | 2020-12-20 | 
  jbe | 
  Added tag v1.1.2 for changeset a8b1012856a5 | 
 
 
  | 2020-12-20 | 
  jbe | 
  Bugfix: Do not use freeaddrinfo() if getaddrinfo() failedv1.1.2  | 
 
 
  | 2020-06-23 | 
  jbe | 
  Fixed proper errno handling for blocking I/O in localconnect function for connecting to sockets | 
 
 
  | 2019-10-19 | 
  jbe | 
  Use "cc -shared" instead of "ld -shared" to create *.so files | 
 
 
  | 2019-10-12 | 
  jbe | 
  Add -L/usr/lib -lc to all invocations of ld on FreeBSD | 
 
 
  | 2019-10-12 | 
  jbe | 
  Add -L/usr/lib to ld call for compiling on FreeBSD | 
 
 
  | 2019-01-21 | 
  jbe | 
  Use offsetof macro at compile time to determine maximum length of local socket paths | 
 
 
  | 2018-12-22 | 
  jbe | 
  Added tag v1.1.1 for changeset 5fe68ba5fe0e | 
 
 
  | 2018-12-22 | 
  jbe | 
  Raspbian support in Makefilev1.1.1  | 
 
 
  | 2018-10-04 | 
  jbe | 
  Methods to manipulate socket buffer sizes | 
 
 
  | 2018-07-26 | 
  jbe | 
  Added tag v1.1.0 for changeset f6154dccdab8 | 
 
 
  | 2018-07-26 | 
  jbe | 
  Fixed year in LICENSE filev1.1.0  | 
 
 
  | 2018-07-26 | 
  jbe | 
  Added tag v1.1.0 for changeset 15132b3c053d | 
 
 
  | 2018-02-03 | 
  jbe | 
  Fixed some bugs with _call and _yield functions in moonbridge_io | 
 
 
  | 2018-02-01 | 
  jbe | 
  Added parameter to waitfunc of asynchronous I/O functions which allows to check whether waitfunc was called for the first time | 
 
 
  | 2018-02-01 | 
  jbe | 
  Modified non-blocking I/O _call functions to pass certain arguments (socket, mode, module) to wait function | 
 
 
  | 2018-01-27 | 
  jbe | 
  merge | 
 
 
  | 2018-01-27 | 
  jbe | 
  Bugfix/workaround: Do not call getpeername() when opening TCP connections in non-blocking mode | 
 
 
  | 2017-12-04 | 
  jbe | 
  Linux compatibility: do not set sun_len | 
 
 
  | 2017-11-24 | 
  jbe | 
  Bugfix: Properly set sun_len, sun_family, and addrlen when filling sockaddr_un struct (using maximum possible length) | 
 
 
  | 2017-11-24 | 
  jbe | 
  Renamed HTTP "header_size_limit" and "body_size_limit" options to "request_header_size_limit" and "request_body_size_limit" (to match documentation in example code) | 
 
 
  | 2017-11-24 | 
  jbe | 
  Fixed use of INET_ADDRSTRLEN constant (for IPv4) | 
 
 
  | 2017-11-19 | 
  jbe | 
  Added tag v1.0.2 for changeset e4e1ad8d5ab8 | 
 
 
  | 2017-11-16 | 
  jbe | 
  Code cleanup in moonbr_io_read_cont function (avoid unnecessary lua_pushvalue)v1.0.2  | 
 
 
  | 2017-11-16 | 
  jbe | 
  Bugfix in moonbr_io_read_cont function which caused read chunks to be concatenated in wrong order | 
 
 
  | 2017-11-15 | 
  jbe | 
  Avoid using WNOWAIT in moonbridge_io.poll(...) for Linux compatibility | 
 
 
  | 2017-06-23 | 
  jbe | 
  Do not shutdown due to main thread termination when shutdown is already in progress | 
 
 
  | 2017-06-18 | 
  jbe | 
  Fixed two errors in moonbridge_io.poll(...) regarding child termination | 
 
 
  | 2017-06-18 | 
  jbe | 
  Code formatting | 
 
 
  | 2017-06-18 | 
  jbe | 
  Throw error when polling a collected child process | 
 
 
  | 2017-06-18 | 
  jbe | 
  Fixed wrong treatment of waitpid() return value in moonbridge_io.poll(...) | 
 
 
  | 2017-06-17 | 
  jbe | 
  Bugfix regarding waiting for child processes in moonbridge_io.poll(...) | 
 
 
  | 2017-06-17 | 
  jbe | 
  Extend moonbridge_io.poll(...) to support waiting for child process termination | 
 
 
  | 2017-06-17 | 
  jbe | 
  Make moonbridge_io.poll(...) check for SIGTERM also when wakeup is forced due to TLS negotiation or closed local socket | 
 
 
  | 2017-06-12 | 
  jbe | 
  Code-cleanup: removed redundancy in moonbr_initiate_shutdown() | 
 
 
  | 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 | 
 
 
  | 2015-03-22 | 
  jbe | 
  Timeout management | 
 
 
  | 2015-03-22 | 
  jbe | 
  Improvements to reference (idle_time vs timeout) | 
 
 
  | 2015-03-20 | 
  jbe | 
  Send TCP RST in case of input error when output has already been (partially) written | 
 
 
  | 2015-03-20 | 
  jbe | 
  Proper handling of I/O errors; Added property "request.faulty"; Removed "io_error_handler" hook; Added documentation for global function "timeout" | 
 
 
  | 2015-03-19 | 
  jbe | 
  Bugfix in local error_response function | 
 
 
  | 2015-03-19 | 
  jbe | 
  Renamed "Request body is already being processed" error to "Request body is currently being processed" | 
 
 
  | 2015-03-19 | 
  jbe | 
  Bugfix: Don't read request body when sending (minimalistic) error response due to malformed requests, etc. | 
 
 
  | 2015-03-19 | 
  jbe | 
  Treat multipart/form-data protocol errors and chunked transfer-encoding protocol errors as I/O errors | 
 
 
  | 2015-03-19 | 
  jbe | 
  Added missing assert_io(...) for socket.output:close(); Close peer connection (with TCP RST) on I/O error | 
 
 
  | 2015-03-17 | 
  jbe | 
  Added io_error_handler; Code cleanup | 
 
 
  | 2015-03-09 | 
  jbe | 
  Methods :close(), :cancel(), and :readuntil(...) do not throw I/O errors but return error message as second return value after nil | 
 
 
  | 2015-03-08 | 
  jbe | 
  Methods :close() and :cancel() return true value on success; Added assert(...) calls to moonbridge_http.lua on writing to client | 
 
 
  | 2015-03-08 | 
  jbe | 
  When writing to disconnected clients, do not use signal 13 (SIGPIPE) but throw I/O error | 
 
 
  | 2015-03-08 | 
  jbe | 
  Disabling SHUT_RD due to problems with Linux | 
 
 
  | 2015-03-07 | 
  jbe | 
  Bugfix regarding temporary timeout settings and initialization of variable 'newval' in moonbr_timeout(L) | 
 
 
  | 2015-03-07 | 
  jbe | 
  Removed unnecessary else-block (due to return in then-blocks) | 
 
 
  | 2015-03-02 | 
  jbe | 
  Fixed comment on internal variable "input_state" | 
 
 
  | 2015-03-02 | 
  jbe | 
  Avoid caching of request.get_params and request.post_params to allow modification of request.get_params_list and request.post_params_list; Allow writing to request.get_params and request.post_params | 
 
 
  | 2015-02-27 | 
  jbe | 
  Support iteration using pairs(...) on request.get_params, request.get_params_list, request.post_params, and request.post_params_list | 
 
 
  | 2015-02-17 | 
  jbe | 
  Added tag v0.3.0 for changeset 59f485dc48ea | 
 
 
  | 2015-02-17 | 
  jbe | 
  Removed method request:send_text_status_response(...); Added helloworld.luav0.3.0  | 
 
 
  | 2015-02-17 | 
  jbe | 
  Method request:send_text_status_response(...) doesn't enfoce connection close | 
 
 
  | 2015-02-17 | 
  jbe | 
  Bugfix in request loop of moonbridge_http.lua: terminate loop if "Connection: close" has been sent to client | 
 
 
  | 2015-02-17 | 
  jbe | 
  Bugfix in method request:send_text_status_response(...) (added missing "self" in function definition) | 
 
 
  | 2015-01-31 | 
  jbe | 
  Added tag v0.2.1 for changeset 0a9abf36e07b | 
 
 
  | 2015-01-30 | 
  jbe | 
  Bug in request:finish() method of HTTP module fixed, which caused body-less responses to cause an errorv0.2.1  | 
 
 
  | 2015-01-30 | 
  jbe | 
  Added tag v0.2 for changeset 19a6d18bf34e | 
 
 
  | 2015-01-30 | 
  jbe | 
  Added some comments to example_application.luav0.2  | 
 
 
  | 2015-01-30 | 
  jbe | 
  Added default compile options for Debian | 
 
 
  | 2015-01-29 | 
  jbe | 
  Code cleanup in Makefile; Use lsb_release binary in Makefile | 
 
 
  | 2015-01-29 | 
  jbe | 
  Code cleanup in example_application.lua; Removed memory limit in example_application.lua | 
 
 
  | 2015-01-29 | 
  jbe | 
  Include bsd/stdio.h on Linux systems to avoid compiler warning on implicitly declared fpurge() function | 
 
 
  | 2015-01-29 | 
  jbe | 
  Suppress unused-result compiler warnings in Makefile | 
 
 
  | 2015-01-29 | 
  jbe | 
  Backed out previous changeset: Avoid "unused-result" compiler warning by storing return values in dummy variables | 
 
 
  | 2015-01-29 | 
  jbe | 
  Avoid "unused-result" compiler warning by storing return values in dummy variables | 
 
 
  | 2015-01-29 | 
  jbe | 
  Use memcpy() instead of dereferencing type-punned pointers to avoid breaking strict-aliasing rules | 
 
 
  | 2015-01-29 | 
  jbe | 
  Removed C++ style comments (use C style comments) | 
 
 
  | 2015-01-29 | 
  jbe | 
  Added default makefile configuration for Ubuntu distribution | 
 
 
  | 2015-01-29 | 
  jbe | 
  Bugfix in example_application.lua (Bug introduced in one of the previous commits) | 
 
 
  | 2015-01-29 | 
  jbe | 
  Alphabetical order in reference.txt | 
 
 
  | 2015-01-29 | 
  jbe | 
  Emptied prepare method and use request:send_text_status_response(...) in example_application.lua | 
 
 
  | 2015-01-29 | 
  jbe | 
  Include leading question mark in request.query | 
 
 
  | 2015-01-29 | 
  jbe | 
  Fixed bad mistake in comment on prepare function in example_application.lua | 
 
 
  | 2015-01-29 | 
  jbe | 
  Removed request.url; String in request.path does not contain a leading slash anymore; Stricter parsing of request targets | 
 
 
  | 2015-01-29 | 
  jbe | 
  Proper treatment of double semicolons in package.path and added MOONBR_LUA_CPATH in addition to MOONBR_LUA_PATH | 
 
 
  | 2015-01-29 | 
  jbe | 
  Added MOONBR_LUA_PATH compile-time variable to allow prepending a path to LUA_PATH at run-time | 
 
 
  | 2015-01-29 | 
  jbe | 
  New method request:send_text_status_response(...) that was previously only available internally as error_response(...) function | 
 
 
  | 2015-01-14 | 
  jbe | 
  Terminate server at startup if no listener is installed | 
 
 
  | 2015-01-11 | 
  jbe | 
  Forward compatibility with future HTTP versions (accept absolute URLs as target); Always require "Host" header; Renamed request.url to request.target | 
 
 
  | 2015-01-09 | 
  jbe | 
  Renamed "http" module to "moonbridge_http" | 
 
 
  | 2015-01-08 | 
  jbe | 
  Lua 5.3 (rc4) compatibility; Code cleanup for Lua 5.3 | 
 
 
  | 2015-01-08 | 
  jbe | 
  Changed invocation of moonbridge command: single script with additional command line arguments for script | 
 
 
  | 2015-01-04 | 
  jbe | 
  Added tag v0.1 for changeset f6d3b3f70dab | 
 
 
  | 2015-01-04 | 
  jbe | 
  Initial commitv0.1  |