@marcel91200 / caddy Mirror · read-only / commits / 0e829bc4
Fork 0

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Mirrored from https://github.com/Slazee/caddy.git

Synced Nov 12, 08:15 UTC

caddyhttp: Fix listener wrapper regression from #6573 (#6599)

Aaron Paterson committed Oct 1, 2024 at 01:47 UTC 0e829bc4187e265d1e4ccb1bec24996088acf0a5
2 files changed +9 -9
listeners.go
+4 -4
@@ -183,14 +183,14 @@ func (na NetworkAddress) listen(ctx context.Context, portOffset uint, config net
183 }
184 }
185
186 - if ln == nil {
187 - return nil, fmt.Errorf("unsupported network type: %s", na.Network)
188 - }
189 -
186 if err != nil {
187 return nil, err
188 }
189
190 + if ln == nil {
191 + return nil, fmt.Errorf("unsupported network type: %s", na.Network)
192 + }
193 +
194 if IsUnixNetwork(na.Network) {
195 isAbstractUnixSocket := strings.HasPrefix(address, "@")
196 if !isAbstractUnixSocket {
modules/caddyhttp/app.go
+5 -5
@@ -535,11 +535,6 @@ func (app *App) Start() error {
535 return fmt.Errorf("network '%s' cannot handle HTTP/1 or HTTP/2 connections", listenAddr.Network)
536 }
537
538 - if useTLS {
539 - // create TLS listener - this enables and terminates TLS
540 - ln = tls.NewListener(ln, tlsCfg)
541 - }
542 -
538 // wrap listener before TLS (up to the TLS placeholder wrapper)
539 var lnWrapperIdx int
540 for i, lnWrapper := range srv.listenerWrappers {
@@ -550,6 +545,11 @@ func (app *App) Start() error {
545 ln = lnWrapper.WrapListener(ln)
546 }
547
548 + if useTLS {
549 + // create TLS listener - this enables and terminates TLS
550 + ln = tls.NewListener(ln, tlsCfg)
551 + }
552 +
553 // finish wrapping listener where we left off before TLS
554 for i := lnWrapperIdx; i < len(srv.listenerWrappers); i++ {
555 ln = srv.listenerWrappers[i].WrapListener(ln)