diff --git a/Gopkg.lock b/Gopkg.lock index 04895d2aa4c6ae9bae1b978d047fa0bfa1da39d9..6a5ce6ba6da7c8fd14991ff54e1bd4b2211102cf 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -210,7 +210,7 @@ branch = "master" name = "github.com/prometheus/client_golang" packages = ["prometheus"] - revision = "77e8f2ddcfed59ece3a8151879efb2304b5cbbcf" + revision = "d6a9817c4afc94d51115e4a30d449056a3fbf547" [[projects]] branch = "master" @@ -237,7 +237,7 @@ "nfs", "xfs" ] - revision = "7d6f385de8bea29190f15ba9931442a0eaef9af7" + revision = "40f013a808ec4fa79def444a1a56de4d1727efcb" [[projects]] branch = "master" @@ -440,7 +440,7 @@ "internal/timeseries", "trace" ] - revision = "afe8f62b1d6bbd81f31868121a50b06d8188e1f9" + revision = "ed29d75add3d7c4bf7ca65aac0c6df3d1420216f" [[projects]] branch = "master" @@ -450,7 +450,7 @@ "unix", "windows" ] - revision = "a200a19cb90b19de298170992778b1fda7217bd6" + revision = "151529c776cdc58ddbe7963ba9af779f3577b419" [[projects]] name = "golang.org/x/text" @@ -477,7 +477,7 @@ branch = "master" name = "google.golang.org/genproto" packages = ["googleapis/rpc/status"] - revision = "80063a038e333bbe006c878e4c5ce4c74d055498" + revision = "ff3583edef7de132f219f0efc00e097cabcc0ec0" [[projects]] name = "google.golang.org/grpc" @@ -533,6 +533,6 @@ [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "ab60dfe224ea60fe247e9585bba9cd57e37f1e03a1fca0eb368291e28cfb71df" + inputs-digest = "7b9b17cb4d553647a445b9cefe47cea819dac89f8787efc9ed2992ef585c9948" solver-name = "gps-cdcl" solver-version = 1 diff --git a/deployment/config.go b/deployment/config.go index a9bab141b4860612d9c58e4f33cf07a37bd3c10f..dc70796d6595948bfc62268b2274163e1a045e2e 100644 --- a/deployment/config.go +++ b/deployment/config.go @@ -12,6 +12,7 @@ import ( "github.com/hyperledger/burrow/genesis" "github.com/pkg/errors" "github.com/tmthrgd/go-hex" + "gopkg.in/yaml.v2" ) type Validator struct { @@ -45,6 +46,14 @@ var templateFuncs template.FuncMap = map[string]interface{}{ "hex": func(rv reflect.Value) string { return encode(rv, hex.EncodeUpperToString) }, + "yaml": func(rv interface{}) string { + a, _ := yaml.Marshal(rv) + return string(a) + }, + "json": func(rv interface{}) string { + b, _ := json.Marshal(rv) + return string(b) + }, } const DefaultKeysExportFormat = `{ diff --git a/genesis/genesis.go b/genesis/genesis.go index 5a6e076031699163b7e7bb3f469185b0eac635de..d60564415ea851eb85cbcc7d4e0154121a848d5c 100644 --- a/genesis/genesis.go +++ b/genesis/genesis.go @@ -50,7 +50,7 @@ type Account struct { type Validator struct { BasicAccount - NodeAddress *crypto.Address `json:",omitempty" toml:",omitempty"` + NodeAddress *crypto.Address `json:",omitempty" toml:",omitempty" yaml:",omitempty"` Name string UnbondTo []BasicAccount } diff --git a/vendor/github.com/prometheus/procfs/xfrm.go b/vendor/github.com/prometheus/procfs/xfrm.go index ffe9df50d6c6fbd7f87ce9e3f87950e9d2451a9f..8f1508f0fd1145b09fe22db9d4c256d472a3997a 100644 --- a/vendor/github.com/prometheus/procfs/xfrm.go +++ b/vendor/github.com/prometheus/procfs/xfrm.go @@ -113,7 +113,7 @@ func (fs FS) NewXfrmStat() (XfrmStat, error) { if len(fields) != 2 { return XfrmStat{}, fmt.Errorf( - "couldnt parse %s line %s", file.Name(), s.Text()) + "couldn't parse %s line %s", file.Name(), s.Text()) } name := fields[0] diff --git a/vendor/golang.org/x/net/http2/flow.go b/vendor/golang.org/x/net/http2/flow.go index 957de25420d91798efe32d86e82b3c4a1f2bc6f6..cea601fcdf474dce821ea400c0ef1e923bbf8e90 100644 --- a/vendor/golang.org/x/net/http2/flow.go +++ b/vendor/golang.org/x/net/http2/flow.go @@ -41,10 +41,10 @@ func (f *flow) take(n int32) { // add adds n bytes (positive or negative) to the flow control window. // It returns false if the sum would exceed 2^31-1. func (f *flow) add(n int32) bool { - remain := (1<<31 - 1) - f.n - if n > remain { - return false + sum := f.n + n + if (sum > n) == (f.n > 0) { + f.n = sum + return true } - f.n += n - return true + return false } diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go index 769c0fe5ef1f527d62bc5d364bc28b68df7bf3cd..793899169820b63f6b64b3c67d75c86866dccd96 100644 --- a/vendor/golang.org/x/net/http2/server.go +++ b/vendor/golang.org/x/net/http2/server.go @@ -2347,6 +2347,19 @@ func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) { foreachHeaderElement(v, rws.declareTrailer) } + // "Connection" headers aren't allowed in HTTP/2 (RFC 7540, 8.1.2.2), + // but respect "Connection" == "close" to mean sending a GOAWAY and tearing + // down the TCP connection when idle, like we do for HTTP/1. + // TODO: remove more Connection-specific header fields here, in addition + // to "Connection". + if _, ok := rws.snapHeader["Connection"]; ok { + v := rws.snapHeader.Get("Connection") + delete(rws.snapHeader, "Connection") + if v == "close" { + rws.conn.startGracefulShutdown() + } + } + endStream := (rws.handlerDone && !rws.hasTrailers() && len(p) == 0) || isHeadResp err = rws.conn.writeHeaders(rws.stream, &writeResHeaders{ streamID: rws.stream.id, diff --git a/vendor/golang.org/x/sys/unix/fcntl.go b/vendor/golang.org/x/sys/unix/fcntl.go index 0c58c7e1e5abc0b97f44efb2d720ea34cd4ebf0f..9379ba9cef77ce1025794f75903f09c32ae6cad1 100644 --- a/vendor/golang.org/x/sys/unix/fcntl.go +++ b/vendor/golang.org/x/sys/unix/fcntl.go @@ -14,7 +14,11 @@ var fcntl64Syscall uintptr = SYS_FCNTL // FcntlInt performs a fcntl syscall on fd with the provided command and argument. func FcntlInt(fd uintptr, cmd, arg int) (int, error) { - valptr, _, err := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(arg)) + valptr, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(arg)) + var err error + if errno != 0 { + err = errno + } return int(valptr), err } diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go index 4d7efbc2761de3e8c30ec09c23a4f36fa2e8f78b..820ef77af279cf50ce083b115aa280b2de1ac7d9 100644 --- a/vendor/golang.org/x/sys/unix/syscall_solaris.go +++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go @@ -314,7 +314,11 @@ func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { // FcntlInt performs a fcntl syscall on fd with the provided command and argument. func FcntlInt(fd uintptr, cmd, arg int) (int, error) { - valptr, _, err := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0) + valptr, _, errno := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0) + var err error + if errno != 0 { + err = errno + } return int(valptr), err } diff --git a/vendor/golang.org/x/sys/windows/service.go b/vendor/golang.org/x/sys/windows/service.go index 24aa90bbbe1dd2b0a7b67e24f16783dcc2053f5f..62fc31b40bd92a25fd6b7a98e96814eadeff6301 100644 --- a/vendor/golang.org/x/sys/windows/service.go +++ b/vendor/golang.org/x/sys/windows/service.go @@ -43,6 +43,11 @@ const ( SC_STATUS_PROCESS_INFO = 0 + SC_ACTION_NONE = 0 + SC_ACTION_RESTART = 1 + SC_ACTION_REBOOT = 2 + SC_ACTION_RUN_COMMAND = 3 + SERVICE_STOPPED = 1 SERVICE_START_PENDING = 2 SERVICE_STOP_PENDING = 3 @@ -148,6 +153,19 @@ type ENUM_SERVICE_STATUS_PROCESS struct { ServiceStatusProcess SERVICE_STATUS_PROCESS } +type SERVICE_FAILURE_ACTIONS struct { + ResetPeriod uint32 + RebootMsg *uint16 + Command *uint16 + ActionsCount uint32 + Actions *SC_ACTION +} + +type SC_ACTION struct { + Type uint32 + Delay uint32 +} + //sys CloseServiceHandle(handle Handle) (err error) = advapi32.CloseServiceHandle //sys CreateService(mgr Handle, serviceName *uint16, displayName *uint16, access uint32, srvType uint32, startType uint32, errCtl uint32, pathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16) (handle Handle, err error) [failretval==0] = advapi32.CreateServiceW //sys OpenService(mgr Handle, serviceName *uint16, access uint32) (handle Handle, err error) [failretval==0] = advapi32.OpenServiceW