mirror of
https://github.com/caddyserver/caddy.git
synced 2025-02-20 23:32:56 +08:00

[1]57e459e02b/src/crypto/tls/common.go (L424)
[2]57e459e02b/src/crypto/tls/common.go (L392-L407)
[2] has overwritten the first tls ticket key on round N=0, that has previously been written using [1]. Go's stdlib does not use c.sessionTicketKeys≥1 as indicator if those values had already been set; initializing that lone SessionTicketKey does the job for for now. If c.serverInit() were called in round N+1 all existing tls ticket keys would be overwritten (in round N<4 except the very first one, of course). As member variables of tls.Config are read-only by then, we cannot keep updating SessionTicketKey as well. This has been escalated to Go's authors with golang/go#15421 here: https://github.com/golang/go/issues/15421 Thanks to Matthew Holt for the initial report!