Mercurial > prosody-hg
comparison net/dns.lua @ 2997:6ccaefea80ec
Merge with tip.
| author | Tobias Markmann <tm@ayena.de> |
|---|---|
| date | Fri, 12 Mar 2010 18:41:05 +0100 |
| parents | 6c0a081cd766 |
| children | e54774bd73a7 |
comparison
equal
deleted
inserted
replaced
| 2996:b0515ed4d9d7 | 2997:6ccaefea80ec |
|---|---|
| 530 end | 530 end |
| 531 end | 531 end |
| 532 if not self.server or #self.server == 0 then | 532 if not self.server or #self.server == 0 then |
| 533 -- TODO log warning about no nameservers, adding opendns servers as fallback | 533 -- TODO log warning about no nameservers, adding opendns servers as fallback |
| 534 self:addnameserver("208.67.222.222"); | 534 self:addnameserver("208.67.222.222"); |
| 535 self:addnameserver("208.67.220.220") ; | 535 self:addnameserver("208.67.220.220"); |
| 536 end | 536 end |
| 537 else -- posix | 537 else -- posix |
| 538 local resolv_conf = io.open("/etc/resolv.conf"); | 538 local resolv_conf = io.open("/etc/resolv.conf"); |
| 539 if resolv_conf then | 539 if resolv_conf then |
| 540 for line in resolv_conf:lines() do | 540 for line in resolv_conf:lines() do |
| 541 local address = line:gsub("#.*$", ""):match('^%s*nameserver%s+(%d+%.%d+%.%d+%.%d+)%s*$'); | 541 line = line:gsub("#.*$", "") |
| 542 if address then self:addnameserver(address) end | 542 :match('^%s*nameserver%s+(.*)%s*$'); |
| 543 if line then | |
| 544 line:gsub("%f[%d.](%d+%.%d+%.%d+%.%d+)%f[^%d.]", function (address) | |
| 545 self:addnameserver(address) | |
| 546 end); | |
| 547 end | |
| 543 end | 548 end |
| 544 end | 549 end |
| 545 if not self.server or #self.server == 0 then | 550 if not self.server or #self.server == 0 then |
| 546 -- TODO log warning about no nameservers, adding localhost as the default nameserver | 551 -- TODO log warning about no nameservers, adding localhost as the default nameserver |
| 547 self:addnameserver("127.0.0.1"); | 552 self:addnameserver("127.0.0.1"); |
| 794 if coroutine.status(co) == "suspended" then coroutine.resume(co); end | 799 if coroutine.status(co) == "suspended" then coroutine.resume(co); end |
| 795 end | 800 end |
| 796 set(self.wanted, q.class, q.type, q.name, nil); | 801 set(self.wanted, q.class, q.type, q.name, nil); |
| 797 end | 802 end |
| 798 end | 803 end |
| 799 end | 804 end |
| 800 | 805 |
| 801 return response; | 806 return response; |
| 802 end | 807 end |
| 803 | 808 |
| 804 function resolver:cancel(data) | 809 function resolver:cancel(data) |
