caddyhttp: Minor cleanup and fix nil pointer deref in caddyfile adapter

This commit is contained in:
Matthew Holt 2019-10-28 15:08:45 -06:00
parent b00dfd3965
commit 442fd748f6
No known key found for this signature in database
GPG Key ID: 2A349DD577D586A5
3 changed files with 20 additions and 5 deletions

View File

@ -215,6 +215,12 @@ func (st ServerType) Setup(originalServerBlocks []caddyfile.ServerBlock,
if tlsApp.Automation == nil { if tlsApp.Automation == nil {
tlsApp.Automation = new(caddytls.AutomationConfig) tlsApp.Automation = new(caddytls.AutomationConfig)
} }
if !hasACMECA {
acmeCA = ""
}
if !hasEmail {
email = ""
}
tlsApp.Automation.Policies = append(tlsApp.Automation.Policies, caddytls.AutomationPolicy{ tlsApp.Automation.Policies = append(tlsApp.Automation.Policies, caddytls.AutomationPolicy{
ManagementRaw: caddyconfig.JSONModuleObject(caddytls.ACMEManagerMaker{ ManagementRaw: caddyconfig.JSONModuleObject(caddytls.ACMEManagerMaker{
CA: acmeCA.(string), CA: acmeCA.(string),

View File

@ -56,6 +56,10 @@ func cmdHashPassword(fs caddycmd.Flags) (int, error) {
plaintext := []byte(fs.String("plaintext")) plaintext := []byte(fs.String("plaintext"))
salt := []byte(fs.String("salt")) salt := []byte(fs.String("salt"))
if len(plaintext) == 0 {
return caddy.ExitCodeFailedStartup, fmt.Errorf("password is required")
}
var hash []byte var hash []byte
var err error var err error
switch algorithm { switch algorithm {

View File

@ -82,12 +82,17 @@ func (t *Transport) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
// //
// is equivalent to: // is equivalent to:
// //
// matcher indexFiles { // matcher canonicalPath {
// file { // file {
// try_files {path} index.php // try_files {path}/index.php
// }
// not {
// path */
// } // }
// } // }
// rewrite match:indexFiles {http.matchers.file.relative} // redir match:canonicalPath {path}/ 308
//
// try_files {path} {path}/index.php index.php
// //
// matcher phpFiles { // matcher phpFiles {
// path *.php // path *.php
@ -101,8 +106,8 @@ func (t *Transport) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
// Thus, this directive produces multiple routes, each with a different // Thus, this directive produces multiple routes, each with a different
// matcher because multiple consecutive routes are necessary to support // matcher because multiple consecutive routes are necessary to support
// the common PHP use case. If this "common" config is not compatible // the common PHP use case. If this "common" config is not compatible
// with a user's PHP requirements, they can use the manual approach as // with a user's PHP requirements, they can use a manual approach based
// above to configure it precisely as they need. // on the example above to configure it precisely as they need.
// //
// If a matcher is specified by the user, for example: // If a matcher is specified by the user, for example:
// //