summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-07-20reverse_proxy: flush HTTP/2 response when ContentLength is unknown (#3561)Kevin Lin
* reverse proxy: Support more h2 stream scenarios (#3556) * reverse proxy: add integration test for better h2 stream (#3556) * reverse proxy: adjust comments as francislavoie suggests * link to issue #3556 in the comments
2020-07-18reverseproxy: add support for custom DNS resolver (#3479)Mohammed Al Sahaf
* reverse proxy: add support for custom resolver * reverse proxy: don't pollute the global resolver with bootstrap resolver setup * Improve documentation of reverseproxy.UpstreamResolver fields Co-authored-by: Matt Holt <mholt@users.noreply.github.com> * reverse proxy: clarify the name resolution conventions of upstream resolvers and bootstrap resolver * remove support for bootstraper of resolver * godoc and code-style changes Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2020-07-17reverseproxy: Restore request's original host and header (fix #3509)Matthew Holt
We already restore them within the retry loop, but after successful proxy we didn't reset them, so as handlers bubble back up, they would see the values used for proxying. Thanks to @ziddey for identifying the cause.
2020-07-17fastcgi: Ensure leading slash, omit SERVER_PORT if empty for compliance (#3570)Francis Lavoie
See https://tools.ietf.org/html/rfc3875#section-4.1.13 for SCRIPT_NAME requiring leading slash See https://tools.ietf.org/html/rfc3875#section-4.1.15 for SERVER_PORT requiring omission if empty
2020-07-17fastcgi: Fill REMOTE_USER with http.auth.user.id placeholder (#3577)Francis Lavoie
Completing a TODO!
2020-07-17reverseproxy: Fix Caddyfile parsing for empty non-http transports (#3576)Francis Lavoie
* reverseproxy: Fix Caddyfile parsing for empty non-http transports * Update modules/caddyhttp/reverseproxy/caddyfile.go Co-authored-by: Matt Holt <mholt@users.noreply.github.com> * Rename empty transport test Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2020-07-17readme: Minor tweaksMatthew Holt
2020-07-17caddyauth: hash-password: Set bcrypt cost to 14 (#3580)Matthew Holt
2020-07-16caddyhttp: Add {http.request.body} placeholderMatthew Holt
2020-07-16readme: Update badgesMatthew Holt
2020-07-13logging: ⚠️ Deprecate logfmt encoderMatthew Holt
It is essentially broken because it occludes many log fields. See: https://github.com/caddyserver/caddy/issues/3575
2020-07-11chore: Rename file to be consistentMatthew Holt
2020-07-10docs: Remove extra word in README.md (#3564)Kévin Dunglas
2020-07-08fileserver: Enable browse pagination with offset parameter (#3542)snu-ceyda
* Update browse.go * Update browselisting.go * Update browsetpl.go * fix linter err * Update modules/caddyhttp/fileserver/browse.go Co-authored-by: Matt Holt <mholt@users.noreply.github.com> * Update modules/caddyhttp/fileserver/browselisting.go Co-authored-by: Matt Holt <mholt@users.noreply.github.com> * Update browsetpl.go change from -> offset * Update browse.go * Update browselisting.go Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2020-07-08templates: Fix front matter closing fence searchMatthew Holt
This makes it choose first matching closing fence instead of last one, which could appear in document body.
2020-07-08caddytls: Move initial storage clean op into goroutineMatthew Holt
Sometimes this operation can take a while (we observed 7 minutes recently, with a large, globally-distributed storage backend).
2020-07-07caddyhttp: Reorder some access log fields; add host matcher test caseMatthew Holt
This field order reads a little more naturally.
2020-07-07httpcaddyfile: Reorder automation policy logic (close #3550)Matthew Holt
2020-07-06go.mod: Upgrade and downgrade smallstep, quic-go, and cpuidMatthew Holt
Closes #3537 and fixes #3535
2020-07-06templates: Disable hard wraps in Markdown rendering (#3553)Greg Anders
2020-06-30ci: Fix another oops with publish workflow (#3536)Francis Lavoie
2020-06-30cel: fix validation of expression result type (#3526)Mohammed Al Sahaf
* cel: fix validation of expression result type The earlier code used the proto.Equals from github.com/gogo/protobuf, which failed to compare two messages of the same type for some reason. Switching to proto.Equal from the canonical github.com/golang/protobuf fixes the issue. * deps: remove deprecated github.com/golang/protobuf in favor of google.golang.org/protobuf * downgrade github.com/smallstep/nosql to resolve warning pb.proto warning
2020-06-30caddyhttp: Corrected host label index check (fix #3502)Matthew Holt
2020-06-26caddyhttp: Support placeholders in query matcher (#3521)James Birtles
2020-06-26caddyhttp: Add 'map' handler (#3199)Mark Sargent
* inital map implementation * resolve the value during middleware execution * use regex instead * pr feedback * renamed mmap to maphandler * refactored GetString implementation * fixed mispelling * additional feedback
2020-06-26ci: Fix release publish trigger (#3524)Francis Lavoie
Looks like event payloads need to be prefixed with `github.event` to get the actual payload contents. Didn't dig deep enough. https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#github-context
2020-06-26go.mod: Minor dependency updatesMatthew Holt
2020-06-26caddyhttp: Better host matching for logger names (fix #3488) (#3522)Matt Holt
First try an exact lookup like before, but if it fails, strip the port and try again. example.com:1234 should still use a logger keyed for example.com if there is no key example.com:1234.
2020-06-25ci: Apparently only single-quote strings are supported (#3523)Francis Lavoie
https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#literals https://github.com/caddyserver/caddy/actions/runs/147953515
2020-06-22fastcgi: Fix php_fastcgi matcher regression (#3512)Francis Lavoie
2020-06-22chore: Fix typo in reverse-proxy subcommand help message (#3513)Xiuming Chen
2020-06-16caddyhttp: Empty, not nil, query matcher matches empty query stringMatthew Holt
2020-06-16caddyhttp: Enable matching empty query stringMatthew Holt
Caddyfile syntax: query "" Or a nil matcher in the JSON should also match an empty query string. See https://caddy.community/t/v2-match-empty-query/8708?u=matt
2020-06-16httpcaddyfile: Fix ordering of catch-all site blocksMatthew Holt
Catch-alls should always go last. Normally this is the case, but we have a special case for comparing one wildcard-host site block to another non-wildcard host site block; and a catch-all site block is also a non-wildcard host site block, so now we have to special-case the catch-all site block. Sigh. This could be reproduced with a Caddyfile that has two site blocks: ":80" and "*.example.com", in that order.
2020-06-15templates: Add support for dots to close yaml frontmatter (#3498)Francis Lavoie
* templates: Add support for dots to close yaml frontmatter * templates: Fix regression in body output
2020-06-12ci: don't run s390x tests on PRs of forks (#3494)Mohammed Al Sahaf
* ci: don't run s390x tests on PRs of forks * ci: check if fork by matchinging name from event against name of repo
2020-06-12httpcaddyfile: New `acme_eab` option (#3492)Chris Ortman
* Adds global options for external account bindings * Maybe other people use ctags too? * Use nested block to configure external account * go format files * Restore acme_ca directive in test file * Change Caddyfile config syntax for acme_eab * Update test Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2020-06-12ci: skip s390x tests on forks (#3493)Mohammed Al Sahaf
2020-06-12go.mod: Update quic-go to 0.17.1 (draft 29) and certmagic 0.11.2 (eab)Matthew Holt
2020-06-12Merge branch 'eab-fix'Matthew Holt
2020-06-12ci: add CI on s390x (#3463)Mohammed Al Sahaf
* ci: lay out foundation for s390x tests * ci: uncomment the s390x test script & replace placeholders with real values * ci: amend the s390x test job name to be more consistent with others
2020-06-12fastcgi: Make sure splitPos handles empty SplitPath correctly (#3491)Wynn Wolf Arbor
In commit f2ce81c, support for multiple path splitters was added. The type of SplitPath changed from string to []string, and splitPos was changed to loop through all values in SplitPath. Before that commit, if SplitPath was empty, strings.Index returned 0 and PATH_INFO was set correctly in buildEnv. Currently, however, splitPos returns -1 for empty values of SplitPath, behaving as if a split position could not be found at all. PATH_INFO is then never set in buildEnv and remains empty. Restore the old behaviour by explicitly checking whether SplitPath is empty and returning 0 in splitPos. Closes #3490
2020-06-11caddyhttp: Add client cert SAN placeholdersMatthew Holt
2020-06-11caddytls: Don't decode HMACMatthew Holt
https://caddy.community/t/trouble-with-external-account-hmac/8600?u=matt
2020-06-11reverseproxy: Close websocket conn if req context cancelsMatthew Holt
This is a recent patch in the Go standard library
2020-06-08ci: Fix gemfury upload condition, move triggers to publish event (#3483)Francis Lavoie
2020-06-08ci: fix an oopsie in the release script (#3482)Mohammed Al Sahaf
2020-06-08reverseproxy: Add Caddyfile support for ClientCertificateAutomateMatthew Holt
2020-06-05httpcaddyfile: Add client_auth options to tls directive (#3335)NWHirschfeld
* reading client certificate config from Caddyfile Signed-off-by: NWHirschfeld <Niclas@NWHirschfeld.de> * Update caddyconfig/httpcaddyfile/builtins.go Co-authored-by: Francis Lavoie <lavofr@gmail.com> * added adapt test for parsing client certificate configuration from Caddyfile Signed-off-by: NWHirschfeld <Niclas@NWHirschfeld.de> * read client ca and leaf certificates from file https://github.com/caddyserver/caddy/pull/3335#discussion_r421633844 Signed-off-by: NWHirschfeld <Niclas@NWHirschfeld.de> * Update modules/caddytls/connpolicy.go * Make review adjustments Co-authored-by: Francis Lavoie <lavofr@gmail.com> Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2020-06-05caddytls: Configurable cache size limitMatthew Holt