diff options
author | Özgür Kesim <oec@kesim.org> | 2025-07-13 22:22:39 +0200 |
---|---|---|
committer | Özgür Kesim <oec@kesim.org> | 2025-07-13 22:22:39 +0200 |
commit | f9e5c46d4e7473bf27aac78c8be186300c8e0520 (patch) | |
tree | 55e71ce4d7816fc72cf84c106a909bc963f2e7f8 /main.go | |
parent | 6b6b67ee0d30439780b829bb3e9dd5b0efa881df (diff) |
running local inprocess keyserver
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 29 |
1 files changed, 24 insertions, 5 deletions
@@ -37,7 +37,7 @@ func main() { // setupTestUser uses the -test_user and -test_secrets flags to bootstrap the // inprocess key server with an initial user. -func setupTestUser(key upspin.KeyServer) { +func setupTestUser(server upspin.KeyServer) { if *keyDir == "" { log.Println("no keyDir provided") return @@ -54,22 +54,41 @@ func setupTestUser(key upspin.KeyServer) { log.Fatalf("cannot open keyDir %q: %v", *keyDir, err) } + if len(entries) == 0 { + log.Fatalf("no entries in keyDir %q", *keyDir) + } + for _, entry := range entries { name := entry.Name() path := filepath.Join(*keyDir, name) - if !entry.IsDir() || !strings.Contains("@", name) { + if !strings.Contains(name, "@") { continue } - pk, err := os.ReadFile(path) + f, err := os.ReadFile(path) if err != nil { log.Fatalf("unable to read %q: %v", path, err) } + parts := strings.SplitN(string(f), "\n", 3) + if len(parts) != 3 { + log.Fatalf("file %q has wrong number of lines", path) + } + dir, err := upspin.ParseEndpoint(parts[0]) + if err != nil { + log.Fatalf("couldn't parse first line of %q as dirserver: %v", path, err) + } + store, err := upspin.ParseEndpoint(parts[1]) + if err != nil { + log.Fatalf("couldn't parse first line of %q as storeserver: %v", path, err) + } + userStruct := &upspin.User{ Name: upspin.UserName(name), - PublicKey: upspin.PublicKey(string(pk)), + Dirs: []upspin.Endpoint{*dir}, + Stores: []upspin.Endpoint{*store}, + PublicKey: upspin.PublicKey(string(parts[2])), } - err = key.Put(userStruct) + err = server.Put(userStruct) if err != nil { log.Fatalf("Put %q failed: %v", name, err) } |