Software /
code /
prosody
Comparison
net/dns.lua @ 2741:fcd30b72c50c
net.dns: More reliable parsing of resolv.conf - allow multiple nameserver IPs on one line (thanks dersd)
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 05 Mar 2010 18:15:08 +0000 |
parent | 2620:481c6724818f |
child | 2742:6c0a081cd766 |
comparison
equal
deleted
inserted
replaced
2740:2442c54cf9ec | 2741:fcd30b72c50c |
---|---|
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"); |