@@ -153,6 +153,7 @@ func addNextDNSMetadata(resolvers []*dnstype.Resolver, node *types.Node) {
153
153
func (m * Mapper ) fullMapResponse (
154
154
node * types.Node ,
155
155
peers types.Nodes ,
156
+ users []types.User ,
156
157
pol * policy.ACLPolicy ,
157
158
capVer tailcfg.CapabilityVersion ,
158
159
) (* tailcfg.MapResponse , error ) {
@@ -167,6 +168,7 @@ func (m *Mapper) fullMapResponse(
167
168
pol ,
168
169
node ,
169
170
capVer ,
171
+ users ,
170
172
peers ,
171
173
peers ,
172
174
m .cfg ,
@@ -189,8 +191,12 @@ func (m *Mapper) FullMapResponse(
189
191
if err != nil {
190
192
return nil , err
191
193
}
194
+ users , err := m .db .ListUsers ()
195
+ if err != nil {
196
+ return nil , err
197
+ }
192
198
193
- resp , err := m .fullMapResponse (node , peers , pol , mapRequest .Version )
199
+ resp , err := m .fullMapResponse (node , peers , users , pol , mapRequest .Version )
194
200
if err != nil {
195
201
return nil , err
196
202
}
@@ -253,6 +259,11 @@ func (m *Mapper) PeerChangedResponse(
253
259
return nil , err
254
260
}
255
261
262
+ users , err := m .db .ListUsers ()
263
+ if err != nil {
264
+ return nil , fmt .Errorf ("listing users for map response: %w" , err )
265
+ }
266
+
256
267
var removedIDs []tailcfg.NodeID
257
268
var changedIDs []types.NodeID
258
269
for nodeID , nodeChanged := range changed {
@@ -276,6 +287,7 @@ func (m *Mapper) PeerChangedResponse(
276
287
pol ,
277
288
node ,
278
289
mapRequest .Version ,
290
+ users ,
279
291
peers ,
280
292
changedNodes ,
281
293
m .cfg ,
@@ -508,16 +520,17 @@ func appendPeerChanges(
508
520
pol * policy.ACLPolicy ,
509
521
node * types.Node ,
510
522
capVer tailcfg.CapabilityVersion ,
523
+ users []types.User ,
511
524
peers types.Nodes ,
512
525
changed types.Nodes ,
513
526
cfg * types.Config ,
514
527
) error {
515
- packetFilter , err := pol .CompileFilterRules (append (peers , node ))
528
+ packetFilter , err := pol .CompileFilterRules (users , append (peers , node ))
516
529
if err != nil {
517
530
return err
518
531
}
519
532
520
- sshPolicy , err := pol .CompileSSHPolicy (node , peers )
533
+ sshPolicy , err := pol .CompileSSHPolicy (node , users , peers )
521
534
if err != nil {
522
535
return err
523
536
}
0 commit comments