Use compact if-with-assign statements where scoping allows
This commit is contained in:
1 parent
126c36cffb
commit
96ce10a4d5
5 files changed
+20
-34
No files matched your search
+4
-9
@@ -38,7 +38,6 @@ func ListenHttp(domain string, db Zone, port int) {
|
||||
ident, weaveIPstr, err := parseUrl(r.URL.Path)
|
||||
name := r.FormValue("fqdn")
|
||||
localIPstr := r.FormValue("local_ip")
|
||||
|
||||
if ident == "" || weaveIPstr == "" || name == "" || localIPstr == "" {
|
||||
reqError("Invalid request", "Invalid request: %s, %s", r.URL, r.Form)
|
||||
return
|
||||
@@ -58,10 +57,8 @@ func ListenHttp(domain string, db Zone, port int) {
|
||||
|
||||
if dns.IsSubDomain(domain, name) {
|
||||
Info.Printf("Adding %s (%s) -> %s", name, localIPstr, weaveIPstr)
|
||||
err = db.AddRecord(ident, name, localIP, weaveIP)
|
||||
if err != nil {
|
||||
dup, ok := err.(DuplicateError)
|
||||
if !ok {
|
||||
if err = db.AddRecord(ident, name, localIP, weaveIP); err != nil {
|
||||
if dup, ok := err.(DuplicateError); !ok {
|
||||
httpErrorAndLog(
|
||||
Error, w, "Internal error", http.StatusInternalServerError,
|
||||
"Unexpected error from DB: %s", err)
|
||||
@@ -88,8 +85,7 @@ func ListenHttp(domain string, db Zone, port int) {
|
||||
return
|
||||
}
|
||||
Info.Printf("Deleting %s (%s)", ident, weaveIPstr)
|
||||
err = db.DeleteRecord(ident, weaveIP)
|
||||
if err != nil {
|
||||
if err = db.DeleteRecord(ident, weaveIP); err != nil {
|
||||
if _, ok := err.(LookupError); !ok {
|
||||
httpErrorAndLog(
|
||||
Error, w, "Internal error", http.StatusInternalServerError,
|
||||
@@ -105,8 +101,7 @@ func ListenHttp(domain string, db Zone, port int) {
|
||||
})
|
||||
|
||||
address := fmt.Sprintf(":%d", port)
|
||||
err := http.ListenAndServe(address, nil)
|
||||
if err != nil {
|
||||
if err := http.ListenAndServe(address, nil); err != nil {
|
||||
Error.Fatal("Unable to create http listener: ", err)
|
||||
}
|
||||
}
|
||||
+2
-4
@@ -7,8 +7,7 @@ import (
|
||||
)
|
||||
|
||||
func EnsureInterface(ifaceName string, wait int) (iface *net.Interface, err error) {
|
||||
iface, err = findInterface(ifaceName)
|
||||
if err == nil || wait == 0 {
|
||||
if iface, err = findInterface(ifaceName); err == nil || wait == 0 {
|
||||
return
|
||||
}
|
||||
Info.Println("Waiting for interface", ifaceName, "to come up")
|
||||
@@ -23,8 +22,7 @@ func EnsureInterface(ifaceName string, wait int) (iface *net.Interface, err erro
|
||||
}
|
||||
|
||||
func findInterface(ifaceName string) (iface *net.Interface, err error) {
|
||||
iface, err = net.InterfaceByName(ifaceName)
|
||||
if err != nil {
|
||||
if iface, err = net.InterfaceByName(ifaceName); err != nil {
|
||||
return iface, fmt.Errorf("Unable to find interface %s", ifaceName)
|
||||
}
|
||||
if 0 == (net.FlagUp & iface.Flags) {
|
||||
|
||||
+8
-10
@@ -62,14 +62,14 @@ type mDNSQueryInfo struct {
|
||||
}
|
||||
|
||||
func NewMDNSClient() (*MDNSClient, error) {
|
||||
conn, err := net.ListenUDP("udp4", &net.UDPAddr{IP: net.IPv4zero, Port: 0})
|
||||
if err != nil {
|
||||
if conn, err := net.ListenUDP("udp4", &net.UDPAddr{IP: net.IPv4zero, Port: 0}); err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
return &MDNSClient{
|
||||
conn: conn,
|
||||
addr: ipv4Addr,
|
||||
inflight: make(map[string]*inflightQuery)}, nil
|
||||
}
|
||||
return &MDNSClient{
|
||||
conn: conn,
|
||||
addr: ipv4Addr,
|
||||
inflight: make(map[string]*inflightQuery)}, nil
|
||||
}
|
||||
|
||||
func (c *MDNSClient) Start(ifi *net.Interface) error {
|
||||
@@ -96,8 +96,7 @@ func (c *MDNSClient) Start(ifi *net.Interface) error {
|
||||
}
|
||||
|
||||
func LinkLocalMulticastListener(ifi *net.Interface) (net.PacketConn, error) {
|
||||
conn, err := net.ListenMulticastUDP("udp", ifi, ipv4Addr)
|
||||
return conn, err
|
||||
return net.ListenMulticastUDP("udp", ifi, ipv4Addr)
|
||||
}
|
||||
|
||||
// ACTOR client API
|
||||
@@ -216,8 +215,7 @@ func (c *MDNSClient) handleSendQuery(q mDNSQueryInfo) {
|
||||
name: q.name,
|
||||
id: m.Id,
|
||||
}
|
||||
_, err = c.conn.WriteTo(buf, c.addr)
|
||||
if err != nil {
|
||||
if _, err = c.conn.WriteTo(buf, c.addr); err != nil {
|
||||
q.responseCh <- &ResponseA{Err: err}
|
||||
close(q.responseCh)
|
||||
return
|
||||
|
||||
@@ -17,9 +17,7 @@ func NewMDNSServer(zone Zone) (*MDNSServer, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
retval := &MDNSServer{sendconn: sendconn, zone: zone}
|
||||
|
||||
return retval, nil
|
||||
return &MDNSServer{sendconn: sendconn, zone: zone}, nil
|
||||
}
|
||||
|
||||
// Return true if testaddr is a UDP address with IP matching my local i/f
|
||||
@@ -41,8 +39,7 @@ func (s *MDNSServer) Start(ifi *net.Interface) error {
|
||||
// Ignore answers to other questions
|
||||
if len(r.Answer) == 0 && len(r.Question) > 0 {
|
||||
q := r.Question[0]
|
||||
ip, err := s.zone.MatchLocal(q.Name)
|
||||
if err == nil {
|
||||
if ip, err := s.zone.MatchLocal(q.Name); err == nil {
|
||||
m := makeAReply(r, &q, []net.IP{ip})
|
||||
s.SendResponse(m)
|
||||
} else if s.addrIsLocal(w.RemoteAddr()) {
|
||||
@@ -57,6 +54,7 @@ func (s *MDNSServer) Start(ifi *net.Interface) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if ifi == nil {
|
||||
s.localAddrs, err = net.InterfaceAddrs()
|
||||
} else {
|
||||
|
||||
+3
-6
@@ -39,8 +39,7 @@ func queryHandler(zone Zone, mdnsClient *MDNSClient) dns.HandlerFunc {
|
||||
q := r.Question[0]
|
||||
Debug.Printf("Local query: %+v", q)
|
||||
if q.Qtype == dns.TypeA {
|
||||
ip, err := zone.MatchLocal(q.Name)
|
||||
if err == nil {
|
||||
if ip, err := zone.MatchLocal(q.Name); err == nil {
|
||||
m := makeAReply(r, &q, []net.IP{ip})
|
||||
w.WriteMsg(m)
|
||||
} else {
|
||||
@@ -81,8 +80,7 @@ func rdnsHandler(zone Zone, mdnsClient *MDNSClient) dns.HandlerFunc {
|
||||
ip4 := ip.To4()
|
||||
revIP := []byte{ip4[3], ip4[2], ip4[1], ip4[0]}
|
||||
Debug.Printf("Looking for address: %+v", revIP)
|
||||
name, err := zone.MatchLocalIP(revIP)
|
||||
if err == nil {
|
||||
if name, err := zone.MatchLocalIP(revIP); err == nil {
|
||||
Debug.Printf("Found name: %s", name)
|
||||
m := makePTRReply(r, &q, []string{name})
|
||||
w.WriteMsg(m)
|
||||
@@ -106,8 +104,7 @@ func notUsHandler() dns.HandlerFunc {
|
||||
Debug.Printf("Non-local query: %+v", q)
|
||||
var responseMsg *dns.Msg
|
||||
if q.Qtype == dns.TypeA {
|
||||
addrs, err := net.LookupIP(q.Name)
|
||||
if err == nil {
|
||||
if addrs, err := net.LookupIP(q.Name); err == nil {
|
||||
responseMsg = makeAReply(r, &q, addrs)
|
||||
} else {
|
||||
responseMsg = makeDNSFailResponse(r)
|
||||
|
||||
Reference in new issue
Block a user