summaryrefslogtreecommitdiff
path: root/user/gitlab-runner/posix-shell-escape.patch
diff options
context:
space:
mode:
Diffstat (limited to 'user/gitlab-runner/posix-shell-escape.patch')
-rw-r--r--user/gitlab-runner/posix-shell-escape.patch139
1 files changed, 0 insertions, 139 deletions
diff --git a/user/gitlab-runner/posix-shell-escape.patch b/user/gitlab-runner/posix-shell-escape.patch
deleted file mode 100644
index b454141ed..000000000
--- a/user/gitlab-runner/posix-shell-escape.patch
+++ /dev/null
@@ -1,139 +0,0 @@
---- gitlab-runner-v12.1.0/helpers/shell_escape.go 2019-07-19 12:13:32.000000000 +0000
-+++ gitlab-runner-v12.1.0/helpers/shell_escape.go 2020-04-26 23:12:59.813309281 +0000
-@@ -4,7 +4,6 @@ package helpers
-
- import (
- "bytes"
-- "encoding/hex"
- "strings"
- )
-
-@@ -13,35 +12,10 @@ import (
- */
-
- const (
-- ACK = 6
-- TAB = 9
-- LF = 10
-- CR = 13
-- US = 31
-- SPACE = 32
-- AMPERSTAND = 38
- SINGLE_QUOTE = 39
-- PLUS = 43
-- NINE = 57
-- QUESTION = 63
-- LOWERCASE_Z = 90
-- OPEN_BRACKET = 91
- BACKSLASH = 92
-- UNDERSCORE = 95
-- CLOSE_BRACKET = 93
-- BACKTICK = 96
-- TILDA = 126
-- DEL = 127
- )
-
--// ShellEscape is taken from https://github.com/solidsnack/shell-escape/blob/master/Text/ShellEscape/Bash.hs
--/*
--A Bash escaped string. The strings are wrapped in @$\'...\'@ if any
--bytes within them must be escaped; otherwise, they are left as is.
--Newlines and other control characters are represented as ANSI escape
--sequences. High bytes are represented as hex codes. Thus Bash escaped
--strings will always fit on one line and never contain non-ASCII bytes.
--*/
- func ShellEscape(str string) string {
- if str == "" {
- return "''"
-@@ -50,85 +24,20 @@ func ShellEscape(str string) string {
- out := bytes.NewBuffer(make([]byte, 0, len(str)*2))
- i := 0
- l := len(in)
-- escape := false
--
-- hex := func(char byte) {
-- escape = true
--
-- data := []byte{BACKSLASH, 'x', 0, 0}
-- hex.Encode(data[2:], []byte{char})
-- out.Write(data)
-- }
--
-- backslash := func(char byte) {
-- escape = true
-- out.Write([]byte{BACKSLASH, char})
-- }
--
-- escaped := func(str string) {
-- escape = true
-- out.WriteString(str)
-- }
--
-- quoted := func(char byte) {
-- escape = true
-- out.WriteByte(char)
-- }
--
-- literal := func(char byte) {
-- out.WriteByte(char)
-- }
-
-+ out.WriteByte(SINGLE_QUOTE)
- for i < l {
- char := in[i]
-- switch {
-- case char == TAB:
-- escaped(`\t`)
-- case char == LF:
-- escaped(`\n`)
-- case char == CR:
-- escaped(`\r`)
-- case char <= US:
-- hex(char)
-- case char <= AMPERSTAND:
-- quoted(char)
-- case char == SINGLE_QUOTE:
-- backslash(char)
-- case char <= PLUS:
-- quoted(char)
-- case char <= NINE:
-- literal(char)
-- case char <= QUESTION:
-- quoted(char)
-- case char <= LOWERCASE_Z:
-- literal(char)
-- case char == OPEN_BRACKET:
-- quoted(char)
-- case char == BACKSLASH:
-- backslash(char)
-- case char <= CLOSE_BRACKET:
-- quoted(char)
-- case char == UNDERSCORE:
-- literal(char)
-- case char <= BACKTICK:
-- quoted(char)
-- case char <= TILDA:
-- quoted(char)
-- case char == DEL:
-- hex(char)
-- default:
-- hex(char)
-+ if (char == SINGLE_QUOTE) {
-+ out.Write([]byte{SINGLE_QUOTE, BACKSLASH, SINGLE_QUOTE, SINGLE_QUOTE})
-+ } else {
-+ out.WriteByte(char)
- }
- i++
- }
-+ out.WriteByte(SINGLE_QUOTE)
-
-- outStr := out.String()
--
-- if escape {
-- outStr = "$'" + outStr + "'"
-- }
--
-- return outStr
-+ return out.String()
- }
-
- func ToBackslash(path string) string {