10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/certmeister/policy/fcrdns.rb', line 10
def authenticate(request)
begin
if not request[:cn]
Certmeister::Policy::Response.new(false, "missing cn")
elsif not request[:ip]
Certmeister::Policy::Response.new(false, "missing ip")
elsif not fcrdns_names(request[:ip]).include?(request[:cn])
Certmeister::Policy::Response.new(false, "cn does not match fcrdns")
else
Certmeister::Policy::Response.new(true, nil)
end
rescue Resolv::ResolvError => e
Certmeister::Policy::Response.new(false, "DNS error (#{e.message})")
end
end
|