From 947c14793a9a9e0ff5e0984fe40b3cf7c79f240e Mon Sep 17 00:00:00 2001 From: Will Norris Date: Fri, 27 Jan 2023 13:36:46 -0800 Subject: [PATCH] all: update tools that manage copyright headers Update all code generation tools, and those that check for license headers to use the new standard header. Also update copyright statement in LICENSE file. Fixes #6865 Signed-off-by: Will Norris --- LICENSE | 3 +- cmd/addlicense/main.go | 15 ++--- cmd/cloner/cloner.go | 2 +- cmd/viewer/viewer.go | 2 +- derp/derp_server.go | 2 +- net/portmapper/pcp.go | 2 +- net/portmapper/portmapper.go | 2 +- scripts/check_license_headers.sh | 19 +++--- tstest/integration/gen_deps.go | 5 +- tstest/integration/vms/gen/test_codegen.go | 7 +-- util/codegen/codegen.go | 68 ++-------------------- wgengine/magicsock/magicsock.go | 2 +- 12 files changed, 31 insertions(+), 98 deletions(-) diff --git a/LICENSE b/LICENSE index 66284d31a..394db19e4 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,6 @@ BSD 3-Clause License -Copyright (c) 2020 Tailscale & AUTHORS. -All rights reserved. +Copyright (c) 2020 Tailscale Inc & AUTHORS. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/cmd/addlicense/main.go b/cmd/addlicense/main.go index 856bc8b86..a8fd9dd4a 100644 --- a/cmd/addlicense/main.go +++ b/cmd/addlicense/main.go @@ -14,26 +14,24 @@ import ( ) var ( - year = flag.Int("year", 0, "copyright year") file = flag.String("file", "", "file to modify") ) func usage() { fmt.Fprintf(os.Stderr, ` -usage: addlicense -year YEAR -file FILE +usage: addlicense -file FILE `[1:]) flag.PrintDefaults() fmt.Fprintf(os.Stderr, ` -addlicense adds a Tailscale license to the beginning of file, -using year as the copyright year. +addlicense adds a Tailscale license to the beginning of file. It is intended for use with 'go generate', so it also runs a subcommand, which presumably creates the file. Sample usage: -addlicense -year 2021 -file pull_strings.go stringer -type=pull +addlicense -file pull_strings.go stringer -type=pull `[1:]) os.Exit(2) } @@ -53,7 +51,7 @@ func main() { check(err) f, err := os.OpenFile(*file, os.O_TRUNC|os.O_WRONLY, 0644) check(err) - _, err = fmt.Fprintf(f, license, *year) + _, err = fmt.Fprint(f, license) check(err) _, err = f.Write(b) check(err) @@ -69,8 +67,7 @@ func check(err error) { } var license = ` -// Copyright (c) %d Tailscale Inc & AUTHORS All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. +// Copyright (c) Tailscale Inc & AUTHORS +// SPDX-License-Identifier: BSD-3-Clause `[1:] diff --git a/cmd/cloner/cloner.go b/cmd/cloner/cloner.go index 37c8a30a5..11ee55078 100644 --- a/cmd/cloner/cloner.go +++ b/cmd/cloner/cloner.go @@ -79,7 +79,7 @@ func main() { w("}") } cloneOutput := pkg.Name + "_clone.go" - if err := codegen.WritePackageFile("tailscale.com/cmd/cloner", pkg, cloneOutput, codegen.CopyrightYear("."), it, buf); err != nil { + if err := codegen.WritePackageFile("tailscale.com/cmd/cloner", pkg, cloneOutput, it, buf); err != nil { log.Fatal(err) } } diff --git a/cmd/viewer/viewer.go b/cmd/viewer/viewer.go index 058d107fc..0dc0b1dfb 100644 --- a/cmd/viewer/viewer.go +++ b/cmd/viewer/viewer.go @@ -383,7 +383,7 @@ func main() { genView(buf, it, typ, pkg.Types) } out := pkg.Name + "_view.go" - if err := codegen.WritePackageFile("tailscale/cmd/viewer", pkg, out, codegen.CopyrightYear("."), it, buf); err != nil { + if err := codegen.WritePackageFile("tailscale/cmd/viewer", pkg, out, it, buf); err != nil { log.Fatal(err) } if runCloner { diff --git a/derp/derp_server.go b/derp/derp_server.go index 1f1c22650..7714943cb 100644 --- a/derp/derp_server.go +++ b/derp/derp_server.go @@ -955,7 +955,7 @@ func (c *sclient) handleFrameSendPacket(ft frameType, fl uint32) error { // dropReason is why we dropped a DERP frame. type dropReason int -//go:generate go run tailscale.com/cmd/addlicense -year 2021 -file dropreason_string.go go run golang.org/x/tools/cmd/stringer -type=dropReason -trimprefix=dropReason +//go:generate go run tailscale.com/cmd/addlicense -file dropreason_string.go go run golang.org/x/tools/cmd/stringer -type=dropReason -trimprefix=dropReason const ( dropReasonUnknownDest dropReason = iota // unknown destination pubkey diff --git a/net/portmapper/pcp.go b/net/portmapper/pcp.go index 455b7f471..c1d62b02b 100644 --- a/net/portmapper/pcp.go +++ b/net/portmapper/pcp.go @@ -17,7 +17,7 @@ import ( // https://www.rfc-editor.org/rfc/pdfrfc/rfc6887.txt.pdf // https://tools.ietf.org/html/rfc6887 -//go:generate go run tailscale.com/cmd/addlicense -year 2021 -file pcpresultcode_string.go go run golang.org/x/tools/cmd/stringer -type=pcpResultCode -trimprefix=pcpCode +//go:generate go run tailscale.com/cmd/addlicense -file pcpresultcode_string.go go run golang.org/x/tools/cmd/stringer -type=pcpResultCode -trimprefix=pcpCode type pcpResultCode uint8 diff --git a/net/portmapper/portmapper.go b/net/portmapper/portmapper.go index 2e3fdacf1..8cb565b68 100644 --- a/net/portmapper/portmapper.go +++ b/net/portmapper/portmapper.go @@ -586,7 +586,7 @@ func (c *Client) createOrGetMapping(ctx context.Context) (external netip.AddrPor } } -//go:generate go run tailscale.com/cmd/addlicense -year 2021 -file pmpresultcode_string.go go run golang.org/x/tools/cmd/stringer -type=pmpResultCode -trimprefix=pmpCode +//go:generate go run tailscale.com/cmd/addlicense -file pmpresultcode_string.go go run golang.org/x/tools/cmd/stringer -type=pmpResultCode -trimprefix=pmpCode type pmpResultCode uint16 diff --git a/scripts/check_license_headers.sh b/scripts/check_license_headers.sh index 8b9cbbc30..89a243b63 100755 --- a/scripts/check_license_headers.sh +++ b/scripts/check_license_headers.sh @@ -9,17 +9,14 @@ check_file() { got=$1 - for year in `seq 2019 2023`; do - want=$(cat < year { - year = y - } - continue - } - if rxGenerated.Match(line) { - continue Files - } - } - } - return year -} diff --git a/wgengine/magicsock/magicsock.go b/wgengine/magicsock/magicsock.go index 5fb428f71..da756150a 100644 --- a/wgengine/magicsock/magicsock.go +++ b/wgengine/magicsock/magicsock.go @@ -4061,7 +4061,7 @@ func (de *endpoint) sendDiscoPing(ep netip.AddrPort, discoKey key.DiscoPublic, t // discoPingPurpose is the reason why a discovery ping message was sent. type discoPingPurpose int -//go:generate go run tailscale.com/cmd/addlicense -year 2020 -file discopingpurpose_string.go go run golang.org/x/tools/cmd/stringer -type=discoPingPurpose -trimprefix=ping +//go:generate go run tailscale.com/cmd/addlicense -file discopingpurpose_string.go go run golang.org/x/tools/cmd/stringer -type=discoPingPurpose -trimprefix=ping const ( // pingDiscovery means that purpose of a ping was to see if a // path was valid.