Skip to content

Commit

Permalink
Add TLS support to server
Browse files Browse the repository at this point in the history
  • Loading branch information
FiloSottile committed Nov 22, 2014
1 parent d61960a commit 5e3ada9
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 4 deletions.
3 changes: 3 additions & 0 deletions server/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Install the `SAMPLE.aws-config.json` as `~/.aws-config.json` or `/etc/aws-config
```
Usage:
HBserver --redir-host=<host> [--listen=<addr:port> --expiry=<duration>]
[--key=<key> --cert=<cert>]
HBserver -h | --help
HBserver --version
Expand All @@ -14,6 +15,8 @@ Options:
--expiry DURATION ENABLE CACHING. Expire records after this period.
Uses Go's parse syntax
e.g. 10m = 10 minutes, 600s = 600 seconds, 1d = 1 day, etc.
--key KEY TLS key .pem file -- enable TLS
--cert CERT TLS cert .pem file -- enable TLS
-h --help Show this screen.
--version Show version.
```
20 changes: 16 additions & 4 deletions server/bleed_serve.go
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@ var Usage = `Heartbleed test server.
Usage:
HBserver --redir-host=<host> [--listen=<addr:port> --expiry=<duration>]
[--key=<key> --cert=<cert>]
HBserver -h | --help
HBserver --version
Expand All @@ -161,6 +162,8 @@ Options:
--expiry DURATION ENABLE CACHING. Expire records after this period.
Uses Go's parse syntax
e.g. 10m = 10 minutes, 600s = 600 seconds, 1d = 1 day, etc.
--key KEY TLS key .pem file -- enable TLS
--cert CERT TLS cert .pem file -- enable TLS
-h --help Show this screen.
--version Show version.`

Expand All @@ -187,9 +190,18 @@ func main() {
http.HandleFunc("/bleed/", bleedHandler)
http.HandleFunc("/bleed/query", bleedQueryHandler)

log.Printf("Starting server on %s\n", arguments["--listen"].(string))
err := http.ListenAndServe(arguments["--listen"].(string), nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
var err error
if arguments["--key"] != nil && arguments["--cert"] != nil {
log.Printf("Starting server on %s\n", arguments["--listen"].(string))
log.Fatal("ListenAndServe: ", http.ListenAndServe(
arguments["--listen"].(string), nil,
))
} else {
log.Printf("Starting TLS server on %s\n", arguments["--listen"].(string))
log.Fatal("ListenAndServeTLS: ", http.ListenAndServeTLS(
arguments["--listen"].(string),
arguments["--cert"].(string), arguments["--key"].(string),
nil,
))
}
}

0 comments on commit 5e3ada9

Please sign in to comment.