age |
author |
description |
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 |