aboutsummaryrefslogtreecommitdiffstats
path: root/net
Commit message (Collapse)AuthorAgeFilesLines
* net.websocket: Fix traceback in case of ondisconnect being called twiceMatthew Wild2019-11-261-0/+1
| | | | | We want to figure out what situations the double ondisconnect happens in, and aim to fix the root cause in the future.
* net.connect: Add some TODO commentsKim Alvefur2019-11-261-0/+4
|
* Merge 0.11->trunkKim Alvefur2019-11-241-0/+2
|\
| * net.resolvers.basic: Normalise IP literals, ensures net.server is happyKim Alvefur2019-11-241-0/+2
| |
* | net.resolvers.service: Pass IP literals directly to basic resolverKim Alvefur2019-11-241-0/+9
| | | | | | | | | | | | IP literals will not work with SRV records anyways. Fixes s2s with IP literals.
* | 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