From d69f0d57bca7761d9cc3810973cc06cc357c49fe Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 6 Feb 2017 22:02:21 -0500 Subject: *-pem2html: Correctly render empty cells (made possible by recent changes) --- diff-pem2html.go | 11 ++++++++--- tls-pem2html.go | 5 +++-- util/html.go | 14 ++++++++++++++ 3 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 util/html.go diff --git a/diff-pem2html.go b/diff-pem2html.go index 542b829..f3b25ff 100644 --- a/diff-pem2html.go +++ b/diff-pem2html.go @@ -7,6 +7,8 @@ import ( "html/template" "io/ioutil" "os" + + "./util" ) func handleErr(err error, str string, a ...interface{}) { @@ -24,14 +26,17 @@ func handleBool(ok bool, str string, a ...interface{}) { } } -var tmpl = template.Must(template.New("2html").Parse(` +var tmpl = template.Must(template.New("pem2html"). + Funcs(template.FuncMap{ + "htmlcell": util.HTMLCellEscapeString, + }).Parse(`
{{range $cert := .certs}} - - + + diff --git a/tls-pem2html.go b/tls-pem2html.go index d12504b..bc14f9a 100644 --- a/tls-pem2html.go +++ b/tls-pem2html.go @@ -35,6 +35,7 @@ var tmpl = template.Must(template.New("pem2html"). "date": util.Date2HTML, "datetime": util.DateTime2HTML, "colorDatetime": util.DateTime2ColorHTML, + "htmlcell": util.HTMLCellEscapeString, }).Parse(`
--- tls.pem
+++ crtsh.pem
@@ -1,{{.nTLS}} +1,{{.nCrtSh}} @@
{{if eq $cert.Pfix " "}} {{else}}{{$cert.Pfix}}{{end}}{{$cert.X509.Subject.CommonName}}{{$cert.Pfix | htmlcell}}{{$cert.X509.Subject.CommonName | htmlcell}} {{$cert.X509.NotBefore.Local.Format "2006-01-02 15:04:05"}} {{$cert.X509.NotAfter.Local.Format "2006-01-02 15:04:05"}}
- - + + {{end}}

Live Certs (Updated {{.now | colorDatetime}})

@@ -49,8 +50,8 @@ var tmpl = template.Must(template.New("pem2html").
{{$cert.X509.NotBefore | date}} {{$cert.X509.NotAfter | date}}{{$cert.X509.Subject.CommonName | html}}{{$cert.Socket | html}}{{$cert.X509.Subject.CommonName | htmlcell}}{{$cert.Socket | htmlcell}}
diff --git a/util/html.go b/util/html.go new file mode 100644 index 0000000..af2ce60 --- /dev/null +++ b/util/html.go @@ -0,0 +1,14 @@ +package util + +import ( + "html/template" + "strings" +) + +func HTMLCellEscapeString(s string) template.HTML { + html := template.HTMLEscapeString(s) + if strings.TrimSpace(html) == "" { + html = " " + } + return template.HTML(html) +} -- cgit v1.2.3