aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2024-04-15Rewrite adapter test to be more representative of the usecasemulti-loggersFrancis Lavoie
2024-04-15Implement "string or array" parsing, keep original `logger_names`Francis Lavoie
2024-04-15Add adapt testFrancis Lavoie
2024-04-15LintFrancis Lavoie
2024-04-15caddyhttp: Support multiple logger names per hostFrancis Lavoie
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
2024-03-11caddyhttp: suppress flushing if the response is being buffered (#6150)WeidiDeng
* suppress flushing if the response is being buffered * fix lint --------- Co-authored-by: Matt Holt <[email protected]>
2024-03-10chore: encode: use FlushError instead of Flush (#6168)WeidiDeng
Co-authored-by: Francis Lavoie <[email protected]>
2024-03-10encode: write status immediately when status code is informational (#6164)WeidiDeng
2024-03-07httpcaddyfile: Keep deprecated `skip_log` in directive order (#6153)Steffen Busch
2024-03-06httpcaddyfile: Add `RegisterDirectiveOrder` function for plugin authors (#5865)Francis Lavoie
* httpcaddyfile: Add `RegisterDirectiveOrder` function for plugin authors * Set up Positional enum * Linter doesn't like a switch on an enum with default * Update caddyconfig/httpcaddyfile/directives.go Co-authored-by: Matt Holt <[email protected]> --------- Co-authored-by: Matt Holt <[email protected]>
2024-03-06rewrite: Implement `uri query` operations (#6120)Aziz Rmadi
* Implemented basic uri query operations * Added support for query operations block * Applied Replacer on all query keys and values * Implemented rename query key opration * Rewrite struct: Changed QueryOperations field to Query and comments cleanup * Cleaned up comments, changed the order of operations and added more tests * Changed order of fields in queryOps struct to match the operations order
2024-03-06fix struct names (#6151)huajin tong
Signed-off-by: thirdkeyword <[email protected]>
2024-03-05fileserver: Preserve query during canonicalization redirect (#6109)Francis Lavoie
* fileserver: Preserve query during canonicalization redirect * Clarify that only a path should be passed