<!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="chronos">
    <!-- Needed for crosh's 'modem connect' -->
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem"
           send_member="Connect"/>

    <!-- Needed for crosh's 'modem activate' -->
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Cdma"
           send_member="Activate"/>

    <!-- Needed for crosh's 'modem activate-manual' -->
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Cdma"
           send_member="ActivateManualDebug"/>

    <!-- Needed for crosh's 'modem factory-reset' -->
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem"
           send_member="FactoryReset"/>

    <!-- Needed for crosh's 'modem status' -->
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager"
           send_member="EnumerateDevices"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Simple"
           send_member="GetStatus"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem"
           send_member="GetInfo"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.DBus.Properties"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Cdma"
           send_member="GetRegistrationState"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Cdma"
           send_member="GetServingSystem"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Cdma"
           send_member="GetSignalQuality"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Cdma"
           send_member="GetEsn"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Gsm.Card"
           send_member="GetImsi"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Gsm.Network"
           send_member="GetRegistrationInfo"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Gsm.Network"
           send_member="GetSignalQuality"/>

    <!-- Needed for crosh's 'modem_set_carrier' -->
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.chromium.ModemManager.Modem.Gobi"
           send_member="SetCarrier"/>

    <!-- Needed for crosh's 'modem set-logging' -->
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager"
           send_member="SetLogging"/>

    <!-- Needed for crosh's 'modem reset' -->
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.chromium.ModemManager.Modem.Gobi"
           send_member="SoftReset"/>

    <!-- Needed for the UI's SMS functionality; see libcros -->
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Gsm.SMS"
           send_member="Get"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Gsm.SMS"
           send_member="Delete"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Gsm.SMS"
           send_member="List"/>
  </policy>

  <policy user="cromo">
    <allow own="org.chromium.ModemManager"/>
  </policy>

  <policy user="root">
    <allow own="org.chromium.ModemManager"/>
    <allow own="org.chromium.ModemManager.UnitTest"/>
    <allow send_destination="org.chromium.ModemManager"/>
  </policy>

  <policy user="debugd">
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager"
           send_member="EnumerateDevices"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager"
           send_member="SetLogging"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Simple"
           send_member="GetStatus"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem"
           send_member="GetInfo"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.DBus.Properties"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Cdma"
           send_member="GetRegistrationState"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Cdma"
           send_member="GetServingSystem"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Cdma"
           send_member="GetSignalQuality"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Cdma"
           send_member="GetEsn"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Gsm.Card"
           send_member="GetImsi"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Gsm.Network"
           send_member="GetRegistrationInfo"/>
    <allow send_destination="org.chromium.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Gsm.Network"
           send_member="GetSignalQuality"/>
  </policy>

  <limit name="max_replies_per_connection">512</limit>
</busconfig>
