From 7d5cebef8621aca57f9a9347cd5fbcda5e5ba46d Mon Sep 17 00:00:00 2001 From: Zach Hoffman Date: Tue, 11 Jul 2023 15:00:47 -0600 Subject: [PATCH] Revert "Fix status code and alert structure for sslkeys endpoint, when no ssl keys are present. (#7595)" This reverts commit 1e399912855f9a96b26aa51e5a9a7ad3cd62e3a1. --- CHANGELOG.md | 1 - .../api/v5/deliveryservices_keys_test.go | 1 + .../deliveryservice/keys.go | 25 +++---------------- .../deliveryservice/sslkeys.go | 4 +-- .../backends/postgres/postgres.go | 2 +- 5 files changed, 7 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2365a34d47..faa26aeb8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -128,7 +128,6 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - [#7425](https://github.com/apache/trafficcontrol/pull/7425) *Traffic Control Cache Config (t3c)* Fixed issue with layered profile iteration being done in the wrong order. - [#6385](https://github.com/apache/trafficcontrol/issues/6385) *Traffic Ops* Reserved consistentHashQueryParameters cause internal server error - [#7471](https://github.com/apache/trafficcontrol/pull/7471) *Traffic Control Cache Config (t3c)* Fixed issue with MSO non topo origins from multiple cache groups. -- [#4393](https://github.com/apache/trafficcontrol/issues/4393) *Traffic Ops* Fixed the error code and alert structure when TO is queried for a delivery service with no ssl keys. - [#7590](https://github.com/apache/trafficcontrol/issues/7590) *Traffic Control Cache Config (t3c)* Fixed issue with git detected dubious ownership in repository. - [#7575](https://github.com/apache/trafficcontrol/pull/7575) *Traffic Ops* Fixes `types` v5 apis to respond with `RFC3339` date/time Format. - [#7628](https://github.com/apache/trafficcontrol/pull/7628) *Traffic Ops* Fixes an issue where certificate chain validation failed based on leading or trailing whitespace. diff --git a/traffic_ops/testing/api/v5/deliveryservices_keys_test.go b/traffic_ops/testing/api/v5/deliveryservices_keys_test.go index 47b1d9cc50..54b0775d5b 100644 --- a/traffic_ops/testing/api/v5/deliveryservices_keys_test.go +++ b/traffic_ops/testing/api/v5/deliveryservices_keys_test.go @@ -380,6 +380,7 @@ func VerifySSLKeysOnDsCreationTest(t *testing.T) { break } } + if err != nil || dsSSLKey == nil { t.Fatalf("unable to get DS %s SSL key: %v", ds.XMLID, err) } diff --git a/traffic_ops/traffic_ops_golang/deliveryservice/keys.go b/traffic_ops/traffic_ops_golang/deliveryservice/keys.go index 645ccae6e5..2017fa78ce 100644 --- a/traffic_ops/traffic_ops_golang/deliveryservice/keys.go +++ b/traffic_ops/traffic_ops_golang/deliveryservice/keys.go @@ -187,26 +187,12 @@ func GetSSLKeysByXMLID(w http.ResponseWriter, r *http.Request) { return } - var userError error - sc := http.StatusInternalServerError - logAlert := true keyObjV4, err := getSslKeys(inf, r.Context()) if err != nil { - userError = api.LogErr(r, sc, nil, err) - if err == sql.ErrNoRows { - if inf.Version.GreaterThanOrEqualTo(&api.Version{Major: 5, Minor: 0}) { - sc = http.StatusNotFound - userError = api.LogErr(r, sc, errors.New("no ssl keys for XML ID "+xmlID), nil) - } else { - // For versions lesser than 5.0, don't log an alert if the error is ErrNoRows. This is for backward compatibility reasons. - logAlert = false - } - } - if logAlert { - alerts.AddNewAlert(tc.ErrorLevel, userError.Error()) - api.WriteAlerts(w, r, sc, alerts) - return - } + userErr := api.LogErr(r, http.StatusInternalServerError, nil, err) + alerts.AddNewAlert(tc.ErrorLevel, userErr.Error()) + api.WriteAlerts(w, r, http.StatusInternalServerError, alerts) + return } var keyObj interface{} @@ -230,9 +216,6 @@ func getSslKeys(inf *api.APIInfo, ctx context.Context) (tc.DeliveryServiceSSLKey keyObjFromTv, ok, err := inf.Vault.GetDeliveryServiceSSLKeys(xmlID, version, inf.Tx.Tx, ctx) if err != nil { - if err == sql.ErrNoRows { - return tc.DeliveryServiceSSLKeysV4{}, err - } return tc.DeliveryServiceSSLKeysV4{}, errors.New("getting ssl keys: " + err.Error()) } keyObj := tc.DeliveryServiceSSLKeysV4{} diff --git a/traffic_ops/traffic_ops_golang/deliveryservice/sslkeys.go b/traffic_ops/traffic_ops_golang/deliveryservice/sslkeys.go index 38402e9cf0..f3a133c066 100644 --- a/traffic_ops/traffic_ops_golang/deliveryservice/sslkeys.go +++ b/traffic_ops/traffic_ops_golang/deliveryservice/sslkeys.go @@ -122,9 +122,7 @@ func GeneratePlaceholderSelfSignedCert(ds tc.DeliveryServiceV5, inf *api.APIInfo tv := inf.Vault _, ok, err := tv.GetDeliveryServiceSSLKeys(ds.XMLID, "", tx, context) if err != nil { - if err != sql.ErrNoRows { - return fmt.Errorf("getting latest ssl keys for XMLID '%s': %w", ds.XMLID, err), http.StatusInternalServerError - } + return fmt.Errorf("getting latest ssl keys for XMLID '%s': %w", ds.XMLID, err), http.StatusInternalServerError } if ok { return nil, http.StatusOK diff --git a/traffic_ops/traffic_ops_golang/trafficvault/backends/postgres/postgres.go b/traffic_ops/traffic_ops_golang/trafficvault/backends/postgres/postgres.go index 1499882d30..b1bdc1b394 100644 --- a/traffic_ops/traffic_ops_golang/trafficvault/backends/postgres/postgres.go +++ b/traffic_ops/traffic_ops_golang/trafficvault/backends/postgres/postgres.go @@ -138,7 +138,7 @@ func (p *Postgres) GetDeliveryServiceSSLKeys(xmlID string, version string, tx *s err = tvTx.QueryRow(query, xmlID, version).Scan(&encryptedSslKeys) if err != nil { if err == sql.ErrNoRows { - return tc.DeliveryServiceSSLKeysV15{}, false, err + return tc.DeliveryServiceSSLKeysV15{}, false, nil } e := checkErrWithContext("Traffic Vault PostgreSQL: executing SELECT SSL Keys query", err, ctx.Err()) return tc.DeliveryServiceSSLKeysV15{}, false, e