move zoneMatch to dns.go
This commit is contained in:
parent
770f580540
commit
4925a831aa
26
dns.go
26
dns.go
|
@ -191,3 +191,29 @@ func (h *RR_Header) String() string {
|
|||
}
|
||||
return s
|
||||
}
|
||||
|
||||
func zoneMatch(pattern, zone string) (ok bool) {
|
||||
if len(pattern) == 0 {
|
||||
return
|
||||
}
|
||||
if pattern[len(pattern)-1] != '.' {
|
||||
pattern += "."
|
||||
}
|
||||
if zone[len(zone)-1] != '.' {
|
||||
zone += "."
|
||||
}
|
||||
i := 0
|
||||
for {
|
||||
ok = pattern[len(pattern)-1-i] == zone[len(zone)-1-i]
|
||||
i++
|
||||
|
||||
if !ok {
|
||||
break
|
||||
}
|
||||
if len(pattern)-1-i < 0 || len(zone)-1-i < 0 {
|
||||
break
|
||||
}
|
||||
|
||||
}
|
||||
return
|
||||
}
|
||||
|
|
26
server.go
26
server.go
|
@ -84,32 +84,6 @@ func ListenAndServe(addr string, network string, handler Handler) os.Error {
|
|||
return server.ListenAndServe()
|
||||
}
|
||||
|
||||
func zoneMatch(pattern, zone string) (ok bool) {
|
||||
if len(pattern) == 0 {
|
||||
return
|
||||
}
|
||||
if pattern[len(pattern)-1] != '.' {
|
||||
pattern += "."
|
||||
}
|
||||
if zone[len(zone)-1] != '.' {
|
||||
zone += "."
|
||||
}
|
||||
i := 0
|
||||
for {
|
||||
ok = pattern[len(pattern)-1-i] == zone[len(zone)-1-i]
|
||||
i++
|
||||
|
||||
if !ok {
|
||||
break
|
||||
}
|
||||
if len(pattern)-1-i < 0 || len(zone)-1-i < 0 {
|
||||
break
|
||||
}
|
||||
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (mux *ServeMux) match(zone string) Handler {
|
||||
var h Handler
|
||||
var n = 0
|
||||
|
|
Loading…
Reference in New Issue