From 96ce10a4d5fef926485a5a3e9b716201b13caac1 Mon Sep 17 00:00:00 2001 From: Michael Bridgen Date: Tue, 28 Oct 2014 15:38:53 +0000 Subject: [PATCH] Use compact if-with-assign statements where scoping allows --- server/http.go | 13 ++++--------- server/if_utils.go | 6 ++---- server/mdns_client.go | 18 ++++++++---------- server/mdns_server.go | 8 +++----- server/server.go | 9 +++------ 5 files changed, 20 insertions(+), 34 deletions(-) diff --git a/server/http.go b/server/http.go index 2e67899a..cecc1d91 100644 --- a/server/http.go +++ b/server/http.go @@ -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) } } diff --git a/server/if_utils.go b/server/if_utils.go index 9406c533..051c57f6 100644 --- a/server/if_utils.go +++ b/server/if_utils.go @@ -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) { diff --git a/server/mdns_client.go b/server/mdns_client.go index 64920e8d..db5f134a 100644 --- a/server/mdns_client.go +++ b/server/mdns_client.go @@ -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 diff --git a/server/mdns_server.go b/server/mdns_server.go index 45542bec..7997baaa 100644 --- a/server/mdns_server.go +++ b/server/mdns_server.go @@ -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 { diff --git a/server/server.go b/server/server.go index 97bed95d..26ca3672 100644 --- a/server/server.go +++ b/server/server.go @@ -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)