make the host/domain matching case-insensitive (#3966)

This commit is contained in:
fatedier 2024-02-01 11:53:52 +08:00 committed by GitHub
parent b31c67d7c0
commit 1c8bc0bfa8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 0 deletions

View File

@ -5,3 +5,7 @@
### Features ### Features
* The `Refresh` and `ClearOfflineProxies` buttons have been added to the Dashboard of frps. * The `Refresh` and `ClearOfflineProxies` buttons have been added to the Dashboard of frps.
### Fixes
* The host/domain matching in the routing rules has been changed to be case-insensitive.

View File

@ -33,6 +33,8 @@ func NewRouters() *Routers {
} }
func (r *Routers) Add(domain, location, httpUser string, payload interface{}) error { func (r *Routers) Add(domain, location, httpUser string, payload interface{}) error {
domain = strings.ToLower(domain)
r.mutex.Lock() r.mutex.Lock()
defer r.mutex.Unlock() defer r.mutex.Unlock()
@ -64,6 +66,8 @@ func (r *Routers) Add(domain, location, httpUser string, payload interface{}) er
} }
func (r *Routers) Del(domain, location, httpUser string) { func (r *Routers) Del(domain, location, httpUser string) {
domain = strings.ToLower(domain)
r.mutex.Lock() r.mutex.Lock()
defer r.mutex.Unlock() defer r.mutex.Unlock()
@ -86,6 +90,8 @@ func (r *Routers) Del(domain, location, httpUser string) {
} }
func (r *Routers) Get(host, path, httpUser string) (vr *Router, exist bool) { func (r *Routers) Get(host, path, httpUser string) (vr *Router, exist bool) {
host = strings.ToLower(host)
r.mutex.RLock() r.mutex.RLock()
defer r.mutex.RUnlock() defer r.mutex.RUnlock()