Class: Radd::Nameserver
- Inherits:
-
Async::DNS::Server
- Object
- Async::DNS::Server
- Radd::Nameserver
- Defined in:
- lib/radd/nameserver.rb
Instance Method Summary collapse
-
#initialize ⇒ Nameserver
constructor
A new instance of Nameserver.
- #process(name, resource_class, transaction) ⇒ Object
Constructor Details
#initialize ⇒ Nameserver
Returns a new instance of Nameserver.
2 3 4 |
# File 'lib/radd/nameserver.rb', line 2 def initialize super(Async::DNS::Endpoint.for(Radd.host, port: Radd.dns_port)) end |
Instance Method Details
#process(name, resource_class, transaction) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/radd/nameserver.rb', line 6 def process(name, resource_class, transaction) name = name.downcase if Resolv::DNS::Resource::IN::A == resource_class if Radd.domain == name ip = Radd.ip else ip = Radd.query(name) end end return transaction.respond!(ip, ttl: 300) if ip transaction.fail!(:NXDomain) end |