summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go29
1 files changed, 24 insertions, 5 deletions
diff --git a/main.go b/main.go
index 2570c08..d281c64 100644
--- a/main.go
+++ b/main.go
@@ -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)
}