aboutsummaryrefslogtreecommitdiffstats
path: root/net
Commit message (Collapse)AuthorAgeFilesLines
* Merge 0.11->trunkKim Alvefur2019-11-241-11/+17
|\
| * net.resolvers.basic: Fix resolution of IPv6 literals (in brackets) (fixes #1459)Kim Alvefur2019-11-241-0/+3
| |
| * net.resolvers.basic: Move IP literal check to constructorKim Alvefur2019-11-241-11/+14
| | | | | | | | | | This is to prepare for fixing #1459. An IPv6 literal in [ ] brackets does not pass IDNA and resolving it fails there.
* | net.server_epoll: Save log tag in a field on FD watchers tooKim Alvefur2019-11-171-2/+4
| | | | | | | | As with 0e1701197722
* | Back out c8aa66595072: Extra changes accidentally includedKim Alvefur2019-11-171-5/+3
| |
* | net.server_epoll: Save log tag in a field on FD watchers tooKim Alvefur2019-11-171-3/+5
| | | | | | | | As with 0e1701197722
* | net.server_epoll: Improve read timeout debug messagesKim Alvefur2019-10-191-2/+2
| |
* | net.server_epoll: Clarify a debug messageKim Alvefur2019-10-191-1/+1
| | | | | | | | Writing what? The data that's been buffered for writing
* | server_event: Remove duplicated code (thanks waqas)Kim Alvefur2019-11-131-4/+0
| | | | | | | | | | readcallback() calls onreadtimeout() and runs the exact same code if onreadtimeout() doesn't return true, which it doesn't do.
* | Merge 0.11->trunkKim Alvefur2019-11-082-0/+2
|\|
| * net.resolvers: Fix traceback from hostname failing IDNAKim Alvefur2019-11-082-0/+2
| | | | | | | | Related to #1426
* | net.http.server: Treat promise rejection without value as a HTTP 500 errorKim Alvefur2019-11-051-1/+1
| |
* | net.http.server: Handle promises from http handlersKim Alvefur2019-11-011-0/+8
| |
* | net.http.server: Handle util.error objects from http handlersKim Alvefur2019-11-011-0/+3
| |
* | net.http.server: Tail call because tail call!Kim Alvefur2019-11-011-1/+1
| |
* | net.http.server: Factor out handling of event response for easier reuseKim Alvefur2019-11-011-31/+34
| |
* | Merge 0.11->trunkKim Alvefur2019-11-022-2/+14
|\|
| * net.resolvers: Abort on hostnames not passing IDNA validationKim Alvefur2019-11-022-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 Alvefur2019-11-022-2/+4
| |
| * net.server_epoll: Backport timer optimization 6c2370f17027 from trunk (see ↵Kim Alvefur2019-07-081-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 coercionKim Alvefur2019-11-011-1/+1
| |
* | net.server_epoll: Save IP and port from connection creation callKim Alvefur2019-10-121-0/+4
| | | | | | | | Might come out of :getpeername different later but at least it's something.
* | server_epoll: Log full string represestation when connectedKim Alvefur2019-10-121-1/+1
| | | | | | | | Since they may have been unknown when the connection was created.
* | net.server_epoll: Handle getpeer/sockname returning a normal errorKim Alvefur2019-10-121-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 connectionsKim Alvefur2019-10-121-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 orderingKim Alvefur2019-10-121-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 coercionKim Alvefur2019-10-121-1/+1
| |
* | net.http.server: Explicitly convert number to string, avoiding implicit coercionKim Alvefur2019-10-121-1/+1
| |
* | net.http.server: Re-fire unhandled HEAD requsts as GET events (fixes #1447)Kim Alvefur2019-10-121-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 bodyKim Alvefur2019-10-121-0/+16
| |
* | net.server_epoll: Guard against nil return from TLS info methodKim Alvefur2019-10-061-2/+2
| |
* | net.server_epoll: Log TLS version and cipher for all completed handshakesKim Alvefur2019-10-061-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 Alvefur2019-10-051-0/+1
| |
* | net.server_epoll: Return early when attepting to set write lock state to ↵Kim Alvefur2019-10-051-0/+6
| | | | | | | | | | | | current state Reduces needless duplication of work and log messages..
* | net.server_epoll: Correct indentationKim Alvefur2019-09-291-2/+2
| |
* | net.server_epoll: Ignore unused self argument [luacheck]Kim Alvefur2019-09-291-1/+1
| |
* | net.server_epoll: Fix link function to not replace listenersKim Alvefur2019-09-291-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 linkKim Alvefur2019-09-291-1/+2
| |
* | net.server_epoll: Add some timeout related loggingKim Alvefur2019-09-291-0/+3
| |
* | net.server_epoll: Add debug logging for various connection eventsKim Alvefur2019-09-291-0/+6
| |
* | net.server_epoll: Make log tag accessible as a fieldKim Alvefur2019-09-291-1/+3
| | | | | | | | To allow referencing connections by id instead of tostring form
* | net.server_epoll: Make it easy to override handler for incoming dataKim Alvefur2019-09-291-2/+7
| |
* | util.bitops: Library to find appropriate bitwise library (closes #1395)Kim Alvefur2019-07-221-2/+1
| |
* | net.http: Pass server name along for SNI (fixes #1408)Kim Alvefur2019-09-011-1/+1
| | | | | | | | net.resolver.basic passes this 'extra' field along to server.addclient
* | net.server: Handle server name (SNI) as extra argumentKim Alvefur2019-09-013-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 connectionsKim Alvefur2019-09-013-15/+19
| | | | | | | | | | This lets code attach some extra data to be attached to client connections.
* | net.server_epoll: Add support for opportunistic writesKim Alvefur2019-08-281-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 fallbackKim Alvefur2019-08-171-1/+5
| |
* | net.adns: Remove unused local [luacheck]Kim Alvefur2019-07-301-1/+1
| |
* | net.websocket: Fix log call to pass data via format string instead of ↵Kim Alvefur2019-07-301-1/+1
| | | | | | | | concatenation