aboutsummaryrefslogtreecommitdiffstats
path: root/tools/syz-hubtool
diff options
context:
space:
mode:
authorGreg Steuck <gnezdo@google.com>2021-07-28 15:34:03 -0700
committerDmitry Vyukov <dvyukov@google.com>2021-07-30 18:21:17 +0200
commit6c236867ce33c0c16b102e02a08226d7eb9b2046 (patch)
treebe81602e5bbe634e223bdc2bfc97049dd7f8a57e /tools/syz-hubtool
parent75047cf943db20755af0bf9ce3af5502b4040b70 (diff)
syz-manager: support oauth when calling syz-hub
Permit empty hub_key to indicate oauth.
Diffstat (limited to 'tools/syz-hubtool')
-rw-r--r--tools/syz-hubtool/hubtool.go20
1 files changed, 17 insertions, 3 deletions
diff --git a/tools/syz-hubtool/hubtool.go b/tools/syz-hubtool/hubtool.go
index 491191a4c..916c7e9ab 100644
--- a/tools/syz-hubtool/hubtool.go
+++ b/tools/syz-hubtool/hubtool.go
@@ -8,9 +8,12 @@ import (
"flag"
"io/ioutil"
"log"
+ "net/http"
"path/filepath"
"runtime"
+ "time"
+ "github.com/google/syzkaller/pkg/auth"
"github.com/google/syzkaller/pkg/db"
"github.com/google/syzkaller/pkg/rpctype"
"github.com/google/syzkaller/prog"
@@ -55,9 +58,20 @@ func main() {
if err != nil {
log.Fatalf("failed to connect to hub: %v", err)
}
+ key := *flagHubKey
+ if *flagHubKey == "" {
+ tokenCache, err := auth.MakeCache(http.NewRequest, http.DefaultClient.Do)
+ if err != nil {
+ log.Fatalf("failed to make auth cache %v", err)
+ }
+ key, err = tokenCache.Get(time.Now())
+ if err != nil {
+ log.Fatalf("failed to get a token %v", err)
+ }
+ }
connectArgs := &rpctype.HubConnectArgs{
Client: *flagHubClient,
- Key: *flagHubKey,
+ Key: key,
Manager: *flagHubManager,
Fresh: false,
Calls: nil,
@@ -70,7 +84,7 @@ func main() {
if len(repros) != 0 {
syncArgs := &rpctype.HubSyncArgs{
Client: *flagHubClient,
- Key: *flagHubKey,
+ Key: key,
Manager: *flagHubManager,
Repros: repros,
}
@@ -82,7 +96,7 @@ func main() {
for *flagDrain {
syncArgs := &rpctype.HubSyncArgs{
Client: *flagHubClient,
- Key: *flagHubKey,
+ Key: key,
Manager: *flagHubManager,
NeedRepros: true,
}