Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | net.http.server: Handle promises from http handlers | Kim Alvefur | 2019-11-01 | 1 | -0/+8 | |
| | | ||||||
* | | net.http.server: Handle util.error objects from http handlers | Kim Alvefur | 2019-11-01 | 1 | -0/+3 | |
| | | ||||||
* | | net.http.server: Tail call because tail call! | Kim Alvefur | 2019-11-01 | 1 | -1/+1 | |
| | | ||||||
* | | net.http.server: Factor out handling of event response for easier reuse | Kim Alvefur | 2019-11-01 | 1 | -31/+34 | |
| | | ||||||
* | | Merge 0.11->trunk | Kim Alvefur | 2019-11-02 | 2 | -2/+14 | |
|\| | ||||||
| * | net.resolvers: Abort on hostnames not passing IDNA validation | Kim Alvefur | 2019-11-02 | 2 | -0/+10 | |
| | | | | | | | | | | | | Prevents error on trying to use nil. Needs better error reporting in the future. | |||||
| * | net.resolvers: Apply IDNA conversion to ascii for DNS lookups (fixes #1426) | Kim Alvefur | 2019-11-02 | 2 | -2/+4 | |
| | | ||||||
| * | net.server_epoll: Backport timer optimization 6c2370f17027 from trunk (see ↵ | Kim Alvefur | 2019-07-08 | 1 | -48/+29 | |
| | | | | | | | | | | | | | | #1388) The previous timer handling did not scale well and led to high CPU usage with many connections (each with at least an read timeout). | |||||
* | | net.http.codes: Avoid implicit number -> string coercion | Kim Alvefur | 2019-11-01 | 1 | -1/+1 | |
| | | ||||||
* | | net.server_epoll: Save IP and port from connection creation call | Kim Alvefur | 2019-10-12 | 1 | -0/+4 | |
| | | | | | | | | Might come out of :getpeername different later but at least it's something. | |||||
* | | server_epoll: Log full string represestation when connected | Kim Alvefur | 2019-10-12 | 1 | -1/+1 | |
| | | | | | | | | Since they may have been unknown when the connection was created. | |||||
* | | net.server_epoll: Handle getpeer/sockname returning a normal error | Kim Alvefur | 2019-10-12 | 1 | -2/+2 | |
| | | | | | | | | | | These will sometimes return nil, "Transport not connected" but not throw a hard error. This shouldn't be treated as success. | |||||
* | | net.server_epoll: Fix to get remote IP on direct TLS connections | Kim Alvefur | 2019-10-12 | 1 | -0/+1 | |
| | | | | | | | | | | | | | | | | A Direct TLS connection (eg HTTPS) gets turned into a LuaSec handle before the :updatenames call done in the :connect method. LuaSec does not expose the :getpeername and :getsockname methods, so the addresses remain obscured, making debugging trickier since the actual IP addrerss connected to does not show up. | |||||
* | | net.server_epoll: Move a log message to improve ordering | Kim Alvefur | 2019-10-12 | 1 | -1/+1 | |
| | | | | | | | | It was weird that it said "Prepared to start TLS" before "Client .. created" | |||||
* | | net.http.files: Explicitly convert number to string, avoiding implicit coercion | Kim Alvefur | 2019-10-12 | 1 | -1/+1 | |
| | | ||||||
* | | net.http.server: Explicitly convert number to string, avoiding implicit coercion | Kim Alvefur | 2019-10-12 | 1 | -1/+1 | |
| | | ||||||
* | | net.http.server: Re-fire unhandled HEAD requsts as GET events (fixes #1447) | Kim Alvefur | 2019-10-12 | 1 | -0/+11 | |
| | | | | | | | | | | | | BC: This overloads the GET event. Previous commit ensures HEAD requests are sent without a body. | |||||
* | | net.http.server: Ensure HEAD requests are sent with empty body | Kim Alvefur | 2019-10-12 | 1 | -0/+16 | |
| | | ||||||
* | | net.server_epoll: Guard against nil return from TLS info method | Kim Alvefur | 2019-10-06 | 1 | -2/+2 | |
| | | ||||||
* | | net.server_epoll: Log TLS version and cipher for all completed handshakes | Kim Alvefur | 2019-10-06 | 1 | -1/+6 | |
| | | | | | | | | | | The similar logging in mod_c2s and mod_s2s does not cover all connections, like HTTPS or other Direct TLS ports. | |||||
* | | net.server_epoll: Log size of partial writes (debug) | Kim Alvefur | 2019-10-05 | 1 | -0/+1 | |
| | | ||||||
* | | net.server_epoll: Return early when attepting to set write lock state to ↵ | Kim Alvefur | 2019-10-05 | 1 | -0/+6 | |
| | | | | | | | | | | | | current state Reduces needless duplication of work and log messages.. | |||||
* | | net.server_epoll: Correct indentation | Kim Alvefur | 2019-09-29 | 1 | -2/+2 | |
| | | ||||||
* | | net.server_epoll: Ignore unused self argument [luacheck] | Kim Alvefur | 2019-09-29 | 1 | -1/+1 | |
| | | ||||||
* | | net.server_epoll: Fix link function to not replace listeners | Kim Alvefur | 2019-09-29 | 1 | -9/+5 | |
| | | | | | | | | | | | | | | | | mod_proxy65 calls link twice, once for each direction. This would overwrite the listeners with one that has the previous listeners as metatable.__index, but none of the others. This takes advantage of 94c584d67533 to improve this. | |||||
* | | net.server_epoll: Handle read size argument to link | Kim Alvefur | 2019-09-29 | 1 | -1/+2 | |
| | | ||||||
* | | net.server_epoll: Add some timeout related logging | Kim Alvefur | 2019-09-29 | 1 | -0/+3 | |
| | | ||||||
* | | net.server_epoll: Add debug logging for various connection events | Kim Alvefur | 2019-09-29 | 1 | -0/+6 | |
| | | ||||||
* | | net.server_epoll: Make log tag accessible as a field | Kim Alvefur | 2019-09-29 | 1 | -1/+3 | |
| | | | | | | | | To allow referencing connections by id instead of tostring form | |||||
* | | net.server_epoll: Make it easy to override handler for incoming data | Kim Alvefur | 2019-09-29 | 1 | -2/+7 | |
| | | ||||||
* | | util.bitops: Library to find appropriate bitwise library (closes #1395) | Kim Alvefur | 2019-07-22 | 1 | -2/+1 | |
| | | ||||||
* | | net.http: Pass server name along for SNI (fixes #1408) | Kim Alvefur | 2019-09-01 | 1 | -1/+1 | |
| | | | | | | | | net.resolver.basic passes this 'extra' field along to server.addclient | |||||
* | | net.server: Handle server name (SNI) as extra argument | Kim Alvefur | 2019-09-01 | 3 | -0/+10 | |
| | | | | | | | | | | | | Code added in 75d2874502c3, 9a905888b96c and adc0672b700e uses this field. See #409 and #1408 | |||||
* | | net.server: Accept and save an 'extra' field for client connections | Kim Alvefur | 2019-09-01 | 3 | -15/+19 | |
| | | | | | | | | | | This lets code attach some extra data to be attached to client connections. | |||||
* | | net.server_epoll: Add support for opportunistic writes | Kim Alvefur | 2019-08-28 | 1 | -0/+8 | |
| | | | | | | | | | | | | | | | | This tries to flush data to the underlying sockets when receiving writes. This should lead to fewer timer objects being around. On the other hand, this leads to more and smaller writes which may translate to more TCP/IP packets being sent, depending on how the kernel handles this. This trades throughput for lower latency. | |||||
* | | net.resolvers.service: Fix DNS fallback | Kim Alvefur | 2019-08-17 | 1 | -1/+5 | |
| | | ||||||
* | | net.adns: Remove unused local [luacheck] | Kim Alvefur | 2019-07-30 | 1 | -1/+1 | |
| | | ||||||
* | | net.websocket: Fix log call to pass data via format string instead of ↵ | Kim Alvefur | 2019-07-30 | 1 | -1/+1 | |
| | | | | | | | | concatenation | |||||
* | | net.*: Remove tostring call from logging | Kim Alvefur | 2019-07-30 | 4 | -9/+9 | |
| | | | | | | | | Taken care of by loggingmanager now | |||||
* | | server_epoll: Add native support for per socket bandwith limits | Kim Alvefur | 2016-12-18 | 1 | -0/+17 | |
| | | ||||||
* | | net.server_epoll: Remove unused local [luacheck] | Kim Alvefur | 2019-07-26 | 1 | -1/+0 | |
| | | ||||||
* | | net.server_epoll: Overhaul logging with one log sink per connection | Kim Alvefur | 2019-07-26 | 1 | -23/+41 | |
| | | ||||||
* | | net.server_epoll: Deprecate libevent emulation layer | Kim Alvefur | 2019-07-24 | 1 | -0/+1 | |
| | | ||||||
* | | net.server_epoll: Return errors from creating sockets | Kim Alvefur | 2019-07-23 | 1 | -0/+1 | |
| | | | | | | | | | | | | Prevents error from attempting to index nil conn on such failure. Silences luacheck warning about the 'err' variable being unused | |||||
* | | net.server_epoll: Add experimental option to close connections in case of ↵ | Kim Alvefur | 2019-05-25 | 1 | -0/+8 | |
| | | | | | | | | | | | | | | listener error Sometimes such errors leave sessions in an inconsistent state, so it might be better to close them early. | |||||
* | | net.server_epoll: Return listener error message | Kim Alvefur | 2019-05-25 | 1 | -1/+1 | |
| | | ||||||
* | | net.http.files: Fix cache handling | Kim Alvefur | 2019-06-29 | 1 | -1/+1 | |
| | | | | | | | | Typo that broke the LRU-ness of the caching | |||||
* | | net.http.files: Bump cache hits so they stay cached | Kim Alvefur | 2019-05-04 | 1 | -0/+1 | |
| | | | | | | | | It's not an LRU cache unless this is done. | |||||
* | | Merge 0.11->trunk | Kim Alvefur | 2019-05-04 | 1 | -1/+1 | |
|\| | ||||||
| * | net.server_epoll: Restore wantread flag after pause (fixes #1354) | Kim Alvefur | 2019-05-04 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | If a chunk of data has been received that is larger than the amount read at a time, then the connection is paused for a short time after which it tries to read some more. If, after that, there is still more data to read, it should do the same thing. However, because the "want read" flag is removed and was restored after the delayed reading, it would not schedule another delayed read. |