Francis Lavoie
33d8d2c6b5
httpcaddyfile: Sort TLS SNI matcher for deterministic JSON output ( #5860 )
...
* httpcaddyfile: Sort TLS SNI matcher, for deterministic adapt output
* Update caddyconfig/httpcaddyfile/httptype.go
---------
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2023-10-11 09:47:07 -06:00
Francis Lavoie
9c419f1e1a
cmd: Fix exiting with custom status code, add caddy -v
( #5874 )
...
* Simplify variables for commands
* Add --envfile support for adapt command
* Carry custom status code for commands to os.Exit()
* cmd: add `-v` and `--version` to root caddy command
* Add `--envfile` to `caddy environ`, extract flag parsing to func
---------
Co-authored-by: Mohammed Al Sahaf <msaa1990@gmail.com>
2023-10-11 09:46:18 -06:00
Fred Cox
b245ecd325
reverseproxy: fix parsing Caddyfile fails for unlimited request/response buffers ( #5828 )
2023-10-11 04:42:40 -04:00
Francis Lavoie
2a6859a5e4
reverseproxy: Fix retries on "upstreams unavailable" error ( #5841 )
2023-10-10 22:07:20 +00:00
Đỗ Trọng Hải
df99502977
httpcaddyfile: Enable TLS for catch-all site if tls
directive is specified ( #5808 )
2023-10-10 21:46:39 +00:00
Christoph
e0aaefab80
encode: Add application/wasm*
to the default content types ( #5869 )
2023-10-10 21:18:37 +00:00
Kévin Dunglas
fa5a579b60
fileserver: Add command shortcuts -l
and -a
( #5854 )
2023-10-10 20:57:18 +00:00
Matthew Holt
88b4fbf244
go.mod: Upgrade dependencies incl. x/net/http
...
Possibly important for the HTTP/2 Rapid Reset issue.
2023-10-10 12:01:20 -06:00
Thanmay Nath
5653c36bc2
templates: Add dummy RemoteAddr
to httpInclude
request, proxy compatibility ( #5845 )
...
* Enhancement: Allow X-Forwarded-For Header in httpInclude Virtual Requests
The goal of this enhancement is to modify the funcHTTPInclude function in the Caddy codebase to include the X-Forwarded-For header in the virtual request. This change will enable reverse proxies to set the X-Forwarded-For header, ensuring that the client's IP address is correctly provided to the target endpoint. This modification is essential for applications that depend on the X-Forwarded-For header for various functionalities, such as authentication, logging, or content customization.
* Updated tplcontext.go - set `virtReq.RemoteAddr = "127.0.0.1"`
i have made the suggested changes
* Apply suggestions from code review
* Update modules/caddyhttp/templates/tplcontext.go
---------
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-10-07 20:47:34 +00:00
Patrick Koenig
4feac4d83c
reverseproxy: Allow fallthrough for response handlers without routes ( #5780 )
2023-10-05 23:15:26 -04:00
Kévin Dunglas
82c356f254
fix: caddytest.AssertResponseCode error message ( #5853 )
2023-10-02 20:55:09 +00:00
dependabot[bot]
1405683c2b
build(deps): bump goreleaser/goreleaser-action from 4 to 5 ( #5847 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-02 00:34:43 +00:00
dependabot[bot]
89c407aa34
build(deps): bump actions/checkout from 3 to 4 ( #5846 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-01 20:13:54 -04:00
Matthew Holt
58ab3a01a0
caddyhttp: Use LimitedReader for HTTPRedirectListener
2023-09-26 07:32:46 -06:00
glowinthedark
a306c5f769
fileserver: browse template SVG icons and UI tweaks ( #5812 )
...
* fileserver browse.html UI tweaks: folder-symlink icon, search
fileserver browse.html UI tweaks: folder-symlink icon, search
- ui - add folder-symlink SVG icon
- search: use `<input type="search">` instead of `text`
- fix npe with `sizebar.style.width` = null in grid mode
* tabify whitespace
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
---------
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-09-15 19:05:45 -06:00
Pascal Vorwerk
1e0dea59ef
reverseproxy: fix nil pointer dereference in AUpstreams.GetUpstreams ( #5811 )
...
fix a nil pointer dereference in AUpstreams.GetUpstreams when AUpstreams.Versions is not set (fixes caddyserver#5809)
Signed-off-by: Pascal Vorwerk <info@fossores.de>
2023-09-10 19:08:02 -04:00
Đỗ Trọng Hải
2cac3c5491
httpcaddyfile: fix placeholder shorthands in named routes ( #5791 )
...
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-09-08 14:38:44 -04:00
Evan Van Dam
f2ab7099db
cmd: Prevent overwriting existing env vars with --envfile
( #5803 )
...
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-09-07 02:19:24 +00:00
Đỗ Trọng Hải
50cea4e263
ci: Run govulncheck ( #5790 )
...
* feat(ci): check vuln Go mods in CI
* fix(ci): correct directive for govulncheck
* refactor(ci): move govulncheck to lint.yml
* refactor(lint): move govulncheck to different job
2023-09-05 11:31:25 -04:00
Paul Jeannot
1b73e3862d
logging: query filter for array of strings ( #5779 )
...
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-08-29 22:59:43 +00:00
Francis Lavoie
c46ec3b500
logging: Clone array on log filters, prevent side-effects ( #5786 )
...
Fixes https://caddy.community/t/is-caddy-mutating-header-content-from-logging-settings/20947
2023-08-29 11:41:39 -06:00
Matthew Holt
ed8bb13c5d
fileserver: Export BrowseTemplate
...
This allows programs embedding Caddy to customize the browse template.
2023-08-29 09:34:20 -06:00
Mohammed Al Sahaf
b7e472d548
ci: ensure short-sha is exported correctly on all platforms ( #5781 )
2023-08-25 16:06:44 +00:00
Francis Lavoie
7103ea096f
caddyfile: Fix case where heredoc marker is empty after newline ( #5769 )
...
Fixes `panic: runtime error: slice bounds out of range [:3] with capacity 2`
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2023-08-24 03:27:57 +00:00
WeidiDeng
888c6d7e93
go.mod: Update quic-go to v0.38.0 ( #5772 )
...
* go.mod: Update quic-go to v0.38.0
* run "go mod tidy"
---------
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2023-08-24 02:55:28 +00:00
Matt Holt
b377208ede
chore: Appease gosec linter ( #5777 )
...
These happen to be harmless memory aliasing
but I guess the linter can't know that and we
can't really prove it in general.
2023-08-23 20:47:54 -06:00
WeidiDeng
4776f62caa
replacer: change timezone to UTC for "time.now.http" placeholders ( #5774 )
2023-08-22 02:41:25 -04:00
Francis Lavoie
38a7b6b3d0
caddyfile: Adjust error formatting ( #5765 )
2023-08-20 08:51:03 -06:00
Marten Seemann
84d5e1c5d6
update quic-go to v0.37.6 ( #5767 )
2023-08-19 23:34:15 +00:00
Karun Agarwal
288216e1fb
httpcaddyfile: Stricter errors for site and upstream address schemes ( #5757 )
...
Co-authored-by: Mohammed Al Sahaf <msaa1990@gmail.com>
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-08-19 07:28:25 -04:00
Francis Lavoie
10053f7570
caddyfile: Loosen heredoc parsing ( #5761 )
2023-08-19 10:32:32 +00:00
Mohammed Al Sahaf
0a6d3333b2
fileserver: docs: clarify the ability to produce JSON array with browse
( #5751 )
2023-08-18 19:04:08 +00:00
guangwu
568fd2b286
fix package typo ( #5764 )
...
Signed-off-by: guoguangwu <guoguangwu@magic-shield.com>
2023-08-18 08:20:46 -06:00
Matthew Holt
f11c3c9f5a
go.mod: Upgrade CertMagic and quic-go
2023-08-17 11:34:48 -06:00
Matt Holt
936ee918ee
reverseproxy: Always return new upstreams ( fix #5736 ) ( #5752 )
...
* reverseproxy: Always return new upstreams (fix #5736 )
* Fix healthcheck logger race
2023-08-17 11:33:40 -06:00
Jacob Gadikian
d6f86cccf5
ci: use gci linter ( #5708 )
...
* use gofmput to format code
* use gci to format imports
* reconfigure gci
* linter autofixes
* rearrange imports a little
* export GOOS=windows golangci-lint run ./... --fix
2023-08-14 09:41:15 -06:00
Matthew Holt
2d7d806fcf
fileserver: Slightly more fitting icons
2023-08-11 20:53:11 -06:00
pistasjis
d8135505d3
cmd: Require config for caddy validate ( fix #5612 ) ( #5614 )
...
* Require config for caddy validate - fixes #5612
Signed-off-by: Pistasj <hi@pistasjis.net>
* Try making adjacent Caddyfile check its own function
Signed-off-by: Pistasj <hi@pistasjis.net>
* add Francis' suggestion
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
* Refactor
* Fix borked commit, sigh
---------
Signed-off-by: Pistasj <hi@pistasjis.net>
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
Co-authored-by: Matthew Holt <mholt@users.noreply.github.com>
2023-08-09 17:40:37 +00:00
Matthew Holt
11166889c5
Fix tests
...
I thought Go ordered JSON objects when marshaling, but I guess not.
2023-08-09 11:25:59 -06:00
Matthew Holt
080db93817
caddytls: Update docs for on-demand config
2023-08-09 11:15:01 -06:00
Francis Lavoie
a8492c064d
fileserver: Don't repeat error for invalid method inside error context ( #5705 )
2023-08-09 17:12:09 +00:00
Matt Holt
6cdcc2a782
ci: Update to Go 1.21 ( #5719 )
...
* ci: Update to Go 1.21
* Bump quic-go to v0.37.4
* Check EnableFullDuplex err
* Linter bug suppression
See https://github.com/timakin/bodyclose/issues/52
---------
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-08-09 12:34:28 -04:00
Aaron Dewes
fbb0ecfa32
ci: Add riscv64 (64-bit RISC-V) to goreleaser ( #5720 )
...
This will add 64-bit RISC-V Linux prebuilts for Caddy.
2023-08-08 12:11:53 -06:00
Shyim
5b9c850ab3
go.mod: Upgrade golang.org/x/net to 0.14.0 ( #5718 )
2023-08-08 11:23:26 -06:00
Jacob Gadikian
b32f265eca
ci: Use gofumpt to format code ( #5707 )
2023-08-07 19:40:31 +00:00
Matthew Holt
431adc0980
templates: Fix httpInclude ( fix #5698 )
...
Allowable during feature freeze because this is a simple, non-invasive
bug fix only.
2023-08-07 12:53:21 -06:00
Matthew Holt
a8cc5d1a7d
go.mod: Upgrade to quic-go v0.37.3
...
Fixes #5680 once and for all! Hopefully :)
Thank you @marten-seemann for your excellent work!
2023-08-05 18:10:15 -06:00
Emily
8d304a4566
cmd: Split unix sockets for admin endpoint addresses ( #5696 )
...
* cmd: fix cli when admin endpoint uses new unix socket permission format
Fixes a bug where the following Caddyfile
```Caddyfile
{
admin unix/admin.sock|0660
}
```
and `caddy reload --config Caddyfile`
would throw the following error instead of reloading it:
```
INFO using provided configuration {"config_file": "Caddyfile", "config_adapter": ""}
Error: sending configuration to instance: performing request: Post "http://127.0.0.1/load ": dial unix admin.sock|0660: connect: no such file or directory
[ERROR] exit status 1
```
---
This bug also affected `caddy start` and `caddy stop`.
* Move splitter function to internal
---------
Co-authored-by: Matthew Holt <mholt@users.noreply.github.com>
2023-08-06 00:09:16 +00:00
Mohammed Al Sahaf
65e33fc1ee
reverseproxy: do not parse upstream address too early if it contains replaceble parts ( #5695 )
...
* reverseproxy: do not parse upstream address too early if it contains replaceble parts
* remove unused method
* cleanup
* accommodate partially replaceable port
2023-08-05 23:30:02 +02:00
WeidiDeng
9f34383c02
caddyfile: check that matched key is not a substring of the replacement key ( #5685 )
2023-08-04 10:44:38 -06:00