67: def client_info(request)
68: result = {}
69: params = request.params
70: result[:ip] = params["HTTP_X_FORWARDED_FOR"] ? params["HTTP_X_FORWARDED_FOR"].split(',').last.strip : params["REMOTE_ADDR"]
71:
72:
73:
74:
75: if dn = params[Puppet[:ssl_client_header]] and dn_matchdata = dn.match(/^.*?CN\s*=\s*(.*)/)
76: result[:node] = dn_matchdata[1].to_str
77: result[:authenticated] = (params[Puppet[:ssl_client_verify_header]] == 'SUCCESS')
78: else
79: result[:node] = resolve_node(result)
80: result[:authenticated] = false
81: end
82:
83: return result
84: end