<!DOCTYPE busconfig PUBLIC
 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>

  <!-- This configuration file specifies the required security policies
       for the HAL to work. -->

  <!-- Only root or user @HAL_USER@ can own the HAL service -->
  <policy user="@HAL_USER@">
    <allow own="org.freedesktop.Hal"/>
  </policy>
  <policy user="root">
    <allow own="org.freedesktop.Hal"/>
  </policy>

  <!-- Allow anyone to invoke methods on the Manager and Device interfaces -->
  <policy context="default">
    <allow send_destination="org.freedesktop.Hal"
           send_interface="org.freedesktop.DBus.Introspectable"/>
    <allow send_destination="org.freedesktop.Hal"
           send_interface="org.freedesktop.DBus.Properties" />

    <allow send_destination="org.freedesktop.Hal"
           send_interface="org.freedesktop.Hal.Device"/>
    <allow send_destination="org.freedesktop.Hal"
           send_interface="org.freedesktop.Hal.Manager"/>
  </policy>

  <!-- Only allow users at the local console to manipulate devices,
       requires consolekit -->
  <policy at_console="true">
    <allow send_destination="org.freedesktop.Hal"
           send_interface="org.freedesktop.Hal.Device.CPUFreq"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.DockStation"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.KillSwitch"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.KeyboardBacklight"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.LaptopPanel"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.Leds"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.LightSensor"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.Storage"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.Storage.Removable"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.Volume"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.WakeOnLan"/>
  </policy>

  <!-- Debian group policies -->
  <policy group="powerdev">
    <allow send_destination="org.freedesktop.Hal"
           send_interface="org.freedesktop.Hal.Device.CPUFreq"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.DockStation"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.KillSwitch"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.KeyboardBacklight"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.LaptopPanel"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.Leds"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.LightSensor"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.WakeOnLan"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
  </policy>
  <policy group="plugdev">
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.Storage"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.Storage.Removable"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.Volume"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/>
  </policy>

  <!-- well,...and root too -->
  <policy user="root">
    <allow send_destination="org.freedesktop.Hal"
           send_interface="org.freedesktop.Hal.Device.CPUFreq"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.DockStation"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.KillSwitch"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.KeyboardBacklight"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.LaptopPanel"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.Leds"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.LightSensor"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.Storage"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.Storage.Removable"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.Volume"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/>
    <allow send_destination="org.freedesktop.Hal"
    	   send_interface="org.freedesktop.Hal.Device.WakeOnLan"/>

  </policy>

</busconfig>

