Age | Commit message (Collapse) | Author |
|
|
|
* reverseproxy: Always return new upstreams (fix #5736)
* Fix healthcheck logger race
|
|
* 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
|
|
|
|
* 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>
|
|
I thought Go ordered JSON objects when marshaling, but I guess not.
|
|
|
|
|
|
* 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>
|
|
This will add 64-bit RISC-V Linux prebuilts for Caddy.
|
|
|
|
|
|
Allowable during feature freeze because this is a simple, non-invasive
bug fix only.
|
|
Fixes #5680 once and for all! Hopefully :)
Thank you @marten-seemann for your excellent work!
|
|
* 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>
|
|
replaceble parts (#5695)
* reverseproxy: do not parse upstream address too early if it contains replaceble parts
* remove unused method
* cleanup
* accommodate partially replaceable port
|
|
(#5685)
|
|
|
|
|
|
|
|
|
|
Only happens for some people. Unable to confirm.
|
|
|
|
* caddyhttp: Make use of http.ResponseController
Also syncs the reverseproxy implementation with stdlib's which now uses ResponseController as well https://github.com/golang/go/commit/2449bbb5e614954ce9e99c8a481ea2ee73d72d61
* Enable full-duplex for HTTP/1.1
* Appease linter
* Add warning for builds with Go 1.20, so it's less surprising to users
* Improved godoc for EnableFullDuplex, copied text from stdlib
* Only wrap in encode if not already wrapped
|
|
This prevents initialization of a .step folder when it's not used.
|
|
|
|
(#5643)
* httpcaddyfile: Allow `hostnames` override for log directive
* Implement access logger name overrides
* Fix panic & default logger clobbering edgecase
|
|
|
|
Should fix panic in Go 1.21 where there was no RemoteAddr.
|
|
allows AUpstreams to be instantiated externally
|
|
Fixes race condition
|
|
|
|
|
|
* update quic-go to v0.37.0
* Bump to Go 1.20
* Bump golangci-lint version, yml syntax consistency
* Use skip-pkg-cache workaround
* Workaround needed for both?
* Seeding weakrand is no longer necessary
---------
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
|
|
Separate currentCtxMu to protect currentCtx, and a new
rawCfgMu to protect rawCfg and synchronize loads.
|
|
|
|
All cells on row have same height.
Center-align vertically.
|
|
|
|
* fix comparing if two tokens are on the same line
* compare tokens from copies when importing
|
|
* caddytls: Don't purge cert cache on config reload
* Update CertMagic
This actually avoids reloading managed certs from storage
when already in the cache, d'oh.
* Fix bug; re-implement HasCertificateForSubject
* Update go.mod: CertMagic tag
|
|
|
|
This avoids copying the Upstream, which has an atomically-accessed value
in it.
|
|
Follow-up to #2917. Path matcher needs to trim dots and spaces but only
on Windows.
|
|
|
|
|
|
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
|
|
|
|
because those aren't real paths on the filesystem and thus can't be `chmod`ed
|
|
* core: Add optional unix socket file permissions
This commit also changes the default unix socket file permissions to `u=w,g=,o=` (octal: `0200`).
It used to default to the shell's umask (usually `u=rwx,g=rx,o=rx`, octal: `0755`).
`/run/caddy.sock` -> `/run/caddy.sock` with `0200` default perms
`/run/caddy.sock|0222` -> `/run/caddy.sock` with `0222` perms
`|` instead of `:` is used as a separator, to account for the `:` in Windows drive letters (e.g. `C:\absolute\path.sock`)
Fun fact:
The old unix(7) man page (pre Jun 2016) stated a socket needs both read and write perms.
Turns out, only write perms are needed.
Corrected in https://github.com/mkerrisk/man-pages/commit/7578ea2f85b272363d22680d69e7d32f0b59c83b
Despite this, most implementations still default to read+write to this date.
* Add cases with Windows paths to test
* Require write perms for the owning user
|
|
|