2018-02-03 21:40:44 +01:00
|
|
|
|
|
|
|
require 'ipaddr'
|
|
|
|
|
|
|
|
module Dyndnsd
|
|
|
|
class Helper
|
2018-02-23 12:54:43 +01:00
|
|
|
def self.fqdn_valid?(hostname, domain)
|
2018-02-03 21:40:44 +01:00
|
|
|
return false if hostname.length < domain.length + 2
|
2018-02-23 12:54:43 +01:00
|
|
|
return false if !hostname.end_with?(domain)
|
2018-02-03 21:40:44 +01:00
|
|
|
name = hostname.chomp(domain)
|
2018-02-23 12:54:43 +01:00
|
|
|
return false if !name.match(/^[a-zA-Z0-9_-]+\.$/)
|
2018-02-03 21:40:44 +01:00
|
|
|
true
|
|
|
|
end
|
|
|
|
|
2018-02-23 12:54:43 +01:00
|
|
|
def self.ip_valid?(ip)
|
|
|
|
IPAddr.new(ip)
|
|
|
|
return true
|
|
|
|
rescue ArgumentError
|
|
|
|
return false
|
2018-02-03 21:40:44 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|