diff --git a/cmd/certspotter/main.go b/cmd/certspotter/main.go index d099a5d..cadcd02 100644 --- a/cmd/certspotter/main.go +++ b/cmd/certspotter/main.go @@ -19,11 +19,13 @@ import ( "os" "os/signal" "path/filepath" + "runtime" "runtime/debug" "strings" "syscall" "time" + "software.sslmate.com/src/certspotter/loglist" "software.sslmate.com/src/certspotter/monitor" ) @@ -103,7 +105,7 @@ func appendFunc(slice *[]string) func(string) error { func main() { insecurerand.Seed(time.Now().UnixNano()) // TODO: remove after upgrading to Go 1.20 - // TODO-3: set loglist.UserAgent + loglist.UserAgent = fmt.Sprintf("certspotter/%s (%s; %s; %s)", certspotterVersion(), runtime.Version(), runtime.GOOS, runtime.GOARCH) var flags struct { batchSize int // TODO-4: respect this option diff --git a/loglist/load.go b/loglist/load.go index 0e94124..11c8e8f 100644 --- a/loglist/load.go +++ b/loglist/load.go @@ -21,6 +21,8 @@ import ( "time" ) +var UserAgent = "certspotter" + type ModificationToken struct { etag string modified time.Time @@ -70,6 +72,7 @@ func FetchIfModified(ctx context.Context, url string, token *ModificationToken) if err != nil { return nil, nil, err } + request.Header.Set("User-Agent", UserAgent) if token != nil { token.setRequestHeaders(request) }