summaryrefslogtreecommitdiff
path: root/src/pkg/net/dnsclient.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/net/dnsclient.go')
-rw-r--r--src/pkg/net/dnsclient.go46
1 files changed, 23 insertions, 23 deletions
diff --git a/src/pkg/net/dnsclient.go b/src/pkg/net/dnsclient.go
index 46b8218a4..3c283001b 100644
--- a/src/pkg/net/dnsclient.go
+++ b/src/pkg/net/dnsclient.go
@@ -21,9 +21,9 @@ import (
// DNSError represents a DNS lookup error.
type DNSError struct {
- Error string; // description of the error
- Name string; // name looked for
- Server string; // server used
+ Error string; // description of the error
+ Name string; // name looked for
+ Server string; // server used
}
func (e *DNSError) String() string {
@@ -41,30 +41,30 @@ const noSuchHost = "no such host"
// Up to cfg.attempts attempts.
func _Exchange(cfg *_DNS_Config, c Conn, name string) (m *_DNS_Msg, err os.Error) {
if len(name) >= 256 {
- return nil, &DNSError{"name too long", name, ""}
+ return nil, &DNSError{"name too long", name, ""};
}
out := new(_DNS_Msg);
out.id = 0x1234;
out.question = []_DNS_Question{
- _DNS_Question{ name, _DNS_TypeA, _DNS_ClassINET }
+ _DNS_Question{name, _DNS_TypeA, _DNS_ClassINET},
};
out.recursion_desired = true;
msg, ok := out.Pack();
if !ok {
- return nil, &DNSError{"internal error - cannot pack message", name, ""}
+ return nil, &DNSError{"internal error - cannot pack message", name, ""};
}
for attempt := 0; attempt < cfg.attempts; attempt++ {
n, err := c.Write(msg);
if err != nil {
- return nil, err
+ return nil, err;
}
c.SetReadTimeout(1e9); // nanoseconds
buf := make([]byte, 2000); // More than enough.
n, err = c.Read(buf);
- if isEAGAIN(err) {
+ if isEAGAIN(err) {
err = nil;
continue;
}
@@ -74,15 +74,15 @@ func _Exchange(cfg *_DNS_Config, c Conn, name string) (m *_DNS_Msg, err os.Error
buf = buf[0:n];
in := new(_DNS_Msg);
if !in.Unpack(buf) || in.id != out.id {
- continue
+ continue;
}
- return in, nil
+ return in, nil;
}
var server string;
if a := c.RemoteAddr(); a != nil {
server = a.String();
}
- return nil, &DNSError{"no answer from server", name, server}
+ return nil, &DNSError{"no answer from server", name, server};
}
@@ -92,14 +92,14 @@ func answer(name, server string, dns *_DNS_Msg) (addrs []string, err *DNSError)
addrs = make([]string, 0, len(dns.answer));
if dns.rcode == _DNS_RcodeNameError && dns.recursion_available {
- return nil, &DNSError{noSuchHost, name, ""}
+ return nil, &DNSError{noSuchHost, name, ""};
}
if dns.rcode != _DNS_RcodeSuccess {
// None of the error codes make sense
// for the query we sent. If we didn't get
// a name error and we didn't get success,
// the server is behaving incorrectly.
- return nil, &DNSError{"server misbehaving", name, server}
+ return nil, &DNSError{"server misbehaving", name, server};
}
// Look for the name.
@@ -118,29 +118,29 @@ Cname:
case _DNS_TypeA:
n := len(addrs);
a := rr.(*_DNS_RR_A).A;
- addrs = addrs[0:n+1];
+ addrs = addrs[0 : n+1];
addrs[n] = IPv4(byte(a>>24), byte(a>>16), byte(a>>8), byte(a)).String();
case _DNS_TypeCNAME:
// redirect to cname
name = rr.(*_DNS_RR_CNAME).Cname;
- continue Cname
+ continue Cname;
}
}
}
if len(addrs) == 0 {
- return nil, &DNSError{noSuchHost, name, server}
+ return nil, &DNSError{noSuchHost, name, server};
}
- return addrs, nil
+ return addrs, nil;
}
- return nil, &DNSError{"too many redirects", name, server}
+ return nil, &DNSError{"too many redirects", name, server};
}
// Do a lookup for a single name, which must be rooted
// (otherwise answer will not find the answers).
func tryOneName(cfg *_DNS_Config, name string) (addrs []string, err os.Error) {
if len(cfg.servers) == 0 {
- return nil, &DNSError{"no DNS servers", name, ""}
+ return nil, &DNSError{"no DNS servers", name, ""};
}
for i := 0; i < len(cfg.servers); i++ {
// Calling Dial here is scary -- we have to be sure
@@ -255,14 +255,14 @@ func LookupHost(name string) (cname string, addrs []string, err os.Error) {
}
}
if rooted {
- return
+ return;
}
// Otherwise, try suffixes.
for i := 0; i < len(cfg.search); i++ {
- rname := name+"."+cfg.search[i];
+ rname := name + "." + cfg.search[i];
if rname[len(rname)-1] != '.' {
- rname += "."
+ rname += ".";
}
addrs, err = tryOneName(cfg, rname);
if err == nil {
@@ -270,5 +270,5 @@ func LookupHost(name string) (cname string, addrs []string, err os.Error) {
return;
}
}
- return
+ return;
}