diff --git a/session/session_core_handlers.go b/session/session_core_handlers.go index a49acf90..dc4047c4 100644 --- a/session/session_core_handlers.go +++ b/session/session_core_handlers.go @@ -181,7 +181,7 @@ func (s *Session) shHandler(args []string, sess *Session) error { func (s *Session) aliasHandler(args []string, sess *Session) error { mac := args[0] - alias := args[1] + alias := strings.Trim(args[1], "\r\n\t ") if s.Targets.SetAliasFor(mac, alias) == true { return nil @@ -287,7 +287,7 @@ func (s *Session) registerCoreHandlers() { readline.PcItem("!")) s.addHandler(NewCommandHandler("alias MAC NAME", - "^alias\\s+([a-fA-F0-9:]{17})\\s+(.+)", + "^alias\\s+([a-fA-F0-9:]{17})\\s*(.*)", "Assign an alias to a given endpoint given its MAC address.", s.aliasHandler), readline.PcItem("alias", readline.PcItemDynamic(func(prefix string) []string { diff --git a/session/targets.go b/session/targets.go index a3f4939d..6185de59 100644 --- a/session/targets.go +++ b/session/targets.go @@ -93,7 +93,12 @@ func (tp *Targets) SetAliasFor(mac, alias string) bool { defer tp.Unlock() if t, found := tp.Targets[mac]; found == true { - tp.Aliases[mac] = alias + if alias != "" { + tp.Aliases[mac] = alias + } else { + delete(tp.Aliases, mac) + } + t.Alias = alias tp.saveAliases() return true