| Commit message (Collapse) | Author | Files | Lines | ||
|---|---|---|---|---|---|
| 3 days | Add HTTP response headers callback to allow for early abort or different ↵ | Frans de Jonge | 1 | -0/+12 | |
| sink depending on response | |||||
| 3 days | Add Lua 5.5 support (#473) | Caleb Maclennan | 5 | -5/+12 | |
| 3 days | chore(docs): Backfill changelog entries for merged PRs and assorted commits | Caleb Maclennan | 1 | -0/+17 | |
| 3 days | feat(core): Handle response code 308 permanent redirect | Amanda Stjerna | 1 | -1/+1 | |
| 3 days | chore(docs): add docs for SO_EXCLUSIVEADDRUSE and others | Thijs Schreijer | 2 | -5/+71 | |
| Adds docs for the option, but also adds the docs for other options present in the code but missing from the docs. | |||||
| 3 days | feat(core): Add option for Windows SO_EXCLUSIVEADDRUSE | Wires77 | 4 | -0/+37 | |
| 4 days | chore(test): add 2 tests reusing partial results | Thijs Schreijer | 1 | -3/+20 | |
| Tests to show the socket isn't left in an undetermined state due to dataloss, since the partial results are returned to the user. | |||||
| 4 days | fix(http): bracket IPv6 host in Host header | Thijs Schreijer | 1 | -1/+2 | |
| The Host header must wrap an IPv6 literal in brackets (RFC 7230), but adjustheaders() used reqt.host as-is, which is unbracketed after url.parse(). Use url.classify_host() to detect IPv6 and bracket it, handling an already-bracketed input without doubling the brackets. Closes #445 | |||||
| 4 days | feat(url): classify host as name/ipv4/ipv6 in parse and build | Thijs Schreijer | 3 | -6/+325 | |
| parse() now sets hosttype ("name"/"ipv4"/"ipv6") plus a matching hostname/ipv4/ipv6 field alongside host. build() accepts those same fields when host is absent, erroring if more than one is set. classify_host is exported for standalone use; it classifies by shape (colon present -> ipv6, dotted-quad shape -> ipv4) rather than validating the address. | |||||
| 4 days | fix(udp): receive(0) tests and bad call to getnameinfo | Thijs Schreijer | 6 | -1/+490 | |
| 5 days | fix(receive): a receive 0 should immediately return, not block | Thijs Schreijer | 5 | -10/+53 | |
| The fix is slightly more complex because reading from a closed socket should still return a closed-error. fixes: #427 fixes: https://github.com/ledgetech/lua-resty-http/pull/313 | |||||
| 5 days | Apply code review suggestions | Thijs Schreijer | 2 | -1/+4 | |
| Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> | |||||
| 5 days | feat(headers): dynamically create cononicalized headers | Thijs Schreijer | 4 | -97/+206 | |
| Instead of a static list dynamically add entries in proper casing. Also allowing to add non-standard ones through `setcanonic`. closes #442 fixes #440 | |||||
| 5 days | feat(http/ftp/smtp): implement max size checks | Thijs Schreijer | 5 | -8/+238 | |
| fixes unbounded reads when using the "*l" pattern. Typically on headers and other control lines. | |||||
| 5 days | refactor(receive): make implicit line reads explicit | Thijs Schreijer | 2 | -7/+7 | |
| 5 days | fix(receive): guard numeric pattern against size_t overflow on cast | Thijs Schreijer | 2 | -3/+6 | |
| Same class of bug as the maxsize cast: a double larger than SIZE_MAX cast to size_t is undefined behavior. Bound-check the numeric receive pattern before the cast, and cover it with a test. | |||||
| 5 days | fix(receive): guard maxsize against size_t overflow on cast | Thijs Schreijer | 2 | -3/+6 | |
| Casting a double larger than SIZE_MAX to size_t is undefined behavior; bound-check maxsize before the cast. | |||||
| 2026-08-17 | chore(docs): some cleanup | Thijs Schreijer | 1 | -46/+6 | |
| 2026-08-13 | chore(deps): bump luarocks/gh-actions-lua in the github-actions group (#468) | dependabot[bot] | 1 | -1/+1 | |
| 2026-07-30 | chore(deps): bump the github-actions group with 2 updates (#465) | dependabot[bot] | 2 | -3/+3 | |
| Signed-off-by: dependabot[bot] <support@github.com> | |||||
| 2026-07-30 | chore: add Dependabot config and pin GitHub Actions to git SHAs (#464) | Copilot | 4 | -9/+24 | |
| 2026-07-30 | feat(receive): add maxsize argument to bound memory usage | Thijs Schreijer | 5 | -23/+366 | |
| client:receive("*l") and receive("*a") are unbounded: a peer that never sends a newline, or never closes, makes LuaSocket buffer until the process runs out of memory (e.g. src/http.lua reading response headers in a loop). Add an optional maxsize argument that caps the payload a single call may accumulate, including prefix. - Hoist all argument validation ahead of timeout_markstart() so bad calls (maxsize < 1, #prefix >= maxsize, numeric pattern > maxsize) raise before any I/O and leave the socket untouched. - recvline/recvall take a budget and return a new internal BUF_OVERSIZED code, surfaced to Lua as the "oversized" error alongside "timeout"/"closed", with the partial held in the 3rd return value. - recvraw is left untouched: argument checks make the cap unreachable for numeric patterns. - Preserve three invariants: a timeout partial is always shorter than maxsize (safe to retry as prefix), completion beats the cap for *a, and no bytes are lost or skipped on overflow. - tcp.c, unixstream.c and serial.c all share this code path unchanged. Adds test coverage (argument errors, *l/*a boundaries, timeout/close at the cap, the drain idiom, numeric patterns, unix-stream mirror) and documents the new argument, error, and recovery idioms in docs/tcp.html. | |||||
| 2025-11-14 | feat(udp): Allow changing UDP_DATAGRAMSIZE at compile time (#452) | Victor Bombi | 1 | -0/+2 | |
| 2025-05-30 | ci: Switch back to luarocks instance of GH action | Caleb Maclennan | 1 | -1/+2 | |
| 2025-05-29 | feat: Add ucrt64 support in makefile (#455) | Raffaello Bertini | 2 | -2/+27 | |
| 2025-05-29 | ci: Fix the build for LuaJIT and OpenResty on Windows (#453) | Luau | 1 | -1/+2 | |
| 2025-03-31 | docs: Improve installation instructions, focus on LuaRocks installation (#454) | Sharad Singh | 1 | -55/+15 | |
| 2025-03-01 | fix: Use a macos version supported by GitHub Actions | luau-project | 1 | -1/+1 | |
| 2025-03-01 | ci: Use GitHub Actions from luarocks namespace | luau-project | 1 | -2/+2 | |
| 2025-02-23 | docs: Remove unnecessary `value` argument from gettimeout | Masak1 | 1 | -2/+2 | |
| 2025-02-23 | docs: Fix udp documentation gettimeout typo | Masak1 | 1 | -2/+2 | |
| 2024-06-29 | chore: Remove the executable permission bit from some source files (#434) | Tianjia Zhang | 15 | -0/+0 | |
| 2024-05-24 | fix(unix): Pass correct path length for abstract sockets (#430) | Kim Alvefur | 2 | -41/+42 | |
| 2024-03-15 | chore(docs): update LTN12 links (#428) | Thijs Schreijer | 5 | -20/+20 | |
| 2024-03-05 | fix(docs): link to included LTN documents (#426) | Thijs Schreijer | 2 | -1/+10 | |
| 2024-02-12 | chore(http): Correct typos in error message and code comments (#423) | Alexandre Detiste | 3 | -6/+6 | |
| 2023-11-23 | fix(http): Use the right protocol for proxies (#386) | Max1Truc | 1 | -3/+8 | |
| 2023-11-13 | fix(http): Correct receiveheaders() handling of folded values (#420) | _AMD_ | 1 | -1/+1 | |
| 2023-11-11 | style(docs): Trim trailing whitespace in HTML docs | Caleb Maclennan | 3 | -82/+82 | |
| Many editors remove these automatically anyway which makes opening and editng the docs cause a bunch of noise. This is just to get the noise out of the way in a style commit so it doesn't leak into other PRs | |||||
| 2023-11-11 | chore(core): Update version markers to last released version | Caleb Maclennan | 4 | -4/+4 | |
| Closes #401 | |||||
| 2023-11-11 | feat(rockspec): Ship mbox parser with LuaRocks, already packaged in some distros | Caleb Maclennan | 1 | -0/+1 | |
| Closes #324 | |||||
| 2023-11-09 | fix(wsocket): Properly report CONNRESET (#81) | Paul Kulchenko | 1 | -0/+2 | |
| 2023-11-08 | fix(url): Avoid fragment being part of authority, allows parsing empty paths | Caleb Maclennan | 1 | -1/+1 | |
| 2023-11-08 | fix(url): Avoid query string being part of authority, allows parsing empty paths | Caleb Maclennan | 1 | -1/+1 | |
| 2023-11-08 | fix(inet): Return port as number in getsockname (#392) | georgeto | 1 | -1/+1 | |
| 2023-11-08 | ci: Update Luacheck to v1+, use newer Ubuntu runner images | Caleb Maclennan | 2 | -4/+4 | |
| 2023-11-08 | ci: Identify CI jobs better and skip irrelevant platform specific steps | Caleb Maclennan | 1 | -3/+3 | |
| 2023-10-27 | ci: Enable windows build | leso-kn | 1 | -4/+9 | |
| 2023-10-27 | refactor(core): Replace check for SO_BINDTODEVICE support with platform ↵ | leso-kn | 1 | -2/+2 | |
| independent version | |||||
| 2023-10-27 | fix(core): Disable SO_BINDTODEVICE on windows | leso-kn | 1 | -2/+2 | |
| Co-authored-by: Sewbacca <sebastian.kalus@kolabnow.com> | |||||
