<!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 flimflam (and other root daemons) access to the entire API. -->
    <allow send_destination="org.freedesktop.ModemManager"/>
    <allow own="org.freedesktop.ModemManager"/>
  </policy>

  <policy user="chronos">
    <!-- Needed for crosh's 'modem connect' -->
    <allow send_destination="org.freedesktop.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem"
           send_member="Connect"/>

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

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

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

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

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

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

  <policy user="debugd">
    <!-- Needed for debugd's GetModemStatus -->
    <allow send_destination="org.freedesktop.ModemManager"
           send_interface="org.freedesktop.ModemManager"
           send_member="EnumerateDevices"/>
    <!-- Needed for debugd's SetDebugMode -->
    <allow send_destination="org.freedesktop.ModemManager"
           send_interface="org.freedesktop.ModemManager"
           send_member="SetLogging"/>
    <allow send_destination="org.freedesktop.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Simple"
           send_member="GetStatus"/>
    <allow send_destination="org.freedesktop.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem"
           send_member="GetInfo"/>
    <allow send_destination="org.freedesktop.ModemManager"
           send_interface="org.freedesktop.DBus.Properties"/>
    <allow send_destination="org.freedesktop.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Cdma"
           send_member="GetRegistrationState"/>
    <allow send_destination="org.freedesktop.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Cdma"
           send_member="GetServingSystem"/>
    <allow send_destination="org.freedesktop.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Cdma"
           send_member="GetSignalQuality"/>
    <allow send_destination="org.freedesktop.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Cdma"
           send_member="GetEsn"/>
    <allow send_destination="org.freedesktop.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Gsm.Card"
           send_member="GetImsi"/>
    <allow send_destination="org.freedesktop.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Gsm.Card"
           send_member="GetMsIsdn"/>
    <allow send_destination="org.freedesktop.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Gsm.Network"
           send_member="GetRegistrationInfo"/>
    <allow send_destination="org.freedesktop.ModemManager"
           send_interface="org.freedesktop.ModemManager.Modem.Gsm.Network"
           send_member="GetSignalQuality"/>
  </policy>

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

