From 360a6266c53ac2cfab715a1d864a2c1b44c0ff37 Mon Sep 17 00:00:00 2001 From: Tom Limoncelli Date: Tue, 25 Jan 2022 10:35:21 -0500 Subject: [PATCH] Revert "CLEANUP: Fix many golint/staticcheck issues" This reverts commit de64f90c51b2e6298f8d4a3b9beb1893d6cbb907. --- models/record.go | 1 - pkg/acme/acme.go | 1 - pkg/js/js.go | 2 +- pkg/normalize/validate.go | 16 ++++++------- providers/cloudflare/cloudflareProvider.go | 28 +++++++++++----------- providers/cscglobal/api.go | 4 +++- providers/cscglobal/cscglobalProvider.go | 2 +- providers/easyname/api.go | 2 +- providers/easyname/provider.go | 2 +- providers/hexonet/domains.go | 3 --- providers/opensrs/opensrsProvider.go | 7 ++++++ providers/route53/route53Provider.go | 20 ++++++++-------- providers/transip/transipProvider.go | 1 - 13 files changed, 46 insertions(+), 43 deletions(-) diff --git a/models/record.go b/models/record.go index bccd2c887..9bb5d6e24 100644 --- a/models/record.go +++ b/models/record.go @@ -452,7 +452,6 @@ func (recs Records) FQDNMap() (m map[string]bool) { return m } -// GetByType returns the records that match rtype typeName. func (recs Records) GetByType(typeName string) Records { results := Records{} for _, rec := range recs { diff --git a/pkg/acme/acme.go b/pkg/acme/acme.go index 31de71d4a..e8e26e4f9 100644 --- a/pkg/acme/acme.go +++ b/pkg/acme/acme.go @@ -181,7 +181,6 @@ func getCertInfo(pemBytes []byte) (names []string, remaining float64, err error) if err != nil { return nil, 0, err } - // FIXME(tlim): should use time.Until instead of t.Sub(time.Now()) (S1024) var daysLeft = float64(cert.NotAfter.Sub(time.Now())) / float64(time.Hour*24) return cert.DNSNames, daysLeft, nil } diff --git a/pkg/js/js.go b/pkg/js/js.go index 8a31ee257..da1b87b33 100644 --- a/pkg/js/js.go +++ b/pkg/js/js.go @@ -1,7 +1,7 @@ package js import ( - _ "embed" // Used to embed helpers.js in the binary. + _ "embed" "encoding/json" "fmt" "io/ioutil" diff --git a/pkg/normalize/validate.go b/pkg/normalize/validate.go index 5192dac5f..9f3b35ba8 100644 --- a/pkg/normalize/validate.go +++ b/pkg/normalize/validate.go @@ -497,14 +497,14 @@ func processSplitHorizonDomains(config *models.DNSConfig) error { return nil } -//// parseDomainSpec parses "domain.tld!tag" into its component parts. -//func parseDomainSpec(s string) (domain, tag string) { -// l := strings.SplitN(s, "!", 2) -// if len(l) == 2 { -// return l[0], l[1] -// } -// return l[0], "" -//} +// parseDomainSpec parses "domain.tld!tag" into its component parts. +func parseDomainSpec(s string) (domain, tag string) { + l := strings.SplitN(s, "!", 2) + if len(l) == 2 { + return l[0], l[1] + } + return l[0], "" +} func checkAutoDNSSEC(dc *models.DomainConfig) (errs []error) { if dc.AutoDNSSEC != "" && dc.AutoDNSSEC != "on" && dc.AutoDNSSEC != "off" { diff --git a/providers/cloudflare/cloudflareProvider.go b/providers/cloudflare/cloudflareProvider.go index 0b5b4cdd4..e1e4851e9 100644 --- a/providers/cloudflare/cloudflareProvider.go +++ b/providers/cloudflare/cloudflareProvider.go @@ -601,32 +601,32 @@ func (c cfTarget) FQDN() string { return strings.TrimRight(string(c), ".") + "." } -func (c *cloudflareProvider) nativeToRecord(domain string, cr cloudflare.DNSRecord) (*models.RecordConfig, error) { +func (cfp *cloudflareProvider) nativeToRecord(domain string, c cloudflare.DNSRecord) (*models.RecordConfig, error) { // normalize cname,mx,ns records with dots to be consistent with our config format. - if cr.Type == "CNAME" || cr.Type == "MX" || cr.Type == "NS" { - if cr.Content != "." { - cr.Content = cr.Content + "." + if c.Type == "CNAME" || c.Type == "MX" || c.Type == "NS" { + if c.Content != "." { + c.Content = c.Content + "." } } rc := &models.RecordConfig{ - TTL: uint32(cr.TTL), - Original: cr, + TTL: uint32(c.TTL), + Original: c, } - rc.SetLabelFromFQDN(cr.Name, domain) + rc.SetLabelFromFQDN(c.Name, domain) // workaround for https://github.com/StackExchange/dnscontrol/issues/446 - if cr.Type == "SPF" { - cr.Type = "TXT" + if c.Type == "SPF" { + c.Type = "TXT" } - switch rType := cr.Type; rType { // #rtype_variations + switch rType := c.Type; rType { // #rtype_variations case "MX": - if err := rc.SetTargetMX(*cr.Priority, cr.Content); err != nil { + if err := rc.SetTargetMX(*c.Priority, c.Content); err != nil { return nil, fmt.Errorf("unparsable MX record received from cloudflare: %w", err) } case "SRV": - data := cr.Data.(map[string]interface{}) + data := c.Data.(map[string]interface{}) target := data["target"].(string) if target != "." { target += "." @@ -636,7 +636,7 @@ func (c *cloudflareProvider) nativeToRecord(domain string, cr cloudflare.DNSReco return nil, fmt.Errorf("unparsable SRV record received from cloudflare: %w", err) } default: // "A", "AAAA", "ANAME", "CAA", "CNAME", "NS", "PTR", "TXT" - if err := rc.PopulateFromString(rType, cr.Content, domain); err != nil { + if err := rc.PopulateFromString(rType, c.Content, domain); err != nil { return nil, fmt.Errorf("unparsable record received from cloudflare: %w", err) } } @@ -670,7 +670,7 @@ func (c *cloudflareProvider) EnsureDomainExists(domain string) error { return err } -// PrepareCloudflareTestWorkers creates Cloudflare Workers required for CF_WORKER_ROUTE tests. +// PrepareCloudflareWorkers creates Cloudflare Workers required for CF_WORKER_ROUTE tests. func PrepareCloudflareTestWorkers(prv providers.DNSServiceProvider) error { cf, ok := prv.(*cloudflareProvider) if ok { diff --git a/providers/cscglobal/api.go b/providers/cscglobal/api.go index a5c2ae723..765ee7235 100644 --- a/providers/cscglobal/api.go +++ b/providers/cscglobal/api.go @@ -64,7 +64,9 @@ func (c *cscglobalProvider) getNameservers(domain string) ([]string, error) { var dr domainRecord json.Unmarshal(bodyString, &dr) ns := []string{} - ns = append(ns, dr.Nameserver...) + for _, nameserver := range dr.Nameserver { + ns = append(ns, nameserver) + } sort.Strings(ns) return ns, nil } diff --git a/providers/cscglobal/cscglobalProvider.go b/providers/cscglobal/cscglobalProvider.go index 15e3d4feb..38d983819 100644 --- a/providers/cscglobal/cscglobalProvider.go +++ b/providers/cscglobal/cscglobalProvider.go @@ -51,7 +51,7 @@ func (c *cscglobalProvider) GetRegistrarCorrections(dc *models.DomainConfig) ([] if ns.Name[len(ns.Name)-1] == '.' { // When this code was written ns.Name never included a single trailing dot. // If that changes, the code should change too. - return nil, fmt.Errorf("name server includes a trailing dot, has the API changed?") + return nil, fmt.Errorf("Name server includes a trailing dot, has the API changed?") } expected = append(expected, ns.Name) } diff --git a/providers/easyname/api.go b/providers/easyname/api.go index 83e1d1863..c55d1c479 100644 --- a/providers/easyname/api.go +++ b/providers/easyname/api.go @@ -38,7 +38,7 @@ type easynameDomainList struct { } type easynameDomain struct { - ID int `json:"id"` + Id int `json:"id"` Domain string `json:"domain"` NameServer1 string `json:"nameserver1"` NameServer2 string `json:"nameserver2"` diff --git a/providers/easyname/provider.go b/providers/easyname/provider.go index f9adcc010..37e177f2e 100644 --- a/providers/easyname/provider.go +++ b/providers/easyname/provider.go @@ -62,7 +62,7 @@ func (c *easynameProvider) GetRegistrarCorrections(dc *models.DomainConfig) ([]* { Msg: fmt.Sprintf("Update nameservers %s -> %s", foundNameservers, expectedNameservers), F: func() error { - return c.updateNameservers(expected, domain.ID) + return c.updateNameservers(expected, domain.Id) }, }, }, nil diff --git a/providers/hexonet/domains.go b/providers/hexonet/domains.go index 188b7b48d..4c9a33a4e 100644 --- a/providers/hexonet/domains.go +++ b/providers/hexonet/domains.go @@ -21,9 +21,6 @@ func (n *HXClient) EnsureDomainExists(domain string) error { } } else if code == 531 { return n.GetHXApiError("Not authorized to manage dnszone", domain, r) - // FIXME(tlim) go-staticcheck reports: - // identical expressions on the left and right side of the '||' operator (SA4000) - // Perhaps the right side should be n.IsError() or deleted? } else if r.IsError() || r.IsError() { return n.GetHXApiError("Error while checking status of dnszone", domain, r) } diff --git a/providers/opensrs/opensrsProvider.go b/providers/opensrs/opensrsProvider.go index cf680a87f..5784d6f2c 100644 --- a/providers/opensrs/opensrsProvider.go +++ b/providers/opensrs/opensrsProvider.go @@ -13,6 +13,13 @@ import ( opensrs "github.com/philhug/opensrs-go/opensrs" ) +var docNotes = providers.DocumentationNotes{ + providers.DocCreateDomains: providers.Cannot(), + providers.DocOfficiallySupported: providers.Cannot(), + providers.CanUseTLSA: providers.Cannot(), + providers.CanGetZones: providers.Unimplemented(), +} + func init() { providers.RegisterRegistrarType("OPENSRS", newReg) } diff --git a/providers/route53/route53Provider.go b/providers/route53/route53Provider.go index ae4fa392c..adf048fd0 100644 --- a/providers/route53/route53Provider.go +++ b/providers/route53/route53Provider.go @@ -29,7 +29,7 @@ type route53Provider struct { client *r53.Client registrar *r53d.Client delegationSet *string - zonesByID map[string]r53Types.HostedZone + zonesById map[string]r53Types.HostedZone zonesByDomain map[string]r53Types.HostedZone originalRecords []r53Types.ResourceRecordSet } @@ -132,7 +132,7 @@ func (r *route53Provider) ListZones() ([]string, error) { func (r *route53Provider) getZones() error { var nextMarker *string r.zonesByDomain = make(map[string]r53Types.HostedZone) - r.zonesByID = make(map[string]r53Types.HostedZone) + r.zonesById = make(map[string]r53Types.HostedZone) for { var out *r53.ListHostedZonesOutput var err error @@ -149,7 +149,7 @@ func (r *route53Provider) getZones() error { for _, z := range out.HostedZones { domain := strings.TrimSuffix(aws.ToString(z.Name), ".") r.zonesByDomain[domain] = z - r.zonesByID[parseZoneID(aws.ToString(z.Id))] = z + r.zonesById[parseZoneId(aws.ToString(z.Id))] = z } if out.NextMarker != nil { nextMarker = out.NextMarker @@ -165,7 +165,7 @@ type errDomainNoExist struct { } type errZoneNoExist struct { - zoneID string + zoneId string } func (e errDomainNoExist) Error() string { @@ -173,7 +173,7 @@ func (e errDomainNoExist) Error() string { } func (e errZoneNoExist) Error() string { - return fmt.Sprintf("Zone with id %s not found in your route 53 account", e.zoneID) + return fmt.Sprintf("Zone with id %s not found in your route 53 account", e.zoneId) } func (r *route53Provider) GetNameservers(domain string) ([]*models.Nameserver, error) { @@ -208,10 +208,10 @@ func (r *route53Provider) GetZoneRecords(domain string) (models.Records, error) } func (r *route53Provider) getZone(dc *models.DomainConfig) (r53Types.HostedZone, error) { - if zoneID, ok := dc.Metadata["zone_id"]; ok { - zone, ok := r.zonesByID[zoneID] + if zoneId, ok := dc.Metadata["zone_id"]; ok { + zone, ok := r.zonesById[zoneId] if !ok { - return r53Types.HostedZone{}, errZoneNoExist{zoneID} + return r53Types.HostedZone{}, errZoneNoExist{zoneId} } return zone, nil } @@ -516,11 +516,11 @@ func getZoneID(zone r53Types.HostedZone, r *models.RecordConfig) string { if zoneID == "" { zoneID = aws.ToString(zone.Id) } - return parseZoneID(zoneID) + return parseZoneId(zoneID) } /** Removes "/hostedzone/"" prefix from AWS ZoneId */ -func parseZoneID(zoneID string) string { +func parseZoneId(zoneID string) string { return strings.TrimPrefix(zoneID, "/hostedzone/") } diff --git a/providers/transip/transipProvider.go b/providers/transip/transipProvider.go index 9e6509777..b78d2413b 100644 --- a/providers/transip/transipProvider.go +++ b/providers/transip/transipProvider.go @@ -42,7 +42,6 @@ var features = providers.DocumentationNotes{ providers.DocOfficiallySupported: providers.Cannot(), } -// NewTransip creates a new TransIP provider. func NewTransip(m map[string]string, metadata json.RawMessage) (providers.DNSServiceProvider, error) { if m["AccessToken"] == "" && m["PrivateKey"] == "" {