Skip to content

Commit eb3599e

Browse files
authored
Update Thrift dependency version (and generated bindings) (osquery#59)
- Refactor for use of `context.Context` in new thrift bindings - Does not (yet) expose the context to users of the library
1 parent d4f3a62 commit eb3599e

File tree

12 files changed

+2856
-3467
lines changed

12 files changed

+2856
-3467
lines changed

Gopkg.lock

Lines changed: 13 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Gopkg.toml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
11

22
[[constraint]]
3-
# This version includes concurrency fixes, but excludes changes to the
4-
# library APIs. Using a version beyond this would require users to build the
5-
# Thrift compiler from source to get API-compatible generated code. After the
6-
# next Thrift release, this should become that tagged release (and the code
7-
# generated appropriately).
83
name = "git.apache.org/thrift.git"
9-
revision = "0dd823580c78a79ae9696eb9b3650e400fff140f"
4+
version = "0.11.0"
105

116
[[constraint]]
127
name = "github.com/Microsoft/go-winio"

Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ deps:
77
dep ensure -vendor-only
88

99
gen: ./osquery.thrift
10-
rm -rf ./gen
1110
mkdir ./gen
1211
thrift --gen go:package_prefix=github.com/kolide/osquery-go/gen/ -out ./gen ./osquery.thrift
1312
rm -rf gen/osquery/extension-remote gen/osquery/extension_manager-remote
@@ -36,4 +35,7 @@ example_config: examples/config/*.go
3635
test: all
3736
go test -race -cover -v $(shell go list ./... | grep -v /vendor/)
3837

38+
clean:
39+
rm -rf ./build ./gen
40+
3941
.PHONY: all

client.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package osquery
22

33
import (
4+
"context"
45
"time"
56

67
"github.com/kolide/osquery-go/gen/osquery"
@@ -54,34 +55,34 @@ func (c *ExtensionManagerClient) Close() {
5455

5556
// Ping requests metadata from the extension manager.
5657
func (c *ExtensionManagerClient) Ping() (*osquery.ExtensionStatus, error) {
57-
return c.Client.Ping()
58+
return c.Client.Ping(context.Background())
5859
}
5960

6061
// Call requests a call to an extension (or core) registry plugin.
6162
func (c *ExtensionManagerClient) Call(registry, item string, request osquery.ExtensionPluginRequest) (*osquery.ExtensionResponse, error) {
62-
return c.Client.Call(registry, item, request)
63+
return c.Client.Call(context.Background(), registry, item, request)
6364
}
6465

6566
// Extensions requests the list of active registered extensions.
6667
func (c *ExtensionManagerClient) Extensions() (osquery.InternalExtensionList, error) {
67-
return c.Client.Extensions()
68+
return c.Client.Extensions(context.Background())
6869
}
6970

7071
// RegisterExtension registers the extension plugins with the osquery process.
7172
func (c *ExtensionManagerClient) RegisterExtension(info *osquery.InternalExtensionInfo, registry osquery.ExtensionRegistry) (*osquery.ExtensionStatus, error) {
72-
return c.Client.RegisterExtension(info, registry)
73+
return c.Client.RegisterExtension(context.Background(), info, registry)
7374
}
7475

7576
// Options requests the list of bootstrap or configuration options.
7677
func (c *ExtensionManagerClient) Options() (osquery.InternalOptionList, error) {
77-
return c.Client.Options()
78+
return c.Client.Options(context.Background())
7879
}
7980

8081
// Query requests a query to be run and returns the extension response.
8182
// Consider using the QueryRow or QueryRows helpers for a more friendly
8283
// interface.
8384
func (c *ExtensionManagerClient) Query(sql string) (*osquery.ExtensionResponse, error) {
84-
return c.Client.Query(sql)
85+
return c.Client.Query(context.Background(), sql)
8586
}
8687

8788
// QueryRows is a helper that executes the requested query and returns the
@@ -117,5 +118,5 @@ func (c *ExtensionManagerClient) QueryRow(sql string) (map[string]string, error)
117118

118119
// GetQueryColumns requests the columns returned by the parsed query.
119120
func (c *ExtensionManagerClient) GetQueryColumns(sql string) (*osquery.ExtensionResponse, error) {
120-
return c.Client.GetQueryColumns(sql)
121+
return c.Client.GetQueryColumns(context.Background(), sql)
121122
}

client_test.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package osquery
22

33
import (
4+
"context"
45
"errors"
56
"testing"
67

78
"github.com/kolide/osquery-go/gen/osquery"
8-
"github.com/kolide/osquery-go/gen/osquery/mock"
9+
"github.com/kolide/osquery-go/mock"
910
"github.com/stretchr/testify/assert"
1011
)
1112

@@ -14,7 +15,7 @@ func TestQueryRows(t *testing.T) {
1415
client := &ExtensionManagerClient{Client: mock}
1516

1617
// Transport related error
17-
mock.QueryFunc = func(sql string) (*osquery.ExtensionResponse, error) {
18+
mock.QueryFunc = func(ctx context.Context, sql string) (*osquery.ExtensionResponse, error) {
1819
return nil, errors.New("boom!")
1920
}
2021
rows, err := client.QueryRows("select 1")
@@ -23,7 +24,7 @@ func TestQueryRows(t *testing.T) {
2324
assert.NotNil(t, err)
2425

2526
// Nil status
26-
mock.QueryFunc = func(sql string) (*osquery.ExtensionResponse, error) {
27+
mock.QueryFunc = func(ctx context.Context, sql string) (*osquery.ExtensionResponse, error) {
2728
return &osquery.ExtensionResponse{}, nil
2829
}
2930
rows, err = client.QueryRows("select 1")
@@ -32,7 +33,7 @@ func TestQueryRows(t *testing.T) {
3233
assert.NotNil(t, err)
3334

3435
// Query error
35-
mock.QueryFunc = func(sql string) (*osquery.ExtensionResponse, error) {
36+
mock.QueryFunc = func(ctx context.Context, sql string) (*osquery.ExtensionResponse, error) {
3637
return &osquery.ExtensionResponse{
3738
Status: &osquery.ExtensionStatus{Code: 1, Message: "bad query"},
3839
}, nil
@@ -46,7 +47,7 @@ func TestQueryRows(t *testing.T) {
4647
expectedRows := []map[string]string{
4748
{"1": "1"},
4849
}
49-
mock.QueryFunc = func(sql string) (*osquery.ExtensionResponse, error) {
50+
mock.QueryFunc = func(ctx context.Context, sql string) (*osquery.ExtensionResponse, error) {
5051
return &osquery.ExtensionResponse{
5152
Status: &osquery.ExtensionStatus{Code: 0, Message: "OK"},
5253
Response: expectedRows,
@@ -64,7 +65,7 @@ func TestQueryRows(t *testing.T) {
6465
{"1": "1"},
6566
{"1": "2"},
6667
}
67-
mock.QueryFunc = func(sql string) (*osquery.ExtensionResponse, error) {
68+
mock.QueryFunc = func(ctx context.Context, sql string) (*osquery.ExtensionResponse, error) {
6869
return &osquery.ExtensionResponse{
6970
Status: &osquery.ExtensionStatus{Code: 0, Message: "OK"},
7071
Response: expectedRows,

gen/osquery/GoUnusedProtection__.go

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gen/osquery/mock/osquery.go

Lines changed: 0 additions & 109 deletions
This file was deleted.

gen/osquery/osquery-consts.go

Lines changed: 7 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)