From 11f37f464906d3e7df0bd58bfd39e5e037cf1880 Mon Sep 17 00:00:00 2001 From: Avinil Bedarkar <111761529+avinilcode@users.noreply.github.com> Date: Sun, 16 Oct 2022 18:28:13 +0530 Subject: [PATCH] Converting all inputs which are coming as secret to lowercase (#1276) Closes #926 Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com> --- cli/secret/secret_add.go | 3 ++- cli/secret/secret_set.go | 3 ++- server/api/repo_secret.go | 3 ++- .../008_secrets_update_secret_name.go | 27 +++++++++++++++++++ server/store/datastore/migration/migration.go | 1 + 5 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 server/store/datastore/migration/008_secrets_update_secret_name.go diff --git a/cli/secret/secret_add.go b/cli/secret/secret_add.go index 7b0f53afb..dce537cc7 100644 --- a/cli/secret/secret_add.go +++ b/cli/secret/secret_add.go @@ -50,8 +50,9 @@ func secretCreate(c *cli.Context) error { if err != nil { return err } + secret := &woodpecker.Secret{ - Name: c.String("name"), + Name: strings.ToLower(c.String("name")), Value: c.String("value"), Images: c.StringSlice("image"), Events: c.StringSlice("event"), diff --git a/cli/secret/secret_set.go b/cli/secret/secret_set.go index 8449604ef..f6ef93811 100644 --- a/cli/secret/secret_set.go +++ b/cli/secret/secret_set.go @@ -50,8 +50,9 @@ func secretUpdate(c *cli.Context) error { if err != nil { return err } + secret := &woodpecker.Secret{ - Name: c.String("name"), + Name: strings.ToLower(c.String("name")), Value: c.String("value"), Images: c.StringSlice("image"), Events: c.StringSlice("event"), diff --git a/server/api/repo_secret.go b/server/api/repo_secret.go index bc4b32831..d9cb4e423 100644 --- a/server/api/repo_secret.go +++ b/server/api/repo_secret.go @@ -16,6 +16,7 @@ package api import ( "net/http" + "strings" "github.com/gin-gonic/gin" @@ -50,7 +51,7 @@ func PostSecret(c *gin.Context) { } secret := &model.Secret{ RepoID: repo.ID, - Name: in.Name, + Name: strings.ToLower(in.Name), Value: in.Value, Events: in.Events, Images: in.Images, diff --git a/server/store/datastore/migration/008_secrets_update_secret_name.go b/server/store/datastore/migration/008_secrets_update_secret_name.go new file mode 100644 index 000000000..24dfabcd2 --- /dev/null +++ b/server/store/datastore/migration/008_secrets_update_secret_name.go @@ -0,0 +1,27 @@ +// Copyright 2022 Woodpecker Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package migration + +import ( + "xorm.io/xorm" +) + +var lowercaseSecretNames = task{ + name: "lowercase-secret-names", + fn: func(sess *xorm.Session) (err error) { + _, err = sess.Exec("UPDATE secrets SET secret_name = LOWER(secret_name);") + return err + }, +} diff --git a/server/store/datastore/migration/migration.go b/server/store/datastore/migration/migration.go index 95a61c026..5a616a69f 100644 --- a/server/store/datastore/migration/migration.go +++ b/server/store/datastore/migration/migration.go @@ -35,6 +35,7 @@ var migrationTasks = []*task{ &dropSenders, &alterTableLogUpdateColumnLogDataType, &alterTableSecretsAddUserCol, + &lowercaseSecretNames, } var allBeans = []interface{}{