Module: Proxy::OpenSCAP
- Extended by:
- Log
- Defined in:
- lib/smart_proxy_openscap/openscap_version.rb,
lib/smart_proxy_openscap/foreman_forwarder.rb,
lib/smart_proxy_openscap/fetch_scap_content.rb,
lib/smart_proxy_openscap/openscap_exception.rb,
lib/smart_proxy_openscap/openscap_report_parser.rb,
lib/smart_proxy_openscap/openscap_content_parser.rb,
lib/smart_proxy_openscap/spool_forwarder.rb,
lib/smart_proxy_openscap/openscap_plugin.rb,
lib/smart_proxy_openscap/openscap_lib.rb,
lib/smart_proxy_openscap/openscap_api.rb,
lib/smart_proxy_openscap/storage_fs.rb,
lib/smart_proxy_openscap/storage.rb,
lib/smart_proxy_openscap.rb
Defined Under Namespace
Classes: Api, ContentParser, FetchScapContent, FileNotFound, ForemanForwarder, OpenSCAPException, Parse, Plugin, SpoolForwarder, Storage, StorageFS, StoreFailedError, StoreReportError, StoreSpoolError
Constant Summary
collapse
- VERSION =
'0.5.1'
- HTTP_ERRORS =
[
EOFError,
Errno::ECONNRESET,
Errno::EINVAL,
Net::HTTPBadResponse,
Net::HTTPHeaderSyntaxError,
Net::ProtocolError,
Timeout::Error
]
Class Method Summary
collapse
Class Method Details
.common_name(request) ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/smart_proxy_openscap/openscap_lib.rb', line 28
def self.common_name(request)
client_cert = request.env['SSL_CLIENT_CERT']
raise Proxy::Error::Unauthorized, "Client certificate required!" if client_cert.to_s.empty?
begin
client_cert = OpenSSL::X509::Certificate.new(client_cert)
rescue OpenSSL::OpenSSLError => e
raise Proxy::Error::Unauthorized, e.message
end
cn = client_cert.subject.to_a.detect { |name, value| name == 'CN' }
cn = cn[1] unless cn.nil?
raise Proxy::Error::Unauthorized, "Common Name not found in the certificate" unless cn
cn
end
|
.fullpath(path = Proxy::OpenSCAP::Plugin.settings.contentdir) ⇒ Object
49
50
51
52
|
# File 'lib/smart_proxy_openscap/openscap_lib.rb', line 49
def self.fullpath(path = Proxy::OpenSCAP::Plugin.settings.contentdir)
pathname = Pathname.new(path)
pathname.relative? ? pathname.expand_path(Sinatra::Base.root).to_s : path
end
|
.send_spool_to_foreman ⇒ Object
43
44
45
46
47
|
# File 'lib/smart_proxy_openscap/openscap_lib.rb', line 43
def self.send_spool_to_foreman
arf_dir = File.join(Proxy::OpenSCAP::Plugin.settings.spooldir, "/arf")
return unless File.exist? arf_dir
SpoolForwarder.new.post_arf_from_spool(arf_dir)
end
|