Aziz Rmadi
db9d167354
Added a null check to avoid segfault on rewrite query ops ( #6191 )
2024-03-23 01:51:34 -04:00
Aziz Rmadi
29f57faa86
rewrite: uri query
replace operation ( #6165 )
...
* Implemented query replace oeration
* Modified replace operation to use regexes in caddyfile
* Added more tests to uri query operations
2024-03-22 02:23:42 +00:00
Mohammed Al Sahaf
0c01547037
logging: support ms
duration format and add docs ( #6187 )
2024-03-21 22:17:09 -04:00
Mohammed Al Sahaf
e7336cc3bf
replacer: use RWMutex to protect static provider ( #6184 )
2024-03-21 18:15:18 +00:00
Francis Lavoie
97a56d860a
caddyhttp: Allow header
replacement with empty string ( #6163 )
2024-03-21 17:29:32 +00:00
Francis Lavoie
d13258423d
vars: Make nil values act as empty string instead of "<nil>"
( #6174 )
2024-03-21 11:21:53 -06:00
Marten Seemann
32f7dd44ae
chore: Update quic-go to v0.42.0 ( #6176 )
...
* 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 <lavofr@gmail.com>
Co-authored-by: WeidiDeng <weidi_deng@icloud.com>
2024-03-21 10:56:10 -06:00
Francis Lavoie
63d597c09d
caddyhttp: Accept XFF header values with ports, when parsing client IP ( #6183 )
2024-03-21 10:54:25 -06:00
Sam Ottenhoff
e65b97f55b
reverseproxy: configurable active health_passes and health_fails ( #6154 )
...
* 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-20 11:13:35 -06:00
Justin Angel
a9768d2fde
reverseproxy: Configurable forward proxy URL ( #6114 )
...
Co-authored-by: WeidiDeng <weidi_deng@icloud.com>
2024-03-18 04:07:25 +00:00
jbrown-stripe
52822a41cb
caddyhttp: upgrade to cel v0.20.0 ( #6161 )
...
* 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 <lavofr@gmail.com>
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
Co-authored-by: Tristan Swadell @TristonianJones
2024-03-13 21:32:42 -06:00
Francis Lavoie
5b5f8feaf7
chore: Bump Chroma to v2.13.0, includes new Caddyfile lexer ( #6169 )
2024-03-12 12:07:23 +03:00
WeidiDeng
c93e30454f
caddyhttp: suppress flushing if the response is being buffered ( #6150 )
...
* suppress flushing if the response is being buffered
* fix lint
---------
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2024-03-11 20:03:20 +00:00
WeidiDeng
1bd598e90c
chore: encode: use FlushError instead of Flush ( #6168 )
...
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2024-03-10 23:04:35 -04:00
WeidiDeng
e698ec5139
encode: write status immediately when status code is informational ( #6164 )
2024-03-10 10:49:49 -04:00
Steffen Busch
c27425ef5d
httpcaddyfile: Keep deprecated skip_log
in directive order ( #6153 )
2024-03-07 14:34:01 -05:00
Francis Lavoie
258d906140
httpcaddyfile: Add RegisterDirectiveOrder
function for plugin authors ( #5865 )
...
* 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 <mholt@users.noreply.github.com>
---------
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2024-03-06 19:41:45 +00:00
Aziz Rmadi
69290d232d
rewrite: Implement uri query
operations ( #6120 )
...
* 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-06 10:08:46 -05:00
huajin tong
277472d081
fix struct names ( #6151 )
...
Signed-off-by: thirdkeyword <fliterdashen@gmail.com>
2024-03-06 13:53:03 +00:00
Francis Lavoie
5a4374bea0
fileserver: Preserve query during canonicalization redirect ( #6109 )
...
* fileserver: Preserve query during canonicalization redirect
* Clarify that only a path should be passed
2024-03-05 22:51:26 -07:00
Francis Lavoie
0d44e3ecba
logging: Implement log_append
handler ( #6066 )
...
* logging: Implement `extra_log` handler
* Rename to `log_append`
* Rename `skip_log` to `log_skip`
---------
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2024-03-05 17:03:59 -07:00
Francis Lavoie
2a78c9c5e4
httpcaddyfile: Allow nameless regexp placeholder shorthand ( #6113 )
...
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2024-03-05 23:37:14 +00:00
Francis Lavoie
01d5568b20
logging: Implement append
encoder, allow flatter filters config ( #6069 )
...
* logging: Implement `add` encoder
* Allow flatter config structure for `filter` & `add`
* Rename to append
* govulncheck was unhappy
2024-03-05 16:24:32 -07:00
Mohammed Al Sahaf
1f4a6fa7e7
ci: fix the integration test TestLeafCertLoaders
( #6149 )
2024-03-06 02:09:13 +03:00
Francis Lavoie
5ed8689629
vars: Allow overriding http.auth.user.id
in replacer as a special case ( #6108 )
2024-03-05 22:25:38 +00:00
Aziz Rmadi
3ae07a73dc
caddytls: clientauth: leaf verifier: make trusted leaf certs source pluggable ( #6050 )
...
* Made trusted leaf certificates pluggable into the tls.client_auth.leaf
module
* Added leaf loaders modules: file, folder, pem aand storage
* Cleaned implementation of leaf cert loader modules
* Added tests for leaf certs file and folder loaders
* cmd: fix the output of the `Usage` section (#6138 )
* core: OnExit hooks (#6128 )
* core: OnExit callbacks
* core: Process-global OnExit callbacks
* ci: bump golangci/golangci-lint-action from 3 to 4 (#6141 )
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 3 to 4.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Added more leaf certificate loaders tests and cleaned up code
* Modified leaf cert loaders json field names and cleaned up storage loader comment
* Update modules/caddytls/leaffileloader.go
* Update LeafStorageLoader certificates field name
* Upgraded protobuf version
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mohammed Al Sahaf <msaa1990@gmail.com>
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-05 14:55:37 -07:00
Francis Lavoie
e473ae6803
cmd: Adjust config load logs/errors ( #6032 )
...
* cmd: Adjust config load logs/errors
* Update cmd/main.go
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
---------
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2024-03-05 19:26:30 +00:00
Matt Holt
72ce78d9af
reverseproxy: SRV dynamic upstream failover ( #5832 )
...
* Implement grace period, but probably needs sync
* Update cached freshness value
* D'oh, actually use the grace period
* Fix freshness math
2024-03-05 12:08:31 -07:00
dependabot[bot]
8f8204708a
ci: bump golangci/golangci-lint-action from 3 to 4 ( #6141 )
...
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 3 to 4.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-02 02:38:57 +03:00
Matt Holt
46c5db92da
core: OnExit hooks ( #6128 )
...
* core: OnExit callbacks
* core: Process-global OnExit callbacks
2024-03-01 09:57:05 -07:00
Mohammed Al Sahaf
de4959fe7b
cmd: fix the output of the Usage
section ( #6138 )
2024-03-01 19:00:29 +03:00
Mohammed Al Sahaf
03f703a00e
caddytls: verifier: caddyfile: re-add Caddyfile support ( #6127 )
...
* caddytls: verifier: caddyfile: re-add Caddyfile support
* appease the linter
* caddytls: client_auth: verifier: change namespace to `tls.client_auth.verifier`
2024-02-26 00:13:48 +03:00
Mohammed Al Sahaf
931656bd68
acmeserver: add policy field to define allow/deny rules ( #5796 )
...
* acmeserver: support specifying the allowed challenge types
* add caddyfile adapt tests
* acmeserver: add `policy` field to define allow/deny rules
* allow `omitempty` to work
* add caddyfile support for `policy`
* remove "uri domain" policy
* fmt the files
* add docs
* do not support `CommonName`; the field is deprecated
* r/DNSDomains/Domains/g
* Caddyfile docs
* add tests
* move `Policy` to top of file
2024-02-24 02:26:00 +03:00
Sam Ottenhoff
da6a569e85
reverseproxy: cookie should be Secure and SameSite=None when TLS ( #6115 )
...
* reverseproxy: cookie should be Secure and SameSite=None when TLS
* Update modules/caddyhttp/reverseproxy/selectionpolicies_test.go
Co-authored-by: Mohammed Al Sahaf <mohammed@caffeinatedwonders.com>
---------
Co-authored-by: Mohammed Al Sahaf <mohammed@caffeinatedwonders.com>
2024-02-23 12:45:58 -07:00
Francis Lavoie
4512be49a9
caddytest: Rename adapt tests to *.caddyfiletest
extension ( #6119 )
2024-02-21 00:37:40 +00:00
José Carlos Chávez
f8143a3af1
tests: uses testing.TB interface for helper to be able to use test server in benchmarks. ( #6103 )
2024-02-20 22:04:14 +00:00
bbaa
8bbf8ec629
caddyfile: Assert having a space after heredoc marker to simply check ( #6117 )
2024-02-20 12:29:20 +00:00
Francis Lavoie
4284e39a17
chore: Update Chroma to get the new Caddyfile lexer ( #6118 )
2024-02-20 06:23:39 -05:00
WeidiDeng
53f7035299
reverseproxy: use context.WithoutCancel ( #6116 )
2024-02-19 20:25:02 -07:00
Aziz Rmadi
b893c8c5f8
caddyfile: Reject directives in the place of site addresses ( #6104 )
...
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2024-02-19 00:22:48 +00:00
Matt Holt
127788807f
caddyhttp: Register post-shutdown callbacks ( #5948 )
2024-02-14 21:21:23 -07:00
Francis Lavoie
2c48dda109
caddyhttp: Only attempt to enable full duplex for HTTP/1.x ( #6102 )
2024-02-13 13:45:38 -05:00
Francis Lavoie
30d63648f5
caddyauth: Drop support for scrypt
( #6091 )
2024-02-12 19:33:54 +00:00
Mohammed Al Sahaf
21744b6c4c
Revert "caddyfile: Reject long heredoc markers ( #6098 )" ( #6100 )
...
This reverts commit e7a534d0a3
.
2024-02-12 18:06:22 +00:00
Francis Lavoie
f9e11158bc
caddyauth: Rename basicauth
to basic_auth
( #6092 )
2024-02-12 17:34:23 +00:00
Francis Lavoie
91ec75441a
logging: Inline Caddyfile syntax for ip_mask
filter ( #6094 )
2024-02-12 17:15:35 +00:00
Francis Lavoie
e7a534d0a3
caddyfile: Reject long heredoc markers ( #6098 )
...
Co-authored-by: Mohammed Al Sahaf <msaa1990@gmail.com>
2024-02-11 13:30:14 -05:00
Francis Lavoie
c78ebb3d6a
chore: Rename CI jobs, run on M1 mac ( #6089 )
...
* Try macos-14 for fun
* Decouple OS names and VM names
* Shorten `cross-build-test` to `build`
2024-02-09 15:31:26 -07:00
Kévin Dunglas
a6d9f9be5b
Merge pull request #6081 from dunglas/fix/encode-match
2024-02-09 09:41:44 +01:00
Kévin Dunglas
2348ac897a
update comment
2024-02-09 09:35:55 +01:00