summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-10caddyhttp: Add nil check (fixes #3248 and fixes #3250)Matthew Holt
2020-04-10Update readmeMatthew Holt
2020-04-09reverseproxy: Minor tweaksMatthew Holt
We'll need that context in v2.1 when the transport can manage its own client certificates; see #3198
2020-04-09caddytls: Don't initialize default internal issuer unless necessaryMatthew Holt
Otherwise, a password prompt can occur unnecessarily.
2020-04-09logging: Colorize output in all cases of stdout/stderrMatthew Holt
2020-04-09caddytls: Fix for TLS conn policy being applied to HTTP-only servers (#3243)Matt Holt
* httpcaddyfile: Don't add TLS policy to HTTP-only server (#3193, #3223) * Account for HTTP port * Add integration test written by @sarge
2020-04-09go.mod: Update certmagicMatthew Holt
2020-04-09go.mod: Try smallstep againMatthew Holt
See if the broken dependency cycle has been... well, broken
2020-04-09go.mod: Update smallstep/cliMatthew Holt
2020-04-09go.mod: Update dependenciesMatthew Holt
Should fix the builds with GOPROXY=direct!
2020-04-08caddyhttp: CEL matcher checks return type; slight refactorMatthew Holt
As per https://github.com/caddyserver/caddy/issues/3051#issuecomment-611200414
2020-04-08chore: make the linter happier (#3245)Mohammed Al Sahaf
* chore: make the linter happier * chore: remove reference to maligned linter in .golangci.yml
2020-04-08httpcaddyfile, caddytls: Multiple edge case fixes; add testsMatthew Holt
- Create two default automation policies; if the TLS app is used in isolation with the 'automate' certificate loader, it will now use an internal issuer for internal-only names, and an ACME issuer for all other names by default. - If the HTTP Caddyfile adds an 'automate' loader, it now also adds an automation policy for any names in that loader that do not qualify for public certificates so that they will be issued internally. (It might be nice if this wasn't necessary, but the alternative is to either make auto-HTTPS logic way more complex by scanning the names in the 'automate' loader, or to have an automation policy without an issuer switch between default issuer based on the name being issued a certificate - I think I like the latter option better, right now we do something kind of like that but at a level above each individual automation policies, we do that switch only when no automation policies match, rather than when a policy without an issuer does match.) - Set the default LoggerName rather than a LoggerNames with an empty host value, which is now taken literally rather than as a catch-all. - hostsFromKeys, the function that gets a list of hosts from server block keys, no longer returns an empty string in its resulting slice, ever.
2020-04-08caddyhttp: Fix logging name associations by adding a defaultMatthew Holt
2020-04-08logging: Only colorize console outputMatthew Holt
2020-04-08httpcaddyfile: Add key_type global option (#3231)Francis Lavoie
2020-04-08cel: Leverage DefaultAdapter to extend CEL's type systemMatthew Holt
Thanks to @TristonianJones for the tip! https://github.com/caddyserver/caddy/commit/105acfa08664c97460a6fe3fb49635618be5bcb2#r38358983
2020-04-08caddyhttp: Return port placeholders as intsMatthew Holt
2020-04-07basicauth: Re-prompt after invalid credentials (fix #3239) (#3240)Matt Holt
2020-04-07templates: Update docsMatthew Holt
2020-04-07templates: Add env function (closes #3237)Matthew Holt
2020-04-07Merge branch 'remove-ntlm'Matthew Holt
2020-04-07reverseproxy: Remove NTLM transport; refactor and improve docsMatthew Holt
2020-04-07core: Rename ParsedAddress -> NetworkAddressMatthew Holt
2020-04-06docs: Clarify "not" matcher structure (see #3233)Matthew Holt
2020-04-06caddyhttp: Add missing LB policy Caddyfile unmarshalers (#3230)Francis Lavoie
2020-04-06caddyhttp: Strictly forbid unnecessary blocks on matchers (#3229)Francis Lavoie
2020-04-06caddyhttp: Support single-line not matcher (#3228)Francis Lavoie
* caddyhttp: Support single-line not matcher shortcut * caddyhttp: Some tests, I guess
2020-04-06templates: Use text/template; add experimental notice to docsMatthew Holt
Using html/template.HTML like we were doing before caused nested include to be HTML-escaped, which breaks sites. Now we do not escape any of the output; template input is usually trusted, and if it's not, users should employ escaping actions within their templates to keep it safe. The docs already said this.
2020-04-06httpcaddyfile: Carry bind setting through to ACME issuer (fixes #3232)Matthew Holt
2020-04-06caddytls: Support custom bind host for challenges (#3232)Matthew Holt
2020-04-06tests: Remove noisy logsMatthew Holt
2020-04-04ci: Tweak commit prefixes to ignoreMatthew Holt
2020-04-04cmd: Log warning if --resume and --config used togetherMatthew Holt
There's nothing actually risky/dangerous in this situation, it's mostly an attempt to get the user's attention
2020-04-03chore: add adapt tests. fix load failure not failing tests (#3222)Mark Sargent
* add adaption tests. fix load failure not failing tests * removed unnecessary assignment
2020-04-03httpcaddyfile: Yield cleaner JSON when conn policy or log name is emptyMatthew Holt
2020-04-03go.mod: Update CertMagic (again) v0.10.10Matthew Holt
2020-04-03go.mod: Use latest Certmagic (v0.10.9)Matthew Holt
2020-04-03fastcgi: Account for lack of split path configuration (fix #3221)Matthew Holt
2020-04-03go.mod: Update CertMagic to v0.10.8Matthew Holt
Fixes occasional panic due to closing closed channel
2020-04-03Create FUNDING.ymlMatt Holt
I guess this got left in the v1 branch when we switched, oops
2020-04-02ci: goreleaser: Drop some platforms and replacements (#3217)Matt Holt
Based on download stats, demand for 32-bit binaries these days is extremely low. Also unify some of the filename conventions; just a few bikeshedding changes :)
2020-04-02readme: So much more ... what? Fixed cliffhangerMatthew Holt
2020-04-02chore: ci: fix release action script (#3216)Mohammed Al Sahaf
* chore: ci: fixing the step name that captures the pushed tag * chrore: ci: exclude commits prefixed with `ci:` from changelog
2020-04-02httpcaddyfile: Refactor site key parsing; detect conflicting schemesMatthew Holt
We now store the parsed site/server block keys with the server block, rather than parsing the addresses every time we read them. Also detect conflicting schemes, i.e. TLS and non-TLS cannot be served from the same server (natively -- modules could be built for it). Also do not add site subroutes (subroutes generated specifically from site blocks in the Caddyfile) that are empty.
2020-04-02ci: fuzz: skip fuzz data that contains `import` (#3214)Mohammed Al Sahaf
Thus far the fuzzers have found a few crashers in the Caddyfile parser. However, the fuzzer have been stuck at import glob expansion after import glob expansion, which aren't reproducible.
2020-04-02caddytls: Encode big.Int as string with JSONMatthew Holt
2020-04-02Update readmeMatthew Holt
2020-04-01Fix for last commitMatthew Holt
2020-04-01caddytls: Refactor certificate selection policies (close #1575)Matthew Holt
Certificate selection used to be a module, but this seems unnecessary, especially since the built-in CustomSelectionPolicy allows quite complex selection logic on a number of fields in certs. If we need to extend that logic, we can, but I don't think there are SO many possibilities that we need modules. This update also allows certificate selection to choose between multiple matching certs based on client compatibility and makes a number of other improvements in the default cert selection logic, both here and in the latest CertMagic. The hardest part of this was the conn policy consolidation logic (Caddyfile only, of course). We have to merge connection policies that we can easily combine, because if two certs are manually loaded in a Caddyfile site block, that produces two connection policies, and each cert is tagged with a different tag, meaning only the first would ever be selected. So given the same matchers, we can merge the two, but this required improving the Tag selection logic to support multiple tags to choose from, hence "tags" changed to "any_tag" or "all_tags" (but we use any_tag in our Caddyfile logic). Combining conn policies with conflicting settings is impossible, so that should return an error if two policies with the exact same matchers have non-empty settings that are not the same (the one exception being any_tag which we can merge because the logic for them is to OR them). It was a bit complicated. It seems to work in numerous tests I've conducted, but we'll see how it pans out in the release candidates.