@@ -1228,7 +1228,10 @@ func (s *sessionRpcServer) marshalRPCSession(sess *session.Session) (
1228
1228
revokedAt = uint64 (sess .RevokedAt .Unix ())
1229
1229
}
1230
1230
1231
- featureInfo := make (map [string ]* litrpc.RulesMap )
1231
+ var (
1232
+ featureInfo = make (map [string ]* litrpc.RulesMap )
1233
+ initRuleValues = s .cfg .ruleMgrs .InitRuleValues
1234
+ )
1232
1235
if sess .MacaroonRecipe != nil {
1233
1236
for _ , cav := range sess .MacaroonRecipe .Caveats {
1234
1237
info , err := firewall .ParseRuleCaveat (string (cav .Id ))
@@ -1241,13 +1244,17 @@ func (s *sessionRpcServer) marshalRPCSession(sess *session.Session) (
1241
1244
for feature , rules := range info .FeatureRules {
1242
1245
ruleMap := make (map [string ]* litrpc.RuleValue )
1243
1246
for name , rule := range rules {
1244
- val , err := s .cfg .ruleMgrs .InitRuleValues (name , []byte (rule ))
1247
+ val , err := initRuleValues (
1248
+ name , []byte (rule ),
1249
+ )
1245
1250
if err != nil {
1246
1251
return nil , err
1247
1252
}
1248
1253
1249
1254
if sess .WithPrivacyMapper {
1250
- db := s .cfg .privMap (sess .ID )
1255
+ db := s .cfg .privMap (
1256
+ sess .GroupID ,
1257
+ )
1251
1258
val , err = val .PseudoToReal (db )
1252
1259
if err != nil {
1253
1260
return nil , err
@@ -1257,7 +1264,9 @@ func (s *sessionRpcServer) marshalRPCSession(sess *session.Session) (
1257
1264
ruleMap [name ] = val .ToProto ()
1258
1265
}
1259
1266
1260
- featureInfo [feature ] = & litrpc.RulesMap {Rules : ruleMap }
1267
+ featureInfo [feature ] = & litrpc.RulesMap {
1268
+ Rules : ruleMap ,
1269
+ }
1261
1270
}
1262
1271
}
1263
1272
}
@@ -1278,6 +1287,7 @@ func (s *sessionRpcServer) marshalRPCSession(sess *session.Session) (
1278
1287
RevokedAt : revokedAt ,
1279
1288
MacaroonRecipe : macRecipe ,
1280
1289
AutopilotFeatureInfo : featureInfo ,
1290
+ GroupId : sess .GroupID [:],
1281
1291
}, nil
1282
1292
}
1283
1293
0 commit comments