| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | test/urltest.lua: simplify fail() helper, keep diagnostics at call sitescopilot/update-urltest-helper | copilot-swe-agent[bot] | 9 days | 1 | -13/+15 |
| | | | | | Co-authored-by: Tieske <1077043+Tieske@users.noreply.github.com> | ||||
| * | Initial plan | copilot-swe-agent[bot] | 9 days | 0 | -0/+0 |
| | | |||||
| * | Add Lua 5.5 support (#473) | Caleb Maclennan | 10 days | 5 | -5/+12 |
| | | |||||
| * | chore(docs): Backfill changelog entries for merged PRs and assorted commits | Caleb Maclennan | 10 days | 1 | -0/+17 |
| | | |||||
| * | feat(core): Handle response code 308 permanent redirect | Amanda Stjerna | 10 days | 1 | -1/+1 |
| | | |||||
| * | Merge pull request #472 from lunarmodules/feat/url-hosttype | Caleb Maclennan | 10 days | 4 | -7/+327 |
| |\ | | | | | feat(url): classify host as name/ipv4/ipv6 in parse and build | ||||
| | * | fix(http): bracket IPv6 host in Host header | Thijs Schreijer | 11 days | 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 | ||||
| | * | feat(url): classify host as name/ipv4/ipv6 in parse and build | Thijs Schreijer | 11 days | 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. | ||||
| * | | Merge pull request #467 from lunarmodules/fix/http-size-protect | Caleb Maclennan | 10 days | 5 | -8/+238 |
| |\ \ | | | | | | | Fix/http size protect | ||||
| | * | | feat(http/ftp/smtp): implement max size checks | Thijs Schreijer | 12 days | 5 | -8/+238 |
| | | | | | | | | | | | | | | | | fixes unbounded reads when using the "*l" pattern. Typically on headers and other control lines. | ||||
| | * | | refactor(receive): make implicit line reads explicit | Thijs Schreijer | 12 days | 2 | -7/+7 |
| | | | | |||||
| * | | | Merge pull request #470 from lunarmodules/header-canon | Caleb Maclennan | 10 days | 4 | -97/+209 |
| |\ \ \ | | | | | | | | | feat(headers): dynamically create cononicalized headers | ||||
| | * | | | Apply code review suggestions | Thijs Schreijer | 12 days | 2 | -1/+4 |
| | | | | | | | | | | | | | Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> | ||||
| | * | | | feat(headers): dynamically create cononicalized headers | Thijs Schreijer | 12 days | 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 | ||||
| * | | | Merge pull request #471 from lunarmodules/fix/zero-read | Caleb Maclennan | 10 days | 8 | -10/+542 |
| |\ \ \ | | | | | | | | | fix(receive): a receive 0 should immediately return, not block | ||||
| | * | | | fix(udp): receive(0) tests and bad call to getnameinfo | Thijs Schreijer | 11 days | 6 | -1/+490 |
| | | | | | |||||
| | * | | | fix(receive): a receive 0 should immediately return, not block | Thijs Schreijer | 11 days | 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 | ||||
| * | | | Merge pull request #463 from lunarmodules/feat/receive-limit | Caleb Maclennan | 10 days | 5 | -30/+356 |
| |\ \ \ | | | | | | | | | feat(receive): add maxsize argument to bound memory usage | ||||
| | * | | | chore(test): add 2 tests reusing partial results | Thijs Schreijer | 10 days | 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. | ||||
| | * | | fix(receive): guard numeric pattern against size_t overflow on cast | Thijs Schreijer | 12 days | 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. | ||||
| | * | | fix(receive): guard maxsize against size_t overflow on cast | Thijs Schreijer | 12 days | 2 | -3/+6 |
| | | | | | | | | | | | | | | | | Casting a double larger than SIZE_MAX to size_t is undefined behavior; bound-check maxsize before the cast. | ||||
| | * | | chore(docs): some cleanup | Thijs Schreijer | 2026-08-17 | 1 | -46/+6 |
| | | | | |||||
| | * | | feat(receive): add maxsize argument to bound memory usage | Thijs Schreijer | 2026-07-30 | 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. | ||||
| * | | | Merge pull request #449 from Wires77/add_SO_EXCLUSIVEADDRUSE | Caleb Maclennan | 10 days | 6 | -5/+108 |
| |\ \ \ | |_|/ |/| | | Add option for SO_EXCLUSIVEADDRUSE in Windows | ||||
| | * | | chore(docs): add docs for SO_EXCLUSIVEADDRUSE and others | Thijs Schreijer | 10 days | 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. | ||||
| | * | | feat(core): Add option for Windows SO_EXCLUSIVEADDRUSE | Wires77 | 10 days | 4 | -0/+37 |
| | |/ | |||||
| * | | chore(deps): bump luarocks/gh-actions-lua in the github-actions group (#468) | dependabot[bot] | 2026-08-13 | 1 | -1/+1 |
| | | | |||||
| * | | chore(deps): bump the github-actions group with 2 updates (#465) | dependabot[bot] | 2026-07-30 | 2 | -3/+3 |
| | | | | | | | Signed-off-by: dependabot[bot] <support@github.com> | ||||
| * | | chore: add Dependabot config and pin GitHub Actions to git SHAs (#464) | Copilot | 2026-07-30 | 4 | -9/+24 |
| |/ | |||||
| * | feat(udp): Allow changing UDP_DATAGRAMSIZE at compile time (#452) | Victor Bombi | 2025-11-14 | 1 | -0/+2 |
| | | |||||
| * | ci: Switch back to luarocks instance of GH action | Caleb Maclennan | 2025-05-30 | 1 | -1/+2 |
| | | |||||
| * | feat: Add ucrt64 support in makefile (#455) | Raffaello Bertini | 2025-05-29 | 2 | -2/+27 |
| | | |||||
| * | ci: Fix the build for LuaJIT and OpenResty on Windows (#453) | Luau | 2025-05-29 | 1 | -1/+2 |
| | | |||||
| * | docs: Improve installation instructions, focus on LuaRocks installation (#454) | Sharad Singh | 2025-03-31 | 1 | -55/+15 |
| | | |||||
| * | Merge pull request #450 from luau-project/update-ci | Caleb Maclennan | 2025-03-01 | 1 | -3/+3 |
| |\ | | | | | Update CI | ||||
| | * | fix: Use a macos version supported by GitHub Actions | luau-project | 2025-03-01 | 1 | -1/+1 |
| | | | |||||
| | * | ci: Use GitHub Actions from luarocks namespace | luau-project | 2025-03-01 | 1 | -2/+2 |
| |/ | |||||
| * | Merge pull request #447 from masakk1/patch-1 | Caleb Maclennan | 2025-02-23 | 1 | -2/+2 |
| |\ | |||||
| | * | docs: Remove unnecessary `value` argument from gettimeout | Masak1 | 2025-02-23 | 1 | -2/+2 |
| | | | |||||
| | * | docs: Fix udp documentation gettimeout typo | Masak1 | 2025-02-23 | 1 | -2/+2 |
| |/ | |||||
| * | chore: Remove the executable permission bit from some source files (#434) | Tianjia Zhang | 2024-06-29 | 15 | -0/+0 |
| | | |||||
| * | fix(unix): Pass correct path length for abstract sockets (#430) | Kim Alvefur | 2024-05-24 | 2 | -41/+42 |
| | | |||||
| * | chore(docs): update LTN12 links (#428) | Thijs Schreijer | 2024-03-15 | 5 | -20/+20 |
| | | |||||
| * | fix(docs): link to included LTN documents (#426) | Thijs Schreijer | 2024-03-05 | 2 | -1/+10 |
| | | |||||
| * | chore(http): Correct typos in error message and code comments (#423) | Alexandre Detiste | 2024-02-12 | 3 | -6/+6 |
| | | |||||
| * | fix(http): Use the right protocol for proxies (#386) | Max1Truc | 2023-11-23 | 1 | -3/+8 |
| | | |||||
| * | fix(http): Correct receiveheaders() handling of folded values (#420) | _AMD_ | 2023-11-13 | 1 | -1/+1 |
| | | |||||
| * | style(docs): Trim trailing whitespace in HTML docs | Caleb Maclennan | 2023-11-11 | 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 | ||||
| * | chore(core): Update version markers to last released version | Caleb Maclennan | 2023-11-11 | 4 | -4/+4 |
| | | | | | Closes #401 | ||||
| * | feat(rockspec): Ship mbox parser with LuaRocks, already packaged in some distros | Caleb Maclennan | 2023-11-11 | 1 | -0/+1 |
| | | | | | Closes #324 | ||||
