Class: Kaede::DBus::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/kaede/dbus/generator.rb

Instance Method Summary collapse

Instance Method Details

#generate_policy(user) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/kaede/dbus/generator.rb', line 7

def generate_policy(user)
  Nokogiri::XML::Builder.new do |xml|
    xml.comment 'Put this policy configuration file into /etc/dbus-1/system.d'
    xml.doc.create_internal_subset(
      'busconfig',
      '-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN',
      'http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd',
    )
    xml.busconfig do
      xml.policy(user: 'root') do
        xml.allow(own: DESTINATION)
      end
      xml.policy(user: user) do
        xml.allow(own: DESTINATION)
      end

      xml.policy(context: 'default') do
        xml.allow(send_destination: DESTINATION)
        xml.allow(receive_sender: DESTINATION)
      end
    end
  end.to_xml
end