# File lib/puppet/network/http/rack/rest.rb, line 82 82: def extract_client_info(request) 83: result = {} 84: result[:ip] = request.ip 85: 86: # if we find SSL info in the headers, use them to get a hostname. 87: # try this with :ssl_client_header, which defaults should work for 88: # Apache with StdEnvVars. 89: if dn = request.env[Puppet[:ssl_client_header]] and dn_matchdata = dn.match(/^.*?CN\s*=\s*(.*)/) 90: result[:node] = dn_matchdata[1].to_str 91: result[:authenticated] = (request.env[Puppet[:ssl_client_verify_header]] == 'SUCCESS') 92: else 93: result[:node] = resolve_node(result) 94: result[:authenticated] = false 95: end 96: 97: result 98: end