diff options
| author | Raul Benencia <46945030+raul-te@users.noreply.github.com> | 2023-01-04 16:16:10 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-04 16:16:10 -0800 |
| commit | 5278665a4dab4d90c7aac56aa76ce2c24705da8c (patch) | |
| tree | 070fa7e79bb7d031797ed3c60d6f6745ee4b8689 /vendor/github.com/go-logfmt/logfmt | |
| parent | 1c79728984af1b0b065ce5879581f41fa9f03da3 (diff) | |
build: update dependencies
Diffstat (limited to 'vendor/github.com/go-logfmt/logfmt')
| -rw-r--r-- | vendor/github.com/go-logfmt/logfmt/.gitignore | 5 | ||||
| -rw-r--r-- | vendor/github.com/go-logfmt/logfmt/.travis.yml | 15 | ||||
| -rw-r--r-- | vendor/github.com/go-logfmt/logfmt/CHANGELOG.md | 48 | ||||
| -rw-r--r-- | vendor/github.com/go-logfmt/logfmt/README.md | 66 | ||||
| -rw-r--r-- | vendor/github.com/go-logfmt/logfmt/decode.go | 6 | ||||
| -rw-r--r-- | vendor/github.com/go-logfmt/logfmt/encode.go | 39 | ||||
| -rw-r--r-- | vendor/github.com/go-logfmt/logfmt/fuzz.go | 126 | ||||
| -rw-r--r-- | vendor/github.com/go-logfmt/logfmt/go.mod | 3 |
8 files changed, 108 insertions, 200 deletions
diff --git a/vendor/github.com/go-logfmt/logfmt/.gitignore b/vendor/github.com/go-logfmt/logfmt/.gitignore index 320e53e..1d74e21 100644 --- a/vendor/github.com/go-logfmt/logfmt/.gitignore +++ b/vendor/github.com/go-logfmt/logfmt/.gitignore @@ -1,4 +1 @@ -_testdata/ -_testdata2/ -logfmt-fuzz.zip -logfmt.test.exe +.vscode/ diff --git a/vendor/github.com/go-logfmt/logfmt/.travis.yml b/vendor/github.com/go-logfmt/logfmt/.travis.yml deleted file mode 100644 index b599f65..0000000 --- a/vendor/github.com/go-logfmt/logfmt/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -language: go -sudo: false -go: - - 1.3 - - 1.4 - - 1.5 - - 1.6 - - tip - -before_install: - - go get github.com/mattn/goveralls - - go get golang.org/x/tools/cmd/cover - -script: - - goveralls -service=travis-ci diff --git a/vendor/github.com/go-logfmt/logfmt/CHANGELOG.md b/vendor/github.com/go-logfmt/logfmt/CHANGELOG.md new file mode 100644 index 0000000..1a9a27b --- /dev/null +++ b/vendor/github.com/go-logfmt/logfmt/CHANGELOG.md @@ -0,0 +1,48 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [0.5.0] - 2020-01-03 + +### Changed +- Remove the dependency on github.com/kr/logfmt by [@ChrisHines] +- Move fuzz code to github.com/go-logfmt/fuzzlogfmt by [@ChrisHines] + +## [0.4.0] - 2018-11-21 + +### Added +- Go module support by [@ChrisHines] +- CHANGELOG by [@ChrisHines] + +### Changed +- Drop invalid runes from keys instead of returning ErrInvalidKey by [@ChrisHines] +- On panic while printing, attempt to print panic value by [@bboreham] + +## [0.3.0] - 2016-11-15 +### Added +- Pool buffers for quoted strings and byte slices by [@nussjustin] +### Fixed +- Fuzz fix, quote invalid UTF-8 values by [@judwhite] + +## [0.2.0] - 2016-05-08 +### Added +- Encoder.EncodeKeyvals by [@ChrisHines] + +## [0.1.0] - 2016-03-28 +### Added +- Encoder by [@ChrisHines] +- Decoder by [@ChrisHines] +- MarshalKeyvals by [@ChrisHines] + +[0.5.0]: https://github.com/go-logfmt/logfmt/compare/v0.4.0...v0.5.0 +[0.4.0]: https://github.com/go-logfmt/logfmt/compare/v0.3.0...v0.4.0 +[0.3.0]: https://github.com/go-logfmt/logfmt/compare/v0.2.0...v0.3.0 +[0.2.0]: https://github.com/go-logfmt/logfmt/compare/v0.1.0...v0.2.0 +[0.1.0]: https://github.com/go-logfmt/logfmt/commits/v0.1.0 + +[@ChrisHines]: https://github.com/ChrisHines +[@bboreham]: https://github.com/bboreham +[@judwhite]: https://github.com/judwhite +[@nussjustin]: https://github.com/nussjustin diff --git a/vendor/github.com/go-logfmt/logfmt/README.md b/vendor/github.com/go-logfmt/logfmt/README.md index 3a8f10b..8e48fcd 100644 --- a/vendor/github.com/go-logfmt/logfmt/README.md +++ b/vendor/github.com/go-logfmt/logfmt/README.md @@ -1,33 +1,33 @@ -[](https://godoc.org/github.com/go-logfmt/logfmt) -[](https://goreportcard.com/report/go-logfmt/logfmt) -[](https://travis-ci.org/go-logfmt/logfmt) -[](https://coveralls.io/github/go-logfmt/logfmt?branch=master) - -# logfmt - -Package logfmt implements utilities to marshal and unmarshal data in the [logfmt -format](https://brandur.org/logfmt). It provides an API similar to -[encoding/json](http://golang.org/pkg/encoding/json/) and -[encoding/xml](http://golang.org/pkg/encoding/xml/). - -The logfmt format was first documented by Brandur Leach in [this -article](https://brandur.org/logfmt). The format has not been formally -standardized. The most authoritative public specification to date has been the -documentation of a Go Language [package](http://godoc.org/github.com/kr/logfmt) -written by Blake Mizerany and Keith Rarick. - -## Goals - -This project attempts to conform as closely as possible to the prior art, while -also removing ambiguity where necessary to provide well behaved encoder and -decoder implementations. - -## Non-goals - -This project does not attempt to formally standardize the logfmt format. In the -event that logfmt is standardized this project would take conforming to the -standard as a goal. - -## Versioning - -Package logfmt publishes releases via [semver](http://semver.org/) compatible Git tags prefixed with a single 'v'. +[](https://pkg.go.dev/github.com/go-logfmt/logfmt)
+[](https://goreportcard.com/report/go-logfmt/logfmt)
+[](https://github.com/go-logfmt/logfmt/actions/workflows/test.yml)
+[](https://coveralls.io/github/go-logfmt/logfmt?branch=master)
+
+# logfmt
+
+Package logfmt implements utilities to marshal and unmarshal data in the [logfmt
+format](https://brandur.org/logfmt). It provides an API similar to
+[encoding/json](http://golang.org/pkg/encoding/json/) and
+[encoding/xml](http://golang.org/pkg/encoding/xml/).
+
+The logfmt format was first documented by Brandur Leach in [this
+article](https://brandur.org/logfmt). The format has not been formally
+standardized. The most authoritative public specification to date has been the
+documentation of a Go Language [package](http://godoc.org/github.com/kr/logfmt)
+written by Blake Mizerany and Keith Rarick.
+
+## Goals
+
+This project attempts to conform as closely as possible to the prior art, while
+also removing ambiguity where necessary to provide well behaved encoder and
+decoder implementations.
+
+## Non-goals
+
+This project does not attempt to formally standardize the logfmt format. In the
+event that logfmt is standardized this project would take conforming to the
+standard as a goal.
+
+## Versioning
+
+Package logfmt publishes releases via [semver](http://semver.org/) compatible Git tags prefixed with a single 'v'.
diff --git a/vendor/github.com/go-logfmt/logfmt/decode.go b/vendor/github.com/go-logfmt/logfmt/decode.go index 04e0eff..2013708 100644 --- a/vendor/github.com/go-logfmt/logfmt/decode.go +++ b/vendor/github.com/go-logfmt/logfmt/decode.go @@ -79,7 +79,7 @@ key: dec.pos += p if dec.pos > start { dec.key = line[start:dec.pos] - if multibyte && bytes.IndexRune(dec.key, utf8.RuneError) != -1 { + if multibyte && bytes.ContainsRune(dec.key, utf8.RuneError) { dec.syntaxError(invalidKeyError) return false } @@ -97,7 +97,7 @@ key: dec.pos += p if dec.pos > start { dec.key = line[start:dec.pos] - if multibyte && bytes.IndexRune(dec.key, utf8.RuneError) != -1 { + if multibyte && bytes.ContainsRune(dec.key, utf8.RuneError) { dec.syntaxError(invalidKeyError) return false } @@ -110,7 +110,7 @@ key: dec.pos = len(line) if dec.pos > start { dec.key = line[start:dec.pos] - if multibyte && bytes.IndexRune(dec.key, utf8.RuneError) != -1 { + if multibyte && bytes.ContainsRune(dec.key, utf8.RuneError) { dec.syntaxError(invalidKeyError) return false } diff --git a/vendor/github.com/go-logfmt/logfmt/encode.go b/vendor/github.com/go-logfmt/logfmt/encode.go index 55f1603..4ea9d23 100644 --- a/vendor/github.com/go-logfmt/logfmt/encode.go +++ b/vendor/github.com/go-logfmt/logfmt/encode.go @@ -110,8 +110,8 @@ func (e *MarshalerError) Error() string { // a nil interface or pointer value. var ErrNilKey = errors.New("nil key") -// ErrInvalidKey is returned by Marshal functions and Encoder methods if a key -// contains an invalid character. +// ErrInvalidKey is returned by Marshal functions and Encoder methods if, after +// dropping invalid runes, a key is empty. var ErrInvalidKey = errors.New("invalid key") // ErrUnsupportedKeyType is returned by Encoder methods if a key has an @@ -165,31 +165,32 @@ func writeKey(w io.Writer, key interface{}) error { } } -func invalidKeyRune(r rune) bool { - return r <= ' ' || r == '=' || r == '"' || r == utf8.RuneError -} - -func invalidKeyString(key string) bool { - return len(key) == 0 || strings.IndexFunc(key, invalidKeyRune) != -1 -} - -func invalidKey(key []byte) bool { - return len(key) == 0 || bytes.IndexFunc(key, invalidKeyRune) != -1 +// keyRuneFilter returns r for all valid key runes, and -1 for all invalid key +// runes. When used as the mapping function for strings.Map and bytes.Map +// functions it causes them to remove invalid key runes from strings or byte +// slices respectively. +func keyRuneFilter(r rune) rune { + if r <= ' ' || r == '=' || r == '"' || r == utf8.RuneError { + return -1 + } + return r } func writeStringKey(w io.Writer, key string) error { - if invalidKeyString(key) { + k := strings.Map(keyRuneFilter, key) + if k == "" { return ErrInvalidKey } - _, err := io.WriteString(w, key) + _, err := io.WriteString(w, k) return err } func writeBytesKey(w io.Writer, key []byte) error { - if invalidKey(key) { + k := bytes.Map(keyRuneFilter, key) + if len(k) == 0 { return ErrInvalidKey } - _, err := w.Write(key) + _, err := w.Write(k) return err } @@ -278,7 +279,7 @@ func safeError(err error) (s string, ok bool) { if v := reflect.ValueOf(err); v.Kind() == reflect.Ptr && v.IsNil() { s, ok = "null", false } else { - panic(panicVal) + s, ok = fmt.Sprintf("PANIC:%v", panicVal), false } } }() @@ -292,7 +293,7 @@ func safeString(str fmt.Stringer) (s string, ok bool) { if v := reflect.ValueOf(str); v.Kind() == reflect.Ptr && v.IsNil() { s, ok = "null", false } else { - panic(panicVal) + s, ok = fmt.Sprintf("PANIC:%v", panicVal), true } } }() @@ -306,7 +307,7 @@ func safeMarshal(tm encoding.TextMarshaler) (b []byte, err error) { if v := reflect.ValueOf(tm); v.Kind() == reflect.Ptr && v.IsNil() { b, err = nil, nil } else { - panic(panicVal) + b, err = nil, fmt.Errorf("panic when marshalling: %s", panicVal) } } }() diff --git a/vendor/github.com/go-logfmt/logfmt/fuzz.go b/vendor/github.com/go-logfmt/logfmt/fuzz.go deleted file mode 100644 index 6553b35..0000000 --- a/vendor/github.com/go-logfmt/logfmt/fuzz.go +++ /dev/null @@ -1,126 +0,0 @@ -// +build gofuzz - -package logfmt - -import ( - "bufio" - "bytes" - "fmt" - "io" - "reflect" - - kr "github.com/kr/logfmt" -) - -// Fuzz checks reserialized data matches -func Fuzz(data []byte) int { - parsed, err := parse(data) - if err != nil { - return 0 - } - var w1 bytes.Buffer - if err = write(parsed, &w1); err != nil { - panic(err) - } - parsed, err = parse(w1.Bytes()) - if err != nil { - panic(err) - } - var w2 bytes.Buffer - if err = write(parsed, &w2); err != nil { - panic(err) - } - if !bytes.Equal(w1.Bytes(), w2.Bytes()) { - panic(fmt.Sprintf("reserialized data does not match:\n%q\n%q\n", w1.Bytes(), w2.Bytes())) - } - return 1 -} - -// FuzzVsKR checks go-logfmt/logfmt against kr/logfmt -func FuzzVsKR(data []byte) int { - parsed, err := parse(data) - parsedKR, errKR := parseKR(data) - - // github.com/go-logfmt/logfmt is a stricter parser. It returns errors for - // more inputs than github.com/kr/logfmt. Ignore any inputs that have a - // stict error. - if err != nil { - return 0 - } - - // Fail if the more forgiving parser finds an error not found by the - // stricter parser. - if errKR != nil { - panic(fmt.Sprintf("unmatched error: %v", errKR)) - } - - if !reflect.DeepEqual(parsed, parsedKR) { - panic(fmt.Sprintf("parsers disagree:\n%+v\n%+v\n", parsed, parsedKR)) - } - return 1 -} - -type kv struct { - k, v []byte -} - -func parse(data []byte) ([][]kv, error) { - var got [][]kv - dec := NewDecoder(bytes.NewReader(data)) - for dec.ScanRecord() { - var kvs []kv - for dec.ScanKeyval() { - kvs = append(kvs, kv{dec.Key(), dec.Value()}) - } - got = append(got, kvs) - } - return got, dec.Err() -} - -func parseKR(data []byte) ([][]kv, error) { - var ( - s = bufio.NewScanner(bytes.NewReader(data)) - err error - h saveHandler - got [][]kv - ) - for err == nil && s.Scan() { - h.kvs = nil - err = kr.Unmarshal(s.Bytes(), &h) - got = append(got, h.kvs) - } - if err == nil { - err = s.Err() - } - return got, err -} - -type saveHandler struct { - kvs []kv -} - -func (h *saveHandler) HandleLogfmt(key, val []byte) error { - if len(key) == 0 { - key = nil - } - if len(val) == 0 { - val = nil - } - h.kvs = append(h.kvs, kv{key, val}) - return nil -} - -func write(recs [][]kv, w io.Writer) error { - enc := NewEncoder(w) - for _, rec := range recs { - for _, f := range rec { - if err := enc.EncodeKeyval(f.k, f.v); err != nil { - return err - } - } - if err := enc.EndRecord(); err != nil { - return err - } - } - return nil -} diff --git a/vendor/github.com/go-logfmt/logfmt/go.mod b/vendor/github.com/go-logfmt/logfmt/go.mod new file mode 100644 index 0000000..c6fe10b --- /dev/null +++ b/vendor/github.com/go-logfmt/logfmt/go.mod @@ -0,0 +1,3 @@ +module github.com/go-logfmt/logfmt + +go 1.17 |
