summaryrefslogtreecommitdiff
path: root/gemini.go
diff options
context:
space:
mode:
authortjpcc <tjp@ctrl-c.club>2023-10-10 18:30:22 -0600
committertjpcc <tjp@ctrl-c.club>2023-10-10 18:30:22 -0600
commit059d44027018f1eaa69d3a0f9779da78eb651ced (patch)
tree102d7c2a3252081e37066057ee06466a6c2be3a6 /gemini.go
parent04450c5f1d5fb04e95b614116fa2987ae98a8a12 (diff)
identify and error on conflicting servertls directives on merged gemini servers
fixes #7
Diffstat (limited to 'gemini.go')
-rw-r--r--gemini.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/gemini.go b/gemini.go
index 975b62b..f48f3ac 100644
--- a/gemini.go
+++ b/gemini.go
@@ -59,9 +59,16 @@ func buildGeminiServers(servers []Server, config *Configuration) ([]sr.Server, e
}
var tlsConfig *tls.Config
+ var keyfile, certfile string
for _, config := range configs {
+ if (keyfile != "" && config.tlsKeyFile == keyfile) || (certfile != "" && config.tlsCertFile == certfile) {
+ return nil, errors.New("conflicting 'servertls' directives for gemini server")
+ }
+
if config.TLS != nil {
tlsConfig = config.TLS
+ keyfile = config.tlsKeyFile
+ certfile = config.tlsCertFile
break
}
}