瀏覽代碼

cert: use os.Hostname for the OU, and add the long form user name

The output of the hostname command on Windows is probably UTF-16, but
instead of figuring out its edge cases, switch to the syscall on every
platform.

Fixes #96
Closes #142
Filippo Valsorda 5 年之前
父節點
當前提交
e9f8fbcdf4
共有 1 個文件被更改,包括 8 次插入4 次删除
  1. 8 4
      cert.go

+ 8 - 4
cert.go

@@ -34,12 +34,16 @@ import (
 var userAndHostname string
 
 func init() {
-	u, _ := user.Current()
-	if u != nil {
+	u, err := user.Current()
+	if err == nil {
 		userAndHostname = u.Username + "@"
 	}
-	hostname, _ := os.Hostname()
-	userAndHostname += hostname
+	if h, err := os.Hostname(); err == nil {
+		userAndHostname += h
+	}
+	if err == nil && u.Name != "" && u.Name != u.Username {
+		userAndHostname += " (" + u.Name + ")"
+	}
 }
 
 func (m *mkcert) makeCert(hosts []string) {