diff --git a/base/tcp/host.go b/base/tcp/host.go index 9d0a759f..8596593d 100644 --- a/base/tcp/host.go +++ b/base/tcp/host.go @@ -64,7 +64,7 @@ func init() { ISLOCAL: {Hand: func(m *ice.Message, arg ...string) { if arg[0] = strings.Split(strings.TrimPrefix(arg[0], "["), "]")[0]; arg[0] == "::1" || strings.HasPrefix(arg[0], "127.") { m.Echo(ice.OK) - } else if mdb.HashSelectField(m, arg[0], mdb.TYPE) == aaa.WHITE { + } else if mdb.HashSelectField(m, strings.Split(arg[0], nfs.DF)[0], mdb.TYPE) == aaa.WHITE { m.Echo(ice.OK) } }}, diff --git a/base/web/space.go b/base/web/space.go index 8d3a6838..5114a6c5 100644 --- a/base/web/space.go +++ b/base/web/space.go @@ -49,7 +49,7 @@ func _space_fork(m *ice.Message) { addr := kit.Select(m.R.RemoteAddr, m.R.Header.Get(ice.MSG_USERADDR)) name := kit.ReplaceAll(kit.Select(addr, m.Option(mdb.NAME)), "[", "_", "]", "_", nfs.DF, "_", nfs.PT, "_") text := kit.Select(addr, m.Option(mdb.TEXT)) - if kit.IsIn(m.Option(mdb.TYPE), CHROME) || !(ice.Info.Localhost && tcp.IsLocalHost(m, strings.Split(m.R.RemoteAddr, nfs.DF)[0]) || + if kit.IsIn(m.Option(mdb.TYPE), CHROME) || !(ice.Info.Localhost && tcp.IsLocalHost(m, m.R.RemoteAddr) || m.Option(TOKEN) != "" && m.Cmdv(TOKEN, m.Option(TOKEN), mdb.TIME) > m.Time()) { name = kit.ReplaceAll(addr, "[", "_", "]", "_", nfs.DF, "_", nfs.PT, "_") text = kit.Select(addr, m.Option(mdb.NAME), m.Option(mdb.TEXT))