TBR: veyron/services/wsprd/ipc/server: Update with
https://veyron-review.googlesource.com/#/c/7090/
Change-Id: Ife1ce356a0276dca31877f4078105543072244c8
diff --git a/services/wsprd/ipc/server/server.go b/services/wsprd/ipc/server/server.go
index ab263f6..e3cb87e 100644
--- a/services/wsprd/ipc/server/server.go
+++ b/services/wsprd/ipc/server/server.go
@@ -78,7 +78,7 @@
Method string `json:"method"`
Name string `json:"name"`
Suffix string `json:"suffix"`
- Label security.Label `json:"label"`
+ Label security.Label `json:"label"` // TODO(bjornick,ashankar): This should be method tags!
LocalBlessings principal.BlessingsHandle `json:"localBlessings"`
LocalBlessingStrings []string `json:"localBlessingStrings"`
RemoteBlessings principal.BlessingsHandle `json:"remoteBlessings"`
@@ -264,7 +264,7 @@
Method: lib.LowercaseFirstCharacter(ctx.Method()),
Name: ctx.Name(),
Suffix: ctx.Suffix(),
- Label: ctx.Label(),
+ Label: labelFromMethodTags(ctx.MethodTags()),
LocalEndpoint: ctx.LocalEndpoint().String(),
RemoteEndpoint: ctx.RemoteEndpoint().String(),
LocalBlessings: s.convertBlessingsToHandle(ctx.LocalBlessings()),
@@ -425,3 +425,12 @@
func (s *Server) RemoveName(name string) error {
return s.server.RemoveName(name)
}
+
+func labelFromMethodTags(tags []interface{}) security.Label {
+ for _, t := range tags {
+ if l, ok := t.(security.Label); ok {
+ return l
+ }
+ }
+ return security.AdminLabel
+}