<!--
  Copyright 2018 The Chromium OS Authors. All rights reserved.
  Use of this source code is governed by a BSD-style license that can be
  found in the LICENSE file.
-->
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
    <policy user="root">
        <allow own="org.chromium.flimflam"/>
        <allow send_destination="org.chromium.flimflam"/>
    </policy>
    <policy user="shill">
        <allow own="org.chromium.flimflam"/>
        <allow send_destination="org.chromium.flimflam"/>
        <allow send_destination="com.ubuntu.Upstart"
               send_interface="org.freedesktop.DBus.Properties" />
        <!--
          "shill_2devent" below refers to the "shill-event" upstart job. Upstart
          escapes characters that aren't valid in D-Bus object paths using
          underscore as the escape character, followed by the character code in
          hex.
        -->
        <allow send_destination="com.ubuntu.Upstart"
               send_interface="com.ubuntu.Upstart0_6.Job"
               send_type="method_call" send_member="Start"
               send_path="/com/ubuntu/Upstart/jobs/shill_2devent"/>
    </policy>
    <policy user="system">
        <allow send_destination="org.chromium.flimflam"/>
    </policy>
    <policy user="cromo">
        <allow send_destination="org.chromium.flimflam"/>
    </policy>
    <policy user="chronos">
        <allow send_destination="org.chromium.flimflam"/>
    </policy>
    <policy user="modem">
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.Device"
             send_member="GetProperties"/>
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.Manager"
             send_member="GetProperties"/>
    </policy>
    <policy user="debugd">
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.Manager"
             send_member="SetDebugTags"/>
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.Device"
             send_member="GetProperties"/>
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.IPConfig"
             send_member="GetProperties"/>
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.Manager"
             send_member="GetProperties"/>
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.Service"
             send_member="GetProperties"/>
    </policy>
    <policy user="shill-scripts">
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.Manager"
             send_member="ListDebugTags"/>
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.Manager"
             send_member="GetDebugTags"/>
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.Manager"
             send_member="SetDebugTags"/>
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.Manager"
             send_member="GetDebugLevel"/>
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.Manager"
             send_member="SetDebugLevel"/>
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.Manager"
             send_member="GetProperties"/>
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.Manager"
             send_member="SetProperty"/>
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.Manager"
             send_member="GetLog"/>
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.Device"
             send_member="GetProperties"/>
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.IPConfig"
             send_member="GetProperties"/>
      <allow send_destination="org.chromium.flimflam"
             send_interface="org.chromium.flimflam.Service"
             send_member="GetProperties"/>
    </policy>
    <policy user="openvpn">
        <allow send_destination="org.chromium.flimflam"
               send_interface="org.chromium.flimflam.Task"/>
    </policy>
    <policy user="wpa">
        <allow send_destination="org.chromium.flimflam"/>
    </policy>
    <policy user="dhcp">
        <allow send_destination="org.chromium.flimflam"/>
    </policy>
    <policy user="buffet">
        <allow send_destination="org.chromium.flimflam"
               send_interface="org.chromium.flimflam.Manager"
               send_member="ConfigureService"/>
        <allow send_destination="org.chromium.flimflam"
               send_interface="org.chromium.flimflam.Manager"
               send_member="RequestScan"/>
        <allow send_destination="org.chromium.flimflam"
               send_interface="org.chromium.flimflam.Manager"
               send_member="GetProperties"/>
        <allow send_destination="org.chromium.flimflam"
               send_interface="org.chromium.flimflam.Device"
               send_member="GetProperties"/>
        <allow send_destination="org.chromium.flimflam"
               send_interface="org.chromium.flimflam.Service"
               send_member="Connect"/>
        <allow send_destination="org.chromium.flimflam"
               send_interface="org.chromium.flimflam.Service"
               send_member="GetProperties"/>
    </policy>
    <policy user="arc-networkd">
        <allow send_destination="org.chromium.flimflam"
               send_interface="org.chromium.flimflam.Manager"
               send_member="GetProperties"/>
        <allow send_destination="org.chromium.flimflam"
               send_interface="org.chromium.flimflam.Device"
               send_member="GetProperties"/>
        <allow send_destination="org.chromium.flimflam"
               send_interface="org.chromium.flimflam.Service"
               send_member="GetProperties"/>
    </policy>
    <policy user="rialtod">
        <allow send_destination="org.chromium.flimflam"
               send_interface="org.chromium.flimflam.Manager"
               send_member="GetProperties"/>
        <allow send_destination="org.chromium.flimflam"
               send_interface="org.chromium.flimflam.Manager"
               send_member="RecheckPortal"/>
        <allow send_destination="org.chromium.flimflam"
               send_interface="org.chromium.flimflam.Device"
               send_member="GetProperties"/>
        <allow send_destination="org.chromium.flimflam"
               send_interface="org.chromium.flimflam.Service"
               send_member="GetProperties"/>
        <allow send_destination="org.chromium.flimflam"
               send_interface="org.chromium.flimflam.Manager"
               send_member="SetProperty"/>
    </policy>
    <policy context="default">
        <deny send_destination="org.chromium.flimflam"/>
    </policy>
</busconfig>
