| 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 |
| 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 |