summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2024-04-22logging: Fix default access logger (#6251)Francis Lavoie
* logging: Fix default access logger * Simplify logic, remove retry without port, reject config with port, docs * Nil check
2024-04-19fileserver: Improve Vary handling (#5849)Matthew Holt
2024-04-18cmd: Only validate config is proper JSON if config slice has data (#6250)Mohammed Al Sahaf
* cmd: fix error when running without config * ci: add smoke test
2024-04-18staticresp: Use the evaluated response body for sniffing JSON content-type ↵Mohammed Al Sahaf
(#6249)
2024-04-17encode: Slight fix for the previous commitMatthew Holt
2024-04-17encode: Improve Etag handling (fix #5849)Matthew Holt
We also improve Last-Modified handling in the file server. Both changes should be more compliant with RFC 9110.
2024-04-17httpcaddyfile: Skip automate loader if disable_certs is specified (fix #6148)Matthew Holt
2024-04-17caddyfile: Populate regexp matcher names by default (#6145)Francis Lavoie
* caddyfile: Populate regexp matcher names by default * Some lint cleanup that my VSCode complained about * Pass down matcher name through expression matcher * Compat with #6113: fix adapt test, set both styles in replacer
2024-04-17caddyhttp: record num. bytes read when response writer is hijacked (#6173)WeidiDeng
* record the number of bytes read when response writer is hijacked * record body size when not nil
2024-04-16caddyhttp: Support multiple logger names per host (#6088)Francis Lavoie
* caddyhttp: Support multiple logger names per host * Lint * Add adapt test * Implement "string or array" parsing, keep original `logger_names` * Rewrite adapter test to be more representative of the usecase
2024-04-16chore: fix some typos in comments (#6243)coderwander
2024-04-16encode: Configurable compression level for zstd (#6140)dev-polymer
* Add zstd compression level support * Refactored zstd levels to string arguments fastest, default, better, best * Add comment with list of all available levels * Corrected data types for config --------- Co-authored-by: Evgeny Blinov <[email protected]> Co-authored-by: Matt Holt <[email protected]>
2024-04-15caddytls: Remove shim code supporting deprecated lego-dns (#6231)Aziz Rmadi
Co-authored-by: Matt Holt <[email protected]>
2024-04-15connection policy: add `local_ip` matcher (#6074)Mohammed Al Sahaf
* connection policy: add `local_ip` Co-authored-by: Matt Holt <[email protected]> --------- Co-authored-by: Matt Holt <[email protected]>
2024-04-15reverseproxy: Wait for both ends of websocket to close (#6175)WeidiDeng
2024-04-13caddytls: Upgrade ACMEz to v2; support ZeroSSL API; various fixes (#6229)Matt Holt
* WIP: acmez v2, CertMagic, and ZeroSSL issuer upgrades * caddytls: ZeroSSLIssuer now uses ZeroSSL API instead of ACME * Fix go.mod * caddytls: Fix automation related to managers (fix #6060) * Fix typo (appease linter) * Fix HTTP validation with ZeroSSL API
2024-04-13caddytls: Still provision permission module if ask is specifiedMatthew Holt
Only needed for JSON configs, and only temporarily as the ask property is deprecated and will be removed.
2024-04-13fileserver: read etags from precomputed files (#6222)Aziz Rmadi
2024-04-12fileserver: Escape # and ? in img src (fix #6237)Matthew Holt
2024-04-12reverseproxy: Implement modular CA provider for TLS transport (#6065)Aziz Rmadi
* added new modular ca providers to caddy tls HttpTransport * reverse-proxy, httptransport: added tests and caddyfile support for ca module --------- Co-authored-by: Mohammed Al Sahaf <[email protected]>
2024-04-12caddyhttp: Apply auto HTTPS redir to all interfaces (fix #6226)Matthew Holt
2024-04-11cmd: Fix panic related to config filename (fix #5919)Matthew Holt
2024-04-11cmd: Assume Caddyfile based on filename prefix and suffix (#5919)Omar Hussein
This can be helpful if editors only consider file extensions for certain features. * added special case support for caddyfile suffix, case insensitive * Update cmd/main.go Co-authored-by: Matt Holt <[email protected]> * skip caddyfile adapter for registered file extensions --------- Co-authored-by: Matt Holt <[email protected]>
2024-04-11admin: Make `Etag` a header, not a trailer (#6208)Hayder
* Making eTags a header not a trailer * Checked the write * Fixed typo * Corrected comment * Added sync Pool * Changed control flow of buffer reset / putting and changed error code * Switched from interface{} to any in bufferPool
2024-04-10caddyhttp: remove duplicate strings.Count in path matcher (fixes #6233) (#6234)Hugues Lismonde
2024-04-08caddyconfig: Use empty struct instead of bool in map (close #6224) (#6227)danish-mehmood
2024-04-07gitignore: Add rule for caddyfile.go (#6225)Ed Pelc
2024-04-05chore: Fix broken links in README.md (#6223)Hassan Ila
2024-04-04chore: Upgrade some dependencies (#6221)Francis Lavoie
2024-04-01caddyhttp: Add plaintext response to `file_server browse` (#6093)kylosus
* Added plaintext support to file_server browser This commit is twofold: First it adds a new optional field, `return_type`, to `browser` for setting the default format of the returned index (html, json or plaintext). This is used when the `Accept` header is set to `/*`. Second, it adds a preliminary `text/plain` support to the `file_server` browser that returns a text representation of the file system, when an `Accept: text/plain` header is present, with the behavior discussed above. * Added more details and better formatting to plaintext browser * Replaced returnType conditions with a switch statement * Simplify --------- Co-authored-by: Matt Holt <[email protected]>
2024-03-30admin: Use xxhash for etag (#6207)Hayder
2024-03-30modules: fix some typo in conments (#6206)reallylowest
Signed-off-by: reallylowest <[email protected]>
2024-03-29caddyhttp: Replace sensitive headers with REDACTED (close #5669)Matthew Holt
2024-03-29caddyhttp: close quic connections when server closes (#6202)WeidiDeng
* close quic connections when server closes * fix lint * add comment about CloseGracefully
2024-03-29reverseproxy: Use xxhash instead of fnv32 for LB (#6203)Hayder
* Added Faster Non-cryptographic Hash Function for Load Balancing * Ran golangci-lint * Updated hash version and hash return type
2024-03-27caddyhttp: add http.request.local{,.host,.port} placeholder (#6182)Emily
* caddyhttp: add `http.request.local{,.host,.port}` placeholder This is the counterpart of `http.request.remote{,.host,.port}`. `http.request.remote` operates on the remote client's address, while `http.request.local` operates on the address the connection arrived on. Take the following example: - Caddy serving on `203.0.113.1:80` - Client on `203.0.113.2` `http.request.remote.host` would return `203.0.113.2` (client IP) `http.request.local.host` would return `203.0.113.1` (server IP) `http.request.local.port` would return `80` (server port) I find this helpful for debugging setups with multiple servers and/or multiple network paths (multiple IPs, AnyIP, Anycast). Co-authored-by: networkException <[email protected]> * caddyhttp: add unit test for `http.request.local{,.host,.port}` * caddyhttp: add integration test for `http.request.local.port` * caddyhttp: fix `http.request.local.host` placeholder handling with unix sockets The implementation matches the one of `http.request.remote.host` now and returns the unix socket path (just like `http.request.local` already did) instead of an empty string. --------- Co-authored-by: networkException <[email protected]>
2024-03-27chore: upgrade deps (#6198)Mohammed Al Sahaf
2024-03-25chore: remove repetitive word (#6193)sellskin
Signed-off-by: sellskin <[email protected]>
2024-03-23Added a null check to avoid segfault on rewrite query ops (#6191)Aziz Rmadi
2024-03-22rewrite: `uri query` replace operation (#6165)Aziz Rmadi
* Implemented query replace oeration * Modified replace operation to use regexes in caddyfile * Added more tests to uri query operations
2024-03-21logging: support `ms` duration format and add docs (#6187)Mohammed Al Sahaf
2024-03-21replacer: use RWMutex to protect static provider (#6184)Mohammed Al Sahaf
2024-03-21caddyhttp: Allow `header` replacement with empty string (#6163)Francis Lavoie
2024-03-21vars: Make nil values act as empty string instead of `"<nil>"` (#6174)Francis Lavoie
2024-03-21chore: Update quic-go to v0.42.0 (#6176)Marten Seemann
* update quic-go to v0.42.0 * use a rate limiter to control QUIC source address verification * Lint * remove deprecated ListenQUIC * remove number of requests tracking * increase the number of handshakes before source address verification is needed * remove references to request counters * remove deprecated listen* --------- Co-authored-by: Francis Lavoie <[email protected]> Co-authored-by: WeidiDeng <[email protected]>
2024-03-21caddyhttp: Accept XFF header values with ports, when parsing client IP (#6183)Francis Lavoie
2024-03-20reverseproxy: configurable active health_passes and health_fails (#6154)Sam Ottenhoff
* reverseproxy: active health check allows configurable health_passes and health_fails * Need to reset counters after recovery * rename methods to be more clear that these are coming from active health checks * do not export methods
2024-03-18reverseproxy: Configurable forward proxy URL (#6114)Justin Angel
Co-authored-by: WeidiDeng <[email protected]>
2024-03-13caddyhttp: upgrade to cel v0.20.0 (#6161)jbrown-stripe
* upgrade to cel v0.20.0 * Attempt to address feedback and fix linter * Let's try this * Take that, you linter! * Oh there's more --------- Co-authored-by: Francis Lavoie <[email protected]> Co-authored-by: Matt Holt <[email protected]> Co-authored-by: Tristan Swadell @TristonianJones
2024-03-12chore: Bump Chroma to v2.13.0, includes new Caddyfile lexer (#6169)Francis Lavoie