Browse Source

fix #622

tags/v1.2.0-rc1
Shivaram Lingamneni 4 years ago
parent
commit
04b25eb6bf
1 changed files with 11 additions and 1 deletions
  1. 11
    1
      oragono.go

+ 11
- 1
oragono.go View File

@@ -39,6 +39,13 @@ func getPassword() string {
39 39
 	return strings.TrimSpace(text)
40 40
 }
41 41
 
42
+func fileDoesNotExist(file string) bool {
43
+	if _, err := os.Stat(file); os.IsNotExist(err) {
44
+		return true
45
+	}
46
+	return false
47
+}
48
+
42 49
 // implements the `oragono mkcerts` command
43 50
 func doMkcerts(configFile string, quiet bool) {
44 51
 	config, err := irc.LoadRawConfig(configFile)
@@ -59,7 +66,7 @@ func doMkcerts(configFile string, quiet bool) {
59 66
 			if existingKey == conf.TLS.Key {
60 67
 				continue
61 68
 			} else {
62
-				log.Fatal("Conflicting TLS key files for", conf.TLS.Cert)
69
+				log.Fatal("Conflicting TLS key files for ", conf.TLS.Cert)
63 70
 			}
64 71
 		}
65 72
 		if !quiet {
@@ -67,6 +74,9 @@ func doMkcerts(configFile string, quiet bool) {
67 74
 		}
68 75
 		host := config.Server.Name
69 76
 		cert, key := conf.TLS.Cert, conf.TLS.Key
77
+		if !(fileDoesNotExist(cert) && fileDoesNotExist(key)) {
78
+			log.Fatalf("Preexisting TLS cert and/or key files: %s %s", cert, key)
79
+		}
70 80
 		err := mkcerts.CreateCert("Oragono", host, cert, key)
71 81
 		if err == nil {
72 82
 			if !quiet {

Loading…
Cancel
Save