diff --git a/beater/journalbeat.go b/beater/journalbeat.go index 7d2e0294..e8f3c765 100644 --- a/beater/journalbeat.go +++ b/beater/journalbeat.go @@ -15,6 +15,7 @@ package beater import ( + "encoding/json" "fmt" "io/ioutil" "os" @@ -122,6 +123,26 @@ func (jb *Journalbeat) initJournal() error { return nil } +func (jb *Journalbeat) publishPending() error { + pending := map[string]common.MapStr{} + file, err := os.Open(jb.config.PendingQueue.File) + if err != nil { + return err + } + defer file.Close() + + if err = json.NewDecoder(file).Decode(&pending); err != nil { + return err + } + + logp.Info("Loaded %d events, trying to publish", len(pending)) + for cursor, event := range pending { + jb.client.PublishEvent(event, publisher.Signal(&eventSignal{&eventReference{cursor, event}, jb.completed}), publisher.Guaranteed) + } + + return nil +} + // New creates beater func New(b *beat.Beat, cfg *common.Config) (beat.Beater, error) { config := config.DefaultConfig @@ -165,6 +186,11 @@ func (jb *Journalbeat) Run(b *beat.Beat) error { go jb.writeCursorLoop() } + // load the previously saved queue of unsent events and try to publish them if any + if err := jb.publishPending(); err != nil { + logp.Warn("could not read the pending queue: %s", err) + } + for rawEvent := range journal.Follow(jb.journal, jb.done) { //convert sdjournal.JournalEntry to common.MapStr event := MapStrFromJournalEntry( diff --git a/beater/state.go b/beater/state.go index 2760224b..4f826b94 100644 --- a/beater/state.go +++ b/beater/state.go @@ -25,7 +25,6 @@ import ( "github.com/elastic/beats/libbeat/common" "github.com/elastic/beats/libbeat/logp" - "github.com/elastic/beats/libbeat/publisher" ) // eventSignal implements the op.Signaler interface @@ -86,17 +85,6 @@ func (jb *Journalbeat) managePendingQueueLoop() { return os.Rename(tempFile.Name(), dest) } - // load loads the map[string]common.MapStr from the JSON file on disk - load := func(source string, dest *map[string]common.MapStr) error { - file, err := os.Open(source) - if err != nil { - return err - } - defer file.Close() - - return json.NewDecoder(file).Decode(dest) - } - // on exit fully consume both queues and flush to disk the pending queue defer func() { var wg sync.WaitGroup @@ -123,15 +111,6 @@ func (jb *Journalbeat) managePendingQueueLoop() { } }() - // load the previously saved queue of unsent events and try to publish them if any - if err := load(jb.config.PendingQueue.File, &pending); err != nil { - logp.Warn("could not read the pending queue: %s", err) - } - logp.Info("Loaded %d events, trying to publish", len(pending)) - for cursor, event := range pending { - jb.client.PublishEvent(event, publisher.Signal(&eventSignal{&eventReference{cursor, event}, jb.completed}), publisher.Guaranteed) - } - // flush the pending queue to disk periodically tick := time.Tick(jb.config.PendingQueue.FlushPeriod) for { diff --git a/vendor/github.com/Shopify/sarama/config.go b/vendor/github.com/Shopify/sarama/config.go index 5021c57e..606a4fab 100644 --- a/vendor/github.com/Shopify/sarama/config.go +++ b/vendor/github.com/Shopify/sarama/config.go @@ -99,7 +99,10 @@ type Config struct { Partitioner PartitionerConstructor // Return specifies what channels will be populated. If they are set to true, - // you must read from the respective channels to prevent deadlock. + // you must read from the respective channels to prevent deadlock. If, + // however, this config is used to create a `SyncProducer`, both must be set + // to true and you shall not read from the channels since the producer does + // this internally. Return struct { // If enabled, successfully delivered messages will be returned on the // Successes channel (default disabled). diff --git a/vendor/github.com/Shopify/sarama/consumer.go b/vendor/github.com/Shopify/sarama/consumer.go index ea6ccd88..c82b994c 100644 --- a/vendor/github.com/Shopify/sarama/consumer.go +++ b/vendor/github.com/Shopify/sarama/consumer.go @@ -728,6 +728,10 @@ func (bc *brokerConsumer) fetchNewMessages() (*FetchResponse, error) { if bc.consumer.conf.Version.IsAtLeast(V0_10_0_0) { request.Version = 2 } + if bc.consumer.conf.Version.IsAtLeast(V0_10_1_0) { + request.Version = 3 + request.MaxBytes = MaxResponseSize + } for child := range bc.subscriptions { request.AddBlock(child.topic, child.partition, child.offset, child.fetchSize) diff --git a/vendor/github.com/Shopify/sarama/fetch_request.go b/vendor/github.com/Shopify/sarama/fetch_request.go index ab817a06..65600e86 100644 --- a/vendor/github.com/Shopify/sarama/fetch_request.go +++ b/vendor/github.com/Shopify/sarama/fetch_request.go @@ -21,9 +21,13 @@ func (b *fetchRequestBlock) decode(pd packetDecoder) (err error) { return nil } +// FetchRequest (API key 1) will fetch Kafka messages. Version 3 introduced the MaxBytes field. See +// https://issues.apache.org/jira/browse/KAFKA-2063 for a discussion of the issues leading up to that. The KIP is at +// https://cwiki.apache.org/confluence/display/KAFKA/KIP-74%3A+Add+Fetch+Response+Size+Limit+in+Bytes type FetchRequest struct { MaxWaitTime int32 MinBytes int32 + MaxBytes int32 Version int16 blocks map[string]map[int32]*fetchRequestBlock } @@ -32,6 +36,9 @@ func (r *FetchRequest) encode(pe packetEncoder) (err error) { pe.putInt32(-1) // replica ID is always -1 for clients pe.putInt32(r.MaxWaitTime) pe.putInt32(r.MinBytes) + if r.Version == 3 { + pe.putInt32(r.MaxBytes) + } err = pe.putArrayLength(len(r.blocks)) if err != nil { return err @@ -67,6 +74,11 @@ func (r *FetchRequest) decode(pd packetDecoder, version int16) (err error) { if r.MinBytes, err = pd.getInt32(); err != nil { return err } + if r.Version == 3 { + if r.MaxBytes, err = pd.getInt32(); err != nil { + return err + } + } topicCount, err := pd.getArrayLength() if err != nil { return err @@ -114,6 +126,8 @@ func (r *FetchRequest) requiredVersion() KafkaVersion { return V0_9_0_0 case 2: return V0_10_0_0 + case 3: + return V0_10_1_0 default: return minVersion } diff --git a/vendor/github.com/Shopify/sarama/message.go b/vendor/github.com/Shopify/sarama/message.go index 327c5fa2..86b4ac32 100644 --- a/vendor/github.com/Shopify/sarama/message.go +++ b/vendor/github.com/Shopify/sarama/message.go @@ -45,7 +45,15 @@ func (m *Message) encode(pe packetEncoder) error { pe.putInt8(attributes) if m.Version >= 1 { - pe.putInt64(m.Timestamp.UnixNano() / int64(time.Millisecond)) + timestamp := int64(-1) + + if !m.Timestamp.Before(time.Unix(0, 0)) { + timestamp = m.Timestamp.UnixNano() / int64(time.Millisecond) + } else if !m.Timestamp.IsZero() { + return PacketEncodingError{fmt.Sprintf("invalid timestamp (%v)", m.Timestamp)} + } + + pe.putInt64(timestamp) } err := pe.putBytes(m.Key) @@ -125,7 +133,15 @@ func (m *Message) decode(pd packetDecoder) (err error) { if err != nil { return err } - m.Timestamp = time.Unix(millis/1000, (millis%1000)*int64(time.Millisecond)) + + // negative timestamps are invalid, in these cases we should return + // a zero time + timestamp := time.Time{} + if millis >= 0 { + timestamp = time.Unix(millis/1000, (millis%1000)*int64(time.Millisecond)) + } + + m.Timestamp = timestamp } m.Key, err = pd.getBytes() diff --git a/vendor/github.com/davecgh/go-spew/spew/common.go b/vendor/github.com/davecgh/go-spew/spew/common.go index 7c519ff4..1be8ce94 100644 --- a/vendor/github.com/davecgh/go-spew/spew/common.go +++ b/vendor/github.com/davecgh/go-spew/spew/common.go @@ -180,7 +180,7 @@ func printComplex(w io.Writer, c complex128, floatPrecision int) { w.Write(closeParenBytes) } -// printHexPtr outputs a uintptr formatted as hexidecimal with a leading '0x' +// printHexPtr outputs a uintptr formatted as hexadecimal with a leading '0x' // prefix to Writer w. func printHexPtr(w io.Writer, p uintptr) { // Null pointer. diff --git a/vendor/github.com/elastic/beats/libbeat/beat/version.go b/vendor/github.com/elastic/beats/libbeat/beat/version.go index 237b2295..541c4775 100644 --- a/vendor/github.com/elastic/beats/libbeat/beat/version.go +++ b/vendor/github.com/elastic/beats/libbeat/beat/version.go @@ -1,3 +1,3 @@ package beat -const defaultBeatVersion = "5.4.3" +const defaultBeatVersion = "5.5.0" diff --git a/vendor/github.com/elastic/beats/libbeat/outputs/elasticsearch/client.go b/vendor/github.com/elastic/beats/libbeat/outputs/elasticsearch/client.go index bd2a027c..9195afa0 100644 --- a/vendor/github.com/elastic/beats/libbeat/outputs/elasticsearch/client.go +++ b/vendor/github.com/elastic/beats/libbeat/outputs/elasticsearch/client.go @@ -93,6 +93,11 @@ var ( errExcpectedObjectEnd = errors.New("expected end of object") ) +const ( + eventType = "doc" +) + +// NewClient instantiates a new client. func NewClient( s ClientSettings, onConnectCallback connectCallback, @@ -320,7 +325,7 @@ func createEventBulkMeta( return bulkMeta{ Index: bulkMetaIndex{ Index: getIndex(event, index), - DocType: event["type"].(string), + DocType: eventType, }, } } @@ -338,7 +343,7 @@ func createEventBulkMeta( Index: bulkMetaIndex{ Index: getIndex(event, index), Pipeline: pipeline, - DocType: event["type"].(string), + DocType: eventType, }, } } @@ -535,7 +540,6 @@ func (client *Client) PublishEvent(data outputs.Data) error { event := data.Event index := getIndex(event, client.index) - typ := event["type"].(string) debugf("Publish event: %s", event) @@ -549,9 +553,9 @@ func (client *Client) PublishEvent(data outputs.Data) error { var status int if pipeline == "" { - status, _, err = client.Index(index, typ, "", client.params, event) + status, _, err = client.Index(index, eventType, "", client.params, event) } else { - status, _, err = client.Ingest(index, typ, pipeline, "", client.params, event) + status, _, err = client.Ingest(index, eventType, pipeline, "", client.params, event) } // check indexing error diff --git a/vendor/github.com/garyburd/redigo/redis/reply.go b/vendor/github.com/garyburd/redigo/redis/reply.go index 3d25dbae..a4dd7c84 100644 --- a/vendor/github.com/garyburd/redigo/redis/reply.go +++ b/vendor/github.com/garyburd/redigo/redis/reply.go @@ -333,7 +333,7 @@ func StringMap(result interface{}, err error) (map[string]string, error) { key, okKey := values[i].([]byte) value, okValue := values[i+1].([]byte) if !okKey || !okValue { - return nil, errors.New("redigo: ScanMap key not a bulk string value") + return nil, errors.New("redigo: StringMap key not a bulk string value") } m[string(key)] = string(value) } @@ -355,7 +355,7 @@ func IntMap(result interface{}, err error) (map[string]int, error) { for i := 0; i < len(values); i += 2 { key, ok := values[i].([]byte) if !ok { - return nil, errors.New("redigo: ScanMap key not a bulk string value") + return nil, errors.New("redigo: IntMap key not a bulk string value") } value, err := Int(values[i+1], nil) if err != nil { @@ -381,7 +381,7 @@ func Int64Map(result interface{}, err error) (map[string]int64, error) { for i := 0; i < len(values); i += 2 { key, ok := values[i].([]byte) if !ok { - return nil, errors.New("redigo: ScanMap key not a bulk string value") + return nil, errors.New("redigo: Int64Map key not a bulk string value") } value, err := Int64(values[i+1], nil) if err != nil { diff --git a/vendor/github.com/nranchev/go-libGeoIP/libgeo.go b/vendor/github.com/nranchev/go-libGeoIP/libgeo.go index 4794a55b..6cd65f03 100644 --- a/vendor/github.com/nranchev/go-libGeoIP/libgeo.go +++ b/vendor/github.com/nranchev/go-libGeoIP/libgeo.go @@ -31,7 +31,9 @@ package libgeo // Dependencies import ( + "encoding/binary" "errors" + "net" "os" ) @@ -202,7 +204,7 @@ func Load(filename string) (gi *GeoIP, err error) { // Lookup by IP address and return location func (gi *GeoIP) GetLocationByIP(ip string) *Location { - return gi.GetLocationByIPNum(AddrToNum(ip)) + return gi.GetLocationByIPNum(addrToNum(ip)) } // Lookup by IP number and return location @@ -319,36 +321,14 @@ func (gi *GeoIP) lookupByIPNum(ip uint32) int { return 0 } -// Convert ip address to an int representation -func AddrToNum(ip string) uint32 { - octet := uint32(0) - ipnum := uint32(0) - i := 3 - for j := 0; j < len(ip); j++ { - c := byte(ip[j]) - if c == '.' { - if octet > 255 { - return 0 - } - ipnum <<= 8 - ipnum += octet - i-- - octet = 0 - } else { - t := octet - octet <<= 3 - octet += t - octet += t - c -= '0' - if c > 9 { - return 0 - } - octet += uint32(c) - } +func addrToNum(ip string) uint32 { + i := net.ParseIP(ip) + if i == nil { + return uint32(0) } - if (octet > 255) || (i != 0) { - return 0 + i = i.To4() + if i == nil { + return uint32(0) } - ipnum <<= 8 - return uint32(ipnum + octet) + return binary.BigEndian.Uint32(i) } diff --git a/vendor/golang.org/x/net/proxy/proxy.go b/vendor/golang.org/x/net/proxy/proxy.go index 78a8b7be..553ead7c 100644 --- a/vendor/golang.org/x/net/proxy/proxy.go +++ b/vendor/golang.org/x/net/proxy/proxy.go @@ -11,6 +11,7 @@ import ( "net" "net/url" "os" + "sync" ) // A Dialer is a means to establish a connection. @@ -27,7 +28,7 @@ type Auth struct { // FromEnvironment returns the dialer specified by the proxy related variables in // the environment. func FromEnvironment() Dialer { - allProxy := os.Getenv("all_proxy") + allProxy := allProxyEnv.Get() if len(allProxy) == 0 { return Direct } @@ -41,7 +42,7 @@ func FromEnvironment() Dialer { return Direct } - noProxy := os.Getenv("no_proxy") + noProxy := noProxyEnv.Get() if len(noProxy) == 0 { return proxy } @@ -92,3 +93,42 @@ func FromURL(u *url.URL, forward Dialer) (Dialer, error) { return nil, errors.New("proxy: unknown scheme: " + u.Scheme) } + +var ( + allProxyEnv = &envOnce{ + names: []string{"ALL_PROXY", "all_proxy"}, + } + noProxyEnv = &envOnce{ + names: []string{"NO_PROXY", "no_proxy"}, + } +) + +// envOnce looks up an environment variable (optionally by multiple +// names) once. It mitigates expensive lookups on some platforms +// (e.g. Windows). +// (Borrowed from net/http/transport.go) +type envOnce struct { + names []string + once sync.Once + val string +} + +func (e *envOnce) Get() string { + e.once.Do(e.init) + return e.val +} + +func (e *envOnce) init() { + for _, n := range e.names { + e.val = os.Getenv(n) + if e.val != "" { + return + } + } +} + +// reset is used by tests +func (e *envOnce) reset() { + e.once = sync.Once{} + e.val = "" +} diff --git a/vendor/golang.org/x/sys/windows/dll_windows.go b/vendor/golang.org/x/sys/windows/dll_windows.go index 0f620467..e77a3705 100644 --- a/vendor/golang.org/x/sys/windows/dll_windows.go +++ b/vendor/golang.org/x/sys/windows/dll_windows.go @@ -160,7 +160,6 @@ func (p *Proc) Call(a ...uintptr) (r1, r2 uintptr, lastErr error) { default: panic("Call " + p.Name + " with too many arguments " + itoa(len(a)) + ".") } - return } // A LazyDLL implements access to a single DLL. diff --git a/vendor/golang.org/x/sys/windows/memory_windows.go b/vendor/golang.org/x/sys/windows/memory_windows.go new file mode 100644 index 00000000..f63e899a --- /dev/null +++ b/vendor/golang.org/x/sys/windows/memory_windows.go @@ -0,0 +1,26 @@ +// Copyright 2017 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 windows + +const ( + MEM_COMMIT = 0x00001000 + MEM_RESERVE = 0x00002000 + MEM_DECOMMIT = 0x00004000 + MEM_RELEASE = 0x00008000 + MEM_RESET = 0x00080000 + MEM_TOP_DOWN = 0x00100000 + MEM_WRITE_WATCH = 0x00200000 + MEM_PHYSICAL = 0x00400000 + MEM_RESET_UNDO = 0x01000000 + MEM_LARGE_PAGES = 0x20000000 + + PAGE_NOACCESS = 0x01 + PAGE_READONLY = 0x02 + PAGE_READWRITE = 0x04 + PAGE_WRITECOPY = 0x08 + PAGE_EXECUTE_READ = 0x20 + PAGE_EXECUTE_READWRITE = 0x40 + PAGE_EXECUTE_WRITECOPY = 0x80 +) diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go index e439c48a..518250e7 100644 --- a/vendor/golang.org/x/sys/windows/syscall_windows.go +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -154,6 +154,9 @@ func NewCallbackCDecl(fn interface{}) uintptr //sys FlushViewOfFile(addr uintptr, length uintptr) (err error) //sys VirtualLock(addr uintptr, length uintptr) (err error) //sys VirtualUnlock(addr uintptr, length uintptr) (err error) +//sys VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) = kernel32.VirtualAlloc +//sys VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) = kernel32.VirtualFree +//sys VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) = kernel32.VirtualProtect //sys TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) = mswsock.TransmitFile //sys ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) = kernel32.ReadDirectoryChangesW //sys CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) = crypt32.CertOpenSystemStoreW diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go index b9ee8278..d588e1d0 100644 --- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -139,6 +139,9 @@ var ( procFlushViewOfFile = modkernel32.NewProc("FlushViewOfFile") procVirtualLock = modkernel32.NewProc("VirtualLock") procVirtualUnlock = modkernel32.NewProc("VirtualUnlock") + procVirtualAlloc = modkernel32.NewProc("VirtualAlloc") + procVirtualFree = modkernel32.NewProc("VirtualFree") + procVirtualProtect = modkernel32.NewProc("VirtualProtect") procTransmitFile = modmswsock.NewProc("TransmitFile") procReadDirectoryChangesW = modkernel32.NewProc("ReadDirectoryChangesW") procCertOpenSystemStoreW = modcrypt32.NewProc("CertOpenSystemStoreW") @@ -1384,6 +1387,43 @@ func VirtualUnlock(addr uintptr, length uintptr) (err error) { return } +func VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) { + r0, _, e1 := syscall.Syscall6(procVirtualAlloc.Addr(), 4, uintptr(address), uintptr(size), uintptr(alloctype), uintptr(protect), 0, 0) + value = uintptr(r0) + if value == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) { + r1, _, e1 := syscall.Syscall(procVirtualFree.Addr(), 3, uintptr(address), uintptr(size), uintptr(freetype)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procVirtualProtect.Addr(), 4, uintptr(address), uintptr(size), uintptr(newprotect), uintptr(unsafe.Pointer(oldprotect)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + func TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) { r1, _, e1 := syscall.Syscall9(procTransmitFile.Addr(), 7, uintptr(s), uintptr(handle), uintptr(bytesToWrite), uintptr(bytsPerSend), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(transmitFileBuf)), uintptr(flags), 0, 0) if r1 == 0 { diff --git a/vendor/golang.org/x/sys/windows/ztypes_windows.go b/vendor/golang.org/x/sys/windows/ztypes_windows.go index a907ff2c..c99a3fe5 100644 --- a/vendor/golang.org/x/sys/windows/ztypes_windows.go +++ b/vendor/golang.org/x/sys/windows/ztypes_windows.go @@ -165,13 +165,6 @@ const ( PROCESS_QUERY_INFORMATION = 0x00000400 SYNCHRONIZE = 0x00100000 - PAGE_READONLY = 0x02 - PAGE_READWRITE = 0x04 - PAGE_WRITECOPY = 0x08 - PAGE_EXECUTE_READ = 0x20 - PAGE_EXECUTE_READWRITE = 0x40 - PAGE_EXECUTE_WRITECOPY = 0x80 - FILE_MAP_COPY = 0x01 FILE_MAP_WRITE = 0x02 FILE_MAP_READ = 0x04 diff --git a/vendor/vendor.json b/vendor/vendor.json index fd522d5a..05dd039d 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -3,10 +3,10 @@ "ignore": "test", "package": [ { - "checksumSHA1": "jRUvScAXltFxTRaj1RpBZKyqnEs=", + "checksumSHA1": "+Jp0tVXfQ1TM8T+oun82oJtME5U=", "path": "github.com/Shopify/sarama", - "revision": "f7e3024a61603647461f4b40bd8f3db88871bf9d", - "revisionTime": "2017-06-15T15:11:31Z" + "revision": "2fd980e23bdcbb8edeb78fc704de0c39a6567ffc", + "revisionTime": "2017-06-30T17:40:37Z" }, { "checksumSHA1": "b2sAdvcu1sjPOHnSuEYm1yLeS2g=", @@ -21,10 +21,10 @@ "revisionTime": "2017-04-20T17:29:56Z" }, { - "checksumSHA1": "dvabztWVQX8f6oMLRyv4dLH+TGY=", + "checksumSHA1": "7UT+dVVfOn8IA79ITFiGNMb2c/4=", "path": "github.com/davecgh/go-spew/spew", - "revision": "346938d642f2ec3594ed81d874461961cd0faa76", - "revisionTime": "2016-10-29T20:57:26Z" + "revision": "782f4967f2dc4564575ca782fe2d04090b5faca8", + "revisionTime": "2017-06-26T23:16:45Z" }, { "checksumSHA1": "y2Kh4iPlgCPXSGTCcFpzePYdzzg=", @@ -45,308 +45,308 @@ "revisionTime": "2016-08-05T00:47:13Z" }, { - "checksumSHA1": "caVDtyq8R1yvnoFU/dj3MC5J/z8=", + "checksumSHA1": "vyTvR5xzdl7y+Lv8Tw5AdrNukgU=", "path": "github.com/elastic/beats/libbeat/beat", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "bnXPw0gsJnlSdk1weiN+E/4GqSs=", "path": "github.com/elastic/beats/libbeat/cfgfile", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "j4a9VmoBRFsb7fGz6Kis3cZ3T8E=", "path": "github.com/elastic/beats/libbeat/common", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "c1WKmAVkAVN+3NF+3B30vLooD74=", "path": "github.com/elastic/beats/libbeat/common/dtfmt", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "ckhJGlOHkRVad5BvVRnbsPNrZVw=", "path": "github.com/elastic/beats/libbeat/common/file", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "0HV+R4Uv5J3y1TfBWbQnJJS/vUo=", "path": "github.com/elastic/beats/libbeat/common/fmtstr", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "qK6HZ5f0d77892o+vPGfUg3peLk=", "path": "github.com/elastic/beats/libbeat/common/jsontransform", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "GCH8D+wMS96V0PJ6fPecWPbkbXc=", "path": "github.com/elastic/beats/libbeat/common/match", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "CGDTSl2i0mxPNln+8qLD9aEgqzI=", "path": "github.com/elastic/beats/libbeat/common/op", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "5GexCvglP7kQEbEfZ/aMZ8QV+48=", "path": "github.com/elastic/beats/libbeat/common/streambuf", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "PwyGLI31jde2Ys7mVkN1l5YiurM=", "path": "github.com/elastic/beats/libbeat/dashboards/dashboards", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "R6V915Pa/F52kBsYX1Fv0efXzXo=", "path": "github.com/elastic/beats/libbeat/logp", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "DXdI4/1d3WqtnS999O+caNoxfeI=", "path": "github.com/elastic/beats/libbeat/monitoring", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "XY0QmPNIOm8aV2ylbf+rh0QUho4=", "path": "github.com/elastic/beats/libbeat/monitoring/adapter", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "gVnNqjEmA/y4goYwh3IdE6l53io=", "path": "github.com/elastic/beats/libbeat/outputs", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "iH+4z18qkjqhazxBlQRUIT9VP8k=", "path": "github.com/elastic/beats/libbeat/outputs/codecs/format", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "7jQ/LXCa5jfDGq3PDBQkz1gQxmE=", "path": "github.com/elastic/beats/libbeat/outputs/codecs/json", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "BViPVXhP4g9e+/EA9h7jKuwQeY8=", "path": "github.com/elastic/beats/libbeat/outputs/console", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { - "checksumSHA1": "qCyNlUvnXGg5mdZwWv0YyLBKCvs=", + "checksumSHA1": "7bdUJooiRohGGsxbYNX03uGdmMA=", "path": "github.com/elastic/beats/libbeat/outputs/elasticsearch", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "VpodNeBeZ0ljnqptHB1DIPXZrF4=", "path": "github.com/elastic/beats/libbeat/outputs/fileout", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "E1ztu+hMjDx69a6/7KnzBokIL3E=", "path": "github.com/elastic/beats/libbeat/outputs/kafka", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "KTcPFSMKnbKkZWx2y4oMdqps37s=", "path": "github.com/elastic/beats/libbeat/outputs/logstash", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "OB/1PiTAKCHfNRGT0CHR1PJycu8=", "path": "github.com/elastic/beats/libbeat/outputs/mode", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "jDfLjQITcFHZS2VWHsJE5oB/sQo=", "path": "github.com/elastic/beats/libbeat/outputs/mode/lb", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "mqrQiZKChXrx9n+GhG6vyruQNiU=", "path": "github.com/elastic/beats/libbeat/outputs/mode/modeutil", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "QmF7dXXv8GmqEDcHRPlixEi3Kg4=", "path": "github.com/elastic/beats/libbeat/outputs/mode/single", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "+BtviQ0vHr68Zcz1U6ZFs95t3Mg=", "path": "github.com/elastic/beats/libbeat/outputs/outil", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "bnQE1BcdLfDFTPmZqicX6D7/e0w=", "path": "github.com/elastic/beats/libbeat/outputs/redis", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "6+bKJDDYhAUZJqYFoKd4PPjFVPc=", "path": "github.com/elastic/beats/libbeat/outputs/transport", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "C7yyCJa8ENRjJhCuNo0TVKusOiw=", "path": "github.com/elastic/beats/libbeat/paths", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "exsokVRNBBYrCZsEM7XR+mAdOvA=", "path": "github.com/elastic/beats/libbeat/plugin", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "raysuHLnmmV+gFieqXPfTHyIZUc=", "path": "github.com/elastic/beats/libbeat/processors", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "9cGa2o4Y37VNC7uwN3uV8DmGRvM=", "path": "github.com/elastic/beats/libbeat/processors/actions", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "/QgDY/3AzI4CkLIvSfOkfv4JmJw=", "path": "github.com/elastic/beats/libbeat/processors/add_cloud_metadata", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "k4/QfmOMQF6bMxAu+308/0HTlQc=", "path": "github.com/elastic/beats/libbeat/publisher", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "ndkSy4QMXXp8p1q+mIMoXourBb8=", "path": "github.com/elastic/beats/libbeat/service", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "X2XQM44P04Ab1pEKtyXplLPcN2g=", "path": "github.com/elastic/beats/metricbeat/schema", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "nlUzm79pN8LIKrhfkKPRz9vZhnw=", "path": "github.com/elastic/beats/metricbeat/schema/mapstriface", - "revision": "88ab63aa1b76d6c257eb5937bb2f1b4ebbf7dbfd", - "revisionTime": "2017-06-21T10:10:19Z", - "version": "v5.4.3", - "versionExact": "v5.4.3" + "revision": "142f8fe79f42551c76891f7d9cf1e1b638903099", + "revisionTime": "2017-07-06T14:08:04Z", + "version": "v5.5.0", + "versionExact": "v5.5.0" }, { "checksumSHA1": "3jizmlZPCyo6FAZY8Trk9jA8NH4=", @@ -405,14 +405,14 @@ { "checksumSHA1": "2UmMbNHc8FBr98mJFN1k8ISOIHk=", "path": "github.com/garyburd/redigo/internal", - "revision": "57f1cd7de6175c96b423e7ac2534ff2b39e2ef79", - "revisionTime": "2017-06-15T18:53:09Z" + "revision": "9f3a0116c9f72c5a56f958206a43dc881b502c37", + "revisionTime": "2017-07-06T22:48:25Z" }, { - "checksumSHA1": "dGCqjUjHaREgF/BM+u0UdebD4fk=", + "checksumSHA1": "mb7JV1M7OFsuHlXEPY/LdVBGKVg=", "path": "github.com/garyburd/redigo/redis", - "revision": "57f1cd7de6175c96b423e7ac2534ff2b39e2ef79", - "revisionTime": "2017-06-15T18:53:09Z" + "revision": "9f3a0116c9f72c5a56f958206a43dc881b502c37", + "revisionTime": "2017-07-06T22:48:25Z" }, { "checksumSHA1": "p/8vSviYF91gFflhrt5vkyksroo=", @@ -451,10 +451,10 @@ "revisionTime": "2017-06-09T04:59:27Z" }, { - "checksumSHA1": "FlEI/BO8wk8bZR0Gz7OfwSaNZ0s=", + "checksumSHA1": "XgtncR0XS0JftZtsvyIOEu0Vv9o=", "path": "github.com/nranchev/go-libGeoIP", - "revision": "c78e8bd2dd3599feb21fd30886043979e82fe948", - "revisionTime": "2014-03-12T02:53:35Z" + "revision": "d6d4a9a4c7e8d750064c10550bbd4f9aae50d48e", + "revisionTime": "2017-06-29T07:38:46Z" }, { "checksumSHA1": "FGg99nQ56Fo3radSCuU1AeEUJug=", @@ -493,28 +493,28 @@ "revisionTime": "2017-03-21T23:07:31Z" }, { - "checksumSHA1": "fjMK2G5arnjllpoeBYeyf9Y2Iok=", + "checksumSHA1": "N1BVY98+YTHORzLmtlBGpJBA4Tk=", "path": "golang.org/x/net/proxy", - "revision": "8663ed5da4fd087c3cfb99a996e628b72e2f0948", - "revisionTime": "2017-06-28T03:07:11Z" + "revision": "054b33e6527139ad5b1ec2f6232c3b175bd9a30c", + "revisionTime": "2017-07-05T22:25:54Z" }, { - "checksumSHA1": "GUzvy5+6gTwjQ2PaXxjHfbqjOVw=", + "checksumSHA1": "Pki0iA65Dtsjh4gtabPkp/lOa2I=", "path": "golang.org/x/sys/windows", - "revision": "90796e5a05ce440b41c768bd9af257005e470461", - "revisionTime": "2017-06-27T07:55:33Z" + "revision": "abf9c25f54453410d0c6668e519582a9e1115027", + "revisionTime": "2017-07-10T15:57:01Z" }, { "checksumSHA1": "ST+op4RrLhGa0ntyFTrCWVjdqs4=", "path": "golang.org/x/sys/windows/svc", - "revision": "90796e5a05ce440b41c768bd9af257005e470461", - "revisionTime": "2017-06-27T07:55:33Z" + "revision": "abf9c25f54453410d0c6668e519582a9e1115027", + "revisionTime": "2017-07-10T15:57:01Z" }, { "checksumSHA1": "lZi+t2ilFyYSpqL1ThwNf8ot3WQ=", "path": "golang.org/x/sys/windows/svc/debug", - "revision": "90796e5a05ce440b41c768bd9af257005e470461", - "revisionTime": "2017-06-27T07:55:33Z" + "revision": "abf9c25f54453410d0c6668e519582a9e1115027", + "revisionTime": "2017-07-10T15:57:01Z" }, { "checksumSHA1": "fALlQNY1fM99NesfLJ50KguWsio=",