age |
author |
description |
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 |
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-01-21 |
jbe |
Use offsetof macro at compile time to determine maximum length of local socket paths |
2018-10-04 |
jbe |
Methods to manipulate socket buffer sizes |
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 |
Bugfix/workaround: Do not call getpeername() when opening TCP connections in non-blocking mode |
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-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 |
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-11 |
jbe |
Changed error messages for 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 |
Removed moonbridge_io.signals table |
2017-06-11 |
jbe |
New implementation of SIGTERM handling |
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 |
Make moonbridge_io.signalsocket(...) return a new socket each time it is called |
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 |
Added moonbridge_io.signalsocket(...) and moonbridge_io.getpid() functions; poll returns true on signal interruption (instead of nil) |
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-01-16 |
jbe |
Corrected argument to closefrom() C-call |
2015-07-12 |
jbe |
Fixed bug in write buffer, which caused data to be lost when I/O is blocked |
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-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 |
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-19 |
jbe |
Bugfix in moonbridge_io.c regarding reading without terminator char |
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 |
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-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-14 |
jbe |
Bugfix in close method of moonbridge_io (do not mark as closed before flushing) |
2015-04-11 |
jbe |
Make moonbridge_io.poll(...) return immediately if there is data pending in read buffers |
2015-04-10 |
jbe |
Use SO_REUSEADDR for moonbridge_io.tcplisten(...) |
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 |
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 |
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 |
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 |
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 |
Extended I/O library; Integrated new I/O library into moonbridge.c and moonbridge_http.lua |