@@ -76,7 +76,7 @@ func (h *Headscale) RegistrationHandler(c *gin.Context) {
7676 }
7777
7878 var m Machine
79- if result := h .db .First (& m , "machine_key = ?" , mKey .HexString ()); errors .Is (result .Error , gorm .ErrRecordNotFound ) {
79+ if result := h .db .Preload ( "Namespace" ). First (& m , "machine_key = ?" , mKey .HexString ()); errors .Is (result .Error , gorm .ErrRecordNotFound ) {
8080 log .Println ("New Machine!" )
8181 m = Machine {
8282 Expiry : & req .Expiry ,
@@ -200,7 +200,7 @@ func (h *Headscale) PollNetMapHandler(c *gin.Context) {
200200 }
201201
202202 var m Machine
203- if result := h .db .First (& m , "machine_key = ?" , mKey .HexString ()); errors .Is (result .Error , gorm .ErrRecordNotFound ) {
203+ if result := h .db .Preload ( "Namespace" ). First (& m , "machine_key = ?" , mKey .HexString ()); errors .Is (result .Error , gorm .ErrRecordNotFound ) {
204204 log .Printf ("Ignoring request, cannot find machine with key %s" , mKey .HexString ())
205205 c .String (http .StatusUnauthorized , "" )
206206 return
@@ -357,16 +357,23 @@ func (h *Headscale) getMapResponse(mKey wgkey.Key, req tailcfg.MapRequest, m Mac
357357 log .Printf ("Cannot fetch peers: %s" , err )
358358 return nil , err
359359 }
360+
361+ profile := tailcfg.UserProfile {
362+ ID : tailcfg .UserID (m .NamespaceID ),
363+ LoginName : m .Namespace .Name ,
364+ DisplayName : m .Namespace .Name ,
365+ }
366+
360367 resp := tailcfg.MapResponse {
361368 KeepAlive : false ,
362369 Node : node ,
363370 Peers : * peers ,
364371 DNS : []netaddr.IP {},
365372 SearchPaths : []string {},
366- 373+ Domain : "headscale.net " ,
367374 PacketFilter : * h .aclRules ,
368375 DERPMap : h .cfg .DerpMap ,
369- UserProfiles : []tailcfg.UserProfile {},
376+ UserProfiles : []tailcfg.UserProfile {profile },
370377 }
371378
372379 var respBody []byte
0 commit comments