From 4356d9e053b4ef2fa99988dc8e981a243f9a42d2 Mon Sep 17 00:00:00 2001 From: Victor Vrantchan Date: Thu, 23 Jun 2016 08:29:52 -0400 Subject: [PATCH] update deps --- glide.lock | 10 ++-- vendor/github.com/lib/pq/encode.go | 2 + vendor/github.com/lib/pq/encode_test.go | 11 +++++ vendor/github.com/pkg/errors/errors.go | 2 + vendor/github.com/pkg/errors/format_test.go | 10 ++-- vendor/golang.org/x/net/bpf/vm.go | 12 +++-- .../golang.org/x/net/bpf/vm_extension_test.go | 49 +++++++++++++++++++ .../golang.org/x/net/bpf/vm_instructions.go | 9 ++++ vendor/golang.org/x/net/http2/frame.go | 2 +- 9 files changed, 95 insertions(+), 12 deletions(-) create mode 100644 vendor/golang.org/x/net/bpf/vm_extension_test.go diff --git a/glide.lock b/glide.lock index ca9160fa..1a405557 100644 --- a/glide.lock +++ b/glide.lock @@ -1,5 +1,5 @@ hash: 9065f050a8e87468098f6df070622f57a29d2de83efebb67363efa781f612080 -updated: 2016-06-20T09:39:15.205205583-04:00 +updated: 2016-06-23T08:26:13.449606435-04:00 imports: - name: github.com/beorn7/perks version: 3ac7bf7a47d159a033b107610db8a1b6575507a4 @@ -48,7 +48,7 @@ imports: - name: github.com/kr/logfmt version: b84e30acd515aadc4b783ad4ff83aff3299bdfe0 - name: github.com/lib/pq - version: 55196ec83d60d789e27b2627549bf00974a70084 + version: e2402a7cd1e57e08a576b94cdfed36ae30366545 subpackages: - oid - name: github.com/matttproud/golang_protobuf_extensions @@ -58,9 +58,9 @@ imports: - name: github.com/micromdm/dep version: 38c81b11544f31c2be14e0b3bcfa12f656fcc709 - name: github.com/micromdm/mdm - version: b6ea880dd4375975f0887f5b1346ea67896e2621 + version: 3848d523aa33c6a9bd256c581c7ebd97047f0944 - name: github.com/pkg/errors - version: 0bc61eb85b3cab5d83c9432263916d5df58d9855 + version: cbd18b5440315aa74a17dee2e50b67675b872b49 - name: github.com/prometheus/client_golang version: 488edd04dc224ba64c401747cd0a4b5f05dfb234 subpackages: @@ -96,7 +96,7 @@ imports: - pkcs12 - pkcs12/internal/rc2 - name: golang.org/x/net - version: 8bf2b39827dbadfd566c4fae7a8790d12be8b23c + version: bc3663df0ac92f928d419e31e0d2af22e683a5a2 subpackages: - context - http2 diff --git a/vendor/github.com/lib/pq/encode.go b/vendor/github.com/lib/pq/encode.go index ec1039c3..2f968df0 100644 --- a/vendor/github.com/lib/pq/encode.go +++ b/vendor/github.com/lib/pq/encode.go @@ -83,6 +83,8 @@ func binaryDecode(parameterStatus *parameterStatus, s []byte, typ oid.Oid) inter func textDecode(parameterStatus *parameterStatus, s []byte, typ oid.Oid) interface{} { switch typ { + case oid.T_char, oid.T_varchar, oid.T_text: + return string(s) case oid.T_bytea: return parseBytea(s) case oid.T_timestamptz: diff --git a/vendor/github.com/lib/pq/encode_test.go b/vendor/github.com/lib/pq/encode_test.go index 984abbc9..1e89f7f6 100644 --- a/vendor/github.com/lib/pq/encode_test.go +++ b/vendor/github.com/lib/pq/encode_test.go @@ -575,6 +575,17 @@ func TestBinaryByteSliceToInt(t *testing.T) { } } +func TestTextDecodeIntoString(t *testing.T) { + input := []byte("hello world") + want := string(input) + for _, typ := range []oid.Oid{oid.T_char, oid.T_varchar, oid.T_text} { + got := decode(¶meterStatus{}, input, typ, formatText) + if got != want { + t.Errorf("invalid string decoding output for %T(%+v), got %v but expected %v", typ, typ, got, want) + } + } +} + func TestByteaOutputFormatEncoding(t *testing.T) { input := []byte("\\x\x00\x01\x02\xFF\xFEabcdefg0123") want := []byte("\\x5c78000102fffe6162636465666730313233") diff --git a/vendor/github.com/pkg/errors/errors.go b/vendor/github.com/pkg/errors/errors.go index 216b768b..053d9d38 100644 --- a/vendor/github.com/pkg/errors/errors.go +++ b/vendor/github.com/pkg/errors/errors.go @@ -152,6 +152,8 @@ func (w wrapper) Format(s fmt.State, verb rune) { fallthrough case 's': io.WriteString(s, w.Error()) + case 'q': + fmt.Fprintf(s, "%q", w.Error()) } } diff --git a/vendor/github.com/pkg/errors/format_test.go b/vendor/github.com/pkg/errors/format_test.go index a862087d..d1b2f1b3 100644 --- a/vendor/github.com/pkg/errors/format_test.go +++ b/vendor/github.com/pkg/errors/format_test.go @@ -83,6 +83,10 @@ func TestFormatWrap(t *testing.T) { Wrap(io.EOF, "error"), "%s", "error: EOF", + }, { + Wrap(New("error with space"), "context"), + "%q", + `"context: error with space"`, }} for _, tt := range tests { @@ -109,7 +113,7 @@ func TestFormatWrapf(t *testing.T) { "EOF\n" + "error\n" + "github.com/pkg/errors.TestFormatWrapf\n" + - "\t.+/github.com/pkg/errors/format_test.go:107", + "\t.+/github.com/pkg/errors/format_test.go:111", }, { Wrapf(New("error"), "error%d", 2), "%v", @@ -119,14 +123,14 @@ func TestFormatWrapf(t *testing.T) { "%+v", "error\n" + "github.com/pkg/errors.TestFormatWrapf\n" + - "\t.+/github.com/pkg/errors/format_test.go:118", + "\t.+/github.com/pkg/errors/format_test.go:122", }, { Wrap(Wrap(io.EOF, "error1"), "error2"), "%+v", "EOF\n" + "error1\n" + "github.com/pkg/errors.TestFormatWrapf\n" + - "\t.+/github.com/pkg/errors/format_test.go:124\n", + "\t.+/github.com/pkg/errors/format_test.go:128\n", }} for _, tt := range tests { diff --git a/vendor/golang.org/x/net/bpf/vm.go b/vendor/golang.org/x/net/bpf/vm.go index 957c95d3..4c656f1e 100644 --- a/vendor/golang.org/x/net/bpf/vm.go +++ b/vendor/golang.org/x/net/bpf/vm.go @@ -45,6 +45,13 @@ func NewVM(filter []Instruction) (*VM, error) { case ALUOpDiv, ALUOpMod: return nil, errors.New("cannot divide by zero using ALUOpConstant") } + // Check for unknown extensions + case LoadExtension: + switch ins.Num { + case ExtLen: + default: + return nil, fmt.Errorf("extension %d not implemented", ins.Num) + } } } @@ -84,9 +91,6 @@ func (v *VM) Run(in []byte) (int, error) { // - NegateA: // - would require a change from uint32 registers to int32 // registers - // - Extension: - // - implement extensions that do not depend on kernel-specific - // functionality, such as 'rand' // TODO(mdlayher): add interop tests that check signedness of ALU // operations against kernel implementation, and make sure Go @@ -109,6 +113,8 @@ func (v *VM) Run(in []byte) (int, error) { regA, ok = loadAbsolute(ins, in) case LoadConstant: regA, regX = loadConstant(ins, regA, regX) + case LoadExtension: + regA = loadExtension(ins, in) case LoadIndirect: regA, ok = loadIndirect(ins, in, regX) case LoadMemShift: diff --git a/vendor/golang.org/x/net/bpf/vm_extension_test.go b/vendor/golang.org/x/net/bpf/vm_extension_test.go new file mode 100644 index 00000000..7a48c82f --- /dev/null +++ b/vendor/golang.org/x/net/bpf/vm_extension_test.go @@ -0,0 +1,49 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package bpf_test + +import ( + "testing" + + "golang.org/x/net/bpf" +) + +func TestVMLoadExtensionNotImplemented(t *testing.T) { + _, _, err := testVM(t, []bpf.Instruction{ + bpf.LoadExtension{ + Num: 100, + }, + bpf.RetA{}, + }) + if errStr(err) != "extension 100 not implemented" { + t.Fatalf("unexpected error: %v", err) + } +} + +func TestVMLoadExtensionExtLen(t *testing.T) { + vm, done, err := testVM(t, []bpf.Instruction{ + bpf.LoadExtension{ + Num: bpf.ExtLen, + }, + bpf.RetA{}, + }) + if err != nil { + t.Fatalf("failed to load BPF program: %v", err) + } + defer done() + + out, err := vm.Run([]byte{ + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, + 0, 1, 2, 3, + }) + if err != nil { + t.Fatalf("unexpected error while running program: %v", err) + } + if want, got := 4, out; want != got { + t.Fatalf("unexpected number of output bytes:\n- want: %d\n- got: %d", + want, got) + } +} diff --git a/vendor/golang.org/x/net/bpf/vm_instructions.go b/vendor/golang.org/x/net/bpf/vm_instructions.go index 75079231..516f9462 100644 --- a/vendor/golang.org/x/net/bpf/vm_instructions.go +++ b/vendor/golang.org/x/net/bpf/vm_instructions.go @@ -103,6 +103,15 @@ func loadConstant(ins LoadConstant, regA uint32, regX uint32) (uint32, uint32) { return regA, regX } +func loadExtension(ins LoadExtension, in []byte) uint32 { + switch ins.Num { + case ExtLen: + return uint32(len(in)) + default: + panic(fmt.Sprintf("unimplemented extension: %d", ins.Num)) + } +} + func loadIndirect(ins LoadIndirect, in []byte, regX uint32) (uint32, bool) { offset := int(ins.Off) + int(regX) size := int(ins.Size) diff --git a/vendor/golang.org/x/net/http2/frame.go b/vendor/golang.org/x/net/http2/frame.go index 88067dca..981d407a 100644 --- a/vendor/golang.org/x/net/http2/frame.go +++ b/vendor/golang.org/x/net/http2/frame.go @@ -454,7 +454,7 @@ func terminalReadFrameError(err error) bool { // // If the frame is larger than previously set with SetMaxReadFrameSize, the // returned error is ErrFrameTooLarge. Other errors may be of type -// ConnectionError, StreamError, or anything else from from the underlying +// ConnectionError, StreamError, or anything else from the underlying // reader. func (fr *Framer) ReadFrame() (Frame, error) { fr.errDetail = nil