Matthew Holt
a08ab0c007
Fix slice bounds when getting key of address ( fixes #2706 )
2019-08-14 10:41:25 -06:00
Matthew Holt
914f39d784
Adjust address parsing for Go 1.12.8's breaking changes
...
See 3226f2d492
and https://github.com/golang/go/issues/29098
2019-08-13 14:37:45 -06:00
linquize
0ba427a6f4
websocket: Enhancements, message types, and tests ( #2359 )
...
* websocket: Should reset respawn parameter when processing next config entry
* websocket: add message types: lines, text, binary
* websocket: Add unit test
* Add websocket sample files
2019-07-19 13:29:49 -06:00
Christian Muehlhaeuser
3856ad03b0
Used goimports to fix import order ( #2682 )
...
Keeps the list sorted and prevents future merge conflicts.
2019-07-18 22:05:49 -06:00
rouzier
120811e7f7
staticfiles: Support pre-compressed zstd, make etag content-encoding-aware ( #2626 )
...
* Add support for precompressed zstd files (rfc8478)
* Avoid the hash lookup for the file extension.
* Only calculate Etag once
2019-07-18 13:50:01 -06:00
William Wang
a9ccaa1ae5
add recaptcha plugin ( #2664 )
2019-07-11 13:37:27 -06:00
Matthew Holt
f5720fecd6
Change all import paths: mholt/caddy -> caddyserver/caddy
...
Includes updating go.mod to use new module path
2019-07-02 12:49:20 -06:00
Matthew Holt
05b3938556
Minor fixes to tests
2019-06-19 17:02:34 -06:00
Matthew Holt
721c100bb0
Use CertMagic's HTTP and HTTPS port variable
...
Slightly inconvenient because it uses int type and we use string, but
oh well. This fixes a bug related to setting -http-port and -https-port
flags which weren't being used by CertMagic in some cases.
2019-06-19 16:57:45 -06:00
Daniel
af82141808
caddyhttp: Add 'permission' plugin directive ( #2639 )
2019-06-12 10:15:17 -06:00
Matthew Holt
14a8ffedd8
Fix panic serving index file if HTTP request is malformed
2019-05-27 08:12:19 -06:00
AndreKR
4bad5c79be
Simple rewrite regex captures ( #2592 )
...
* More informative rewrite test output
When running rewrite tests, the output in case of a test failure now
includes not only the rewritten URLs but also the from URL.
* Move re-escaping to regexpMatches
This commit moves the code to post-process the match replacements from
ComplexRule to regexpMatches, so it can later be re-used for SimpleRule.
Also changes the comment in an attempt to better explain the reasoning
behind that code.
The required strings.Replacer is now built only once.
* Support regex captures in simple rewrite rules
Closes #2586
2019-05-24 12:00:27 -06:00
Łukasz Nowak
81430e4aff
gzip: Add .wasm (WebAssembly files) ( #2624 )
2019-05-24 09:59:06 -06:00
Kurt Jung
a2ed91bc45
httpserver: Add pubsub plugin ( #2589 )
2019-04-26 12:32:43 -06:00
Taufiq Rahman
c32a0f5f71
fix lint warnings (issue 2541) ( #2551 )
...
* Lint: fix some errcheck #2541
* Lint: fix passing structcheck #2541
* Lint: update fix structcheck #2541
* Lint: fix errcheck for basicauth, browse, fastcgi_test #2541
* Lint: fix errcheck for browse, fastcgi_test, fcgiclient, fcgiclient_test #2541
* Lint: fix errcheck for responsefilter_test, fcgilient_test #2541
* Lint: fix errcheck for header_test #2541
* Lint: update errcheck for fcgiclient_test #2541
* Lint: fix errcheck for server, header_test, fastcgi_test, https_test, recorder_test #2541
* Lint: fix errcheck for tplcontext, vhosttrie_test, internal_test, handler_test #2541
* Lint: fix errcheck for log_test, markdown mholt#2541
* Lint: fix errcheck for policy, body_test, proxy_test #2541
* Lint: fix errcheck for on multiple packages #2541
- reverseproxy
- reverseproxy_test
- upstream
- upstream_test
- body_test
* Lint: fix errcheck in multiple packages mholt#2541
- handler_test
- redirect_test
- requestid_test
- rewrite_test
- fileserver_test
* Lint: fix errcheck in multiple packages mholt#2541
- websocket
- setup
- collection
- redirect_test
- templates_test
* Lint: fix errcheck in logger test #2541
run goimports against #2551
- lexer_test
- log_test
- markdown
* Update caddyhttp/httpserver/logger_test.go
Co-Authored-By: Inconnu08 <taufiqrx8@gmail.com>
* Update log_test.go
* Lint: fix scope in logger_test #2541
* remove redundant err check in logger_test #2541
* fix alias in logger_test #2541
* fix import for format #2541
* refactor variable names and error check #2541
2019-04-22 10:20:37 -06:00
Matt Holt
917d9bc9da
tls: Update to match CertMagic refactor ( #2571 )
...
* Update to match CertMagic's refactoring
* mod: CertMagic v0.5.0
2019-04-20 12:11:27 -06:00
johncming
e28ee90c2a
httpserver: remove unused listener field ( #2527 )
2019-03-29 22:29:17 -06:00
Linkonoid
1a0292b830
httpserver: Register dyndns directive ( #2521 )
2019-03-15 17:43:01 -06:00
comp500
47b78714b8
proxy: Change headers using regex ( #2144 )
...
* Add upstream header replacements (TODO: tests, docs)
* Add tests, fix a few bugs
* Add more tests and comments
* Refactor header_upstream to use a fallthrough; return regex errors
2019-03-06 14:35:07 -07:00
Toby Allen
98f160e39c
httpserver: More organized startup output ( #2497 )
...
* Move SiteOutput to a seperate function sorted by port.
* Rename vars and tidy up
* Move loopback note to output loop
* Fix Typo
* Remove unneeded var
* Readability Change
* Change to other port string.
* Simplify as all sites in Server use the same port
* Ensure -quiet supresses fmt.Println calls
* Prevent double output of siteinfo to log - improve log message
* change name of log in comment
* Remove spaces
* Remove extra line output
* final tidy!
* Use caddy.LogDestination to setup log
* Ensure Log is still output if quiet.
* Correct case of functions and make function param bool
* Remove conditional check for LogDestination
* Revert output to simple blocks
* comment update
2019-03-04 12:06:04 -07:00
Toby Allen
4f8020a94c
basicauth: Simplify user replacement on auth failure ( #2470 )
...
* Can simply add user to replacer before Replace call. user is then also added to logs
* use fmt.Errorf
* fix how fmt.Errorf is called.
2019-03-04 12:02:24 -07:00
Toby Allen
b295aab2d8
errors: Return parse error if more than one argument ( #2472 )
...
* Check errors directive only has 1 argument
* Added Tests
2019-03-04 12:00:28 -07:00
Toby Allen
44e3a97a67
Revert "Modify Startup Output ( #2469 )" ( #2482 )
...
This reverts commit c0190a3460
.
2019-02-24 14:44:17 -07:00
Toby Allen
c0190a3460
Modify Startup Output ( #2469 )
...
* Move SiteOutput to a seperate function.
* Simplify as all sites in Server use the same port
* Ensure -quiet supresses fmt.Println calls
* Prevent double output of siteinfo to log - improve log message
* Use caddy.LogDestination to setup log
* Ensure Log is still output if quiet.
2019-02-24 10:04:24 +00:00
magikstm
396d8e989f
internal: add internal paths to HiddenFiles ( #2133 )
...
* Append Internal paths to Caddy config HiddenFiles
* gofmt
* Reuse a variable
* Update caddyhttp/internalsrv/setup.go
Co-Authored-By: magikstm <myskina@gmail.com>
2019-02-17 14:32:22 -07:00
Matthew Holt
33b00dc8b1
staticfiles: HEAD, not OPTIONS
2019-02-16 08:22:04 -07:00
Matthew Holt
eb9857137a
staticfiles: Re-allow HEAD requests
2019-02-16 07:42:44 -07:00
Matthew Fay
e9641c5c7e
proxy: Re-add pre-existing trailing slashes in AllowedPath ( #2151 )
...
* proxy.AllowedPath: Re-append trailing slashes to excepted path comparisons
* Substitute HasSuffix for manual check; check slash was actually removed
2019-02-15 11:53:14 -07:00
Toby Allen
495656f72b
basicauth: Log error when authentication fails ( #2434 )
...
* log basicauth errors
* Fixed tests
* Fix log include
* Remove some unneeded blank lines.
2019-02-15 11:50:30 -07:00
Matthew Holt
0a95b5d359
caddytls: Move config of certmagic storage to NewConfig ( fixes #2465 )
...
Breaking API change for server type plugins that use caddytls package.
Now an error value is returned from NewConfig as well. Sorry about that.
2019-02-14 17:20:06 -07:00
Matthew Holt
59e7a8864a
caddyhttp: Fix test (adjust plugin counting)
2019-02-08 12:43:20 -07:00
Danny Navarro
e0efb027da
proxy: Implement own CA certificates of backends ( #2454 )
...
By using option ca_certificates in proxy block it is possible now to select
CA against which backend certificates shall be checked.
Resolves #1550
Co-authored-by: Danny Navarro <navdgo@gmail.com>
2019-02-05 10:16:08 -07:00
Matthew Holt
4f8ff09551
staticfiles: Require method GET
...
Other methods are not currently implemented in the static file server
2019-02-02 18:36:20 -07:00
Matthew Holt
f2491580e0
httpserver: Fix address display and routing for IPv6 IPs/wildcards
2019-02-02 14:32:37 -07:00
Josh Soref
8369a12115
Fix spelling ( #2448 )
...
* spelling: access
* spelling: associated
* spelling: because
* spelling: characteristics
* spelling: chooses
* spelling: cleared
* spelling: clustering
* spelling: collaborators
* spelling: connection
* spelling: content
* spelling: conversion
* spelling: deferring
* spelling: detection
* spelling: displayed
* spelling: dispenser
* spelling: heuristic
* spelling: nonexistent
* spelling: oflisting
* spelling: preparses
* spelling: response
* spelling: responder
* spelling: sensitive
* spelling: specify
* spelling: simple
* spelling: spawning
* spelling: status
* spelling: unsupported
* spelling: upstream
* spelling: username
* spelling: whether
2019-01-29 10:51:10 -07:00
Matthew Holt
97e1f14dd3
httpserver: Revert misleading comment
2019-01-28 10:31:31 -07:00
Matthew Holt
930ca1cc1b
main,log,errors: Option to disable log rotation ("rolling")
...
For log and errors directive, as well as process log.
2019-01-28 10:28:22 -07:00
Sebastian Hutter
a36c7c7e87
Disable basic authentication for OPTIONS method ( #2415 )
...
Execute an OPTIONS call and make sure we receive a valid response
independently of the provided username or password as the
authentication step is ignored
* Do not authenticate OPTIONS calls
* Add test for OPTIONS call
2019-01-28 10:26:22 +00:00
Abiola Ibrahim
0ecc5c46bf
Merge branch 'master' into master
2019-01-26 08:20:17 +01:00
Bryan Burke
a947f70c56
httpserver: add extauth plugin directive ( #2444 )
2019-01-26 00:12:43 -07:00
Max Heyer
c259381541
Add header X-Forwarded-Port with placeholder {server_port} to preset proxy preset transparent
2019-01-26 00:42:51 +01:00
Max Heyer
7f546e529e
httpserver: Implement {sever_port} placeholder ( #2424 )
2019-01-25 20:54:33 +00:00
Matthew Holt
a7aeb979be
caddytls: Use IP address to find config; vendor: update certmagic
...
Closes #2356
2019-01-21 18:58:15 -07:00
Oleg Kovalov
7fe9e13fbf
caddyhttp: use strings.EqualFold ( #2413 )
2019-01-16 22:51:55 -07:00
Jeffrey Zhao
f92a3aa0e5
gzip: avoid unnecessary allocations when not compressing ( #2396 )
2019-01-16 22:43:31 -07:00
Henrique Dias
f5aaa471de
httpserver: remove jekyll, hugo. Replace by filebrowser ( #2417 )
2019-01-08 06:30:18 -07:00
Kurtis Rader
0684cf8611
Implement {when_iso_local}
placeholder ( #2363 )
...
Implement `{when_iso_local}` placeholder
This implements the `{when_iso_local}` placeholder. This is like the
`{when_iso}` placeholder but the output is in the current timezone
rather than UTC.
Resolves #2362
2018-12-18 22:42:05 +00:00
Matthew Holt
620f9687c8
Merge branch 'reload-ln-middleware'
2018-12-11 21:32:23 -07:00
Matthew Holt
d1171af679
httpserver: Don't obtain certs for unmanaged configs ( fixes #2387 )
2018-12-11 19:37:08 -07:00
Matthew Holt
393bc2992e
Add clustering plugin types; use latest certmagic.Storage interface
2018-12-11 12:13:48 -07:00