Marcelo E. Magallon
7e41f6ed62
Add TestNewDefault to config tests
...
Very simple test to make sure that NewDefault is populating the correct
fields with the correct values.
2015-10-20 05:13:00 -06:00
Matt Holt
159eb68a11
Merge pull request #279 from pcasaretto/coverage-up
...
Test app.SetCPU, config.makeOnces, config.makeStorages
2015-10-19 20:55:35 -06:00
Paulo L F Casaretto
815231b1e0
Test app.SetCPU function
2015-10-20 00:33:36 -02:00
Paulo L F Casaretto
0feb0d9244
Test validDirective function
2015-10-20 00:33:19 -02:00
Paulo L F Casaretto
1db138ed55
Test makeStorages function
2015-10-19 23:23:18 -02:00
Paulo L F Casaretto
4c0d4dd780
Test makeOnces function
2015-10-19 23:19:12 -02:00
xenolf
c626774da2
First, raw renewal implementation. Pretty basic :D
2015-10-20 02:44:00 +02:00
Matthew Holt
acf43857a3
Fix ServerBlockStorage so it actually stores stuff
2015-10-19 07:41:58 -06:00
Matthew Holt
e2f6c51fb0
core: Controller has field to persist server state
...
Also added ServerBlockHostIndex
2015-10-19 07:41:58 -06:00
Matthew Holt
c4a7378466
core: Disable TLS for sites where http is explicitly defined (fix)
2015-10-19 07:41:58 -06:00
Matthew Holt
a17e9b6b02
Add ServerBlockIndex and ServerBlockHosts to Controller
...
This way, Setup functions have access to the list of hosts that share the server block, and also, if needed for some reason, the index of the server block in the input
2015-10-19 07:41:58 -06:00
Matthew Holt
f978967e5e
OncePerServerBlock may now return an error
2015-10-19 07:41:58 -06:00
Matthew Holt
fc413e2403
First use of OncePerServerBlock in a Setup function
...
startup and shutdown commands should only be executed once per appearance in the Caddyfile (naturally meaning once per server block).
Notice that we support multiple occurrences of startup and shutdown in the same server block by building the callback array incrementally as we parse the Caddyfile, then we append all the callbacks all at once. Quite literally, the OncePerServerBlock function executes only once per server block!
2015-10-19 07:41:58 -06:00
Matthew Holt
38719765bf
Don't share sync.Once with all directives
...
If each server block had only one sync.Once then all directives would refer to it and only the first directive would be able to use it! So this commit changes it to a map of sync.Once instances, keyed by directive. So by creating a new map for every server block, each directive in that block can get its own sync.Once which is exactly what is needed. They won't step on each other this way.
2015-10-19 07:41:58 -06:00
Matthew Holt
f3596f734d
Epic revert of 0ac8bf5
and adding OncePerServerBlock
...
Turns out having each server block share a single server.Config during initialization when the Setup functions are being called was a bad idea. Sure, startup and shutdown functions were only executed once, but they had no idea what their hostname or port was. So here we revert to the old way of doing things where Setup may be called multiple times per server block (once per host associated with the block, to be precise), but the Setup functions now know their host and port since the config belongs to exactly one virtualHost. To have something happen just once per server block, use OncePerServerBlock, a new function available on each Controller.
2015-10-19 07:41:58 -06:00
Matt Holt
1d15fe069a
Merge pull request #278 from Makpoc/context_tests
...
Cover the rest of the (not one-liner) functions in context
2015-10-19 07:08:34 -06:00
makpoc
72a5579d83
Cover the rest of the (not one-liner) functions in context
2015-10-19 13:51:49 +03:00
Matthew Holt
cd0b47d068
letsencrypt: Don't auto-configure loopback hosts or 'tls off'
...
User can specify 'tls off" in Caddyfile to force-disable automatic HTTPS configuration
2015-10-18 22:50:42 -06:00
Matthew Holt
4c93ab8c68
Merge branch 'configfix' into letsencrypt
2015-10-18 19:48:57 -06:00
Matthew Holt
c0ebe31560
Fix ServerBlockStorage so it actually stores stuff
2015-10-18 19:27:51 -06:00
Matthew Holt
cc1ff93250
letsencrypt: Fix Windows tests
2015-10-18 12:12:33 -06:00
Matthew Holt
42ac2d2dde
letsencrypt: More tests, tests for user.go & slight refactoring
2015-10-18 12:09:06 -06:00
Matthew Holt
d764111886
letsencrypt: Storage tests
2015-10-18 10:39:28 -06:00
Matthew Holt
8cd6b8aa99
letsencrypt: Tests for load/save RSA keys and redirPlaintextHost
2015-10-17 23:35:59 -06:00
Matthew Holt
da8a4fafcc
letsencrypt: Use existing certs & keys if already in storage
2015-10-17 22:55:50 -06:00
Matthew Holt
9f9de389d5
lego provides PEM-encoded certificate bytes for us
2015-10-17 21:18:46 -06:00
Matthew Holt
7568b0e215
Compatibility with latest lego commits (dev mode enabled)
2015-10-17 21:00:48 -06:00
Matthew Holt
a75663501d
Little more refactoring in letsencrypt
2015-10-17 20:51:46 -06:00
Matthew Holt
96ae288c4b
More refactoring; cleaning up code, preparing for tests
2015-10-17 20:44:33 -06:00
Matthew Holt
a3a826572f
Refactor letsencrypt code into its own package
2015-10-17 20:17:24 -06:00
Matthew Holt
fe7ad8ee05
core: Controller has field to persist server state
...
Also added ServerBlockHostIndex
2015-10-17 14:11:32 -06:00
Matt Holt
3614a093e3
Merge pull request #275 from mem/master
...
Add tests for websocket configuration
2015-10-17 13:14:43 -06:00
Marcelo E. Magallon
6325bcf5b2
Add tests for websocket configuration
...
Command arguments:
websocket /api5 "cmd arg1 arg2 arg3"
Optional block:
websocket /api6 cat {
respawn
}
Invalid option in optional block:
websocket /api7 cat {
invalid
}
2015-10-17 12:09:55 -06:00
Matthew Holt
307c2ffe3c
Remove obsolete test
2015-10-17 11:19:56 -06:00
Matthew Holt
06913ab74f
Oops (pass a pointer)
2015-10-17 11:15:43 -06:00
Matthew Holt
506630200b
Redirect HTTP requests to HTTPS by default
2015-10-17 09:36:25 -06:00
Matthew Holt
df194d567f
Don't forget to set port to "https" and indicate TLS enabled
2015-10-17 09:06:05 -06:00
Matthew Holt
9727603250
Try to use most recent user email if not provided
...
Also more comments and starting to clean up code
2015-10-17 00:01:32 -06:00
Matthew Holt
a0c8428f8c
Can issue and use SSL certs and serve sites
...
Code is a huge mess; much cleanup to follow.
2015-10-16 23:30:00 -06:00
Matthew Holt
dd91812b11
Merge branch 'configfix' into letsencrypt
2015-10-16 11:47:32 -06:00
Matthew Holt
10619f06b4
core: Disable TLS for sites where http is explicitly defined (fix)
2015-10-16 11:47:13 -06:00
Matthew Holt
0a1e472fc2
Merge branch 'configfix' into letsencrypt
...
Conflicts:
config/config.go
2015-10-16 11:40:44 -06:00
Matthew Holt
4e92c71259
LE flags, modified tis directive, moved LE stuff to own file
2015-10-16 11:38:56 -06:00
Matthew Holt
2236780190
Add ServerBlockIndex and ServerBlockHosts to Controller
...
This way, Setup functions have access to the list of hosts that share the server block, and also, if needed for some reason, the index of the server block in the input
2015-10-15 23:34:54 -06:00
Matt Holt
3faffdce2d
Merge pull request #274 from Makpoc/context_tests
...
Add context.go tests
2015-10-15 15:29:23 -06:00
Makpoc
d6242e9cac
Apply review comments - change the used domain, remove obsolete function, remove commented tests
2015-10-15 23:09:02 +03:00
Matthew Holt
691204ceed
OncePerServerBlock may now return an error
2015-10-15 11:38:17 -06:00
makpoc
bd4d9c6fe2
add tests for context.Header,IP,URL,Host,Port,Method,PathMatches
2015-10-15 19:46:23 +03:00
makpoc
3440f5cfbe
add tests for context.Cookie() and context.IP()
2015-10-15 18:26:13 +03:00
Matthew Holt
a518049fa2
Merge branch 'master' into configfix
2015-10-15 00:13:40 -06:00