<!--
  Copyright 2019 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.UserDataAuth" />
    <allow send_destination="org.chromium.UserDataAuth" />
  </policy>

  <policy user="chronos">
    <!-- introspection is denied -->
    <deny send_destination="org.chromium.UserDataAuth"
          send_interface="org.freedesktop.DBus.Introspectable" />
    <!-- properties denied -->
    <deny send_destination="org.chromium.UserDataAuth"
          send_interface="org.freedesktop.DBus.Properties" />
    <!-- allow explicit methods -->
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="IsMounted"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="Unmount"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="Mount"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="Remove"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="Rename"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="ListKeys"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="GetKeyData"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="CheckKey"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="AddKey"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="AddDataRestoreKey"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="UpdateKey"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="RemoveKey"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="MassRemoveKeys"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="MigrateKey"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="StartMigrateToDircrypto"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="NeedsDircryptoMigration"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="GetSupportedKeyPolicies"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.UserDataAuthInterface"
           send_member="GetAccountDiskUsage"/>

    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.ArcQuota"
           send_member="GetArcDiskFeatures"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.ArcQuota"
           send_member="GetCurrentSpaceForArcUid"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.ArcQuota"
           send_member="GetCurrentSpaceForArcGid"/>

    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.CryptohomePkcs11Interface"
           send_member="Pkcs11IsTpmTokenReady"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.CryptohomePkcs11Interface"
           send_member="Pkcs11GetTpmTokenInfo"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.CryptohomePkcs11Interface"
           send_member="Pkcs11Terminate"/>

    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.InstallAttributesInterface"
           send_member="InstallAttributesGet"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.InstallAttributesInterface"
           send_member="InstallAttributesSet"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.InstallAttributesInterface"
           send_member="InstallAttributesFinalize"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.InstallAttributesInterface"
           send_member="InstallAttributesGetStatus"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.InstallAttributesInterface"
           send_member="GetFirmwareManagementParameters"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.InstallAttributesInterface"
           send_member="RemoveFirmwareManagementParameters"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.InstallAttributesInterface"
           send_member="SetFirmwareManagementParameters"/>

    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.CryptohomeMiscInterface"
           send_member="GetSystemSalt"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.CryptohomeMiscInterface"
           send_member="UpdateCurrentUserActivityTimestamp"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.CryptohomeMiscInterface"
           send_member="GetSanitizedUsername"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.CryptohomeMiscInterface"
           send_member="GetLoginStatus"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.CryptohomeMiscInterface"
           send_member="GetStatusString"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.CryptohomeMiscInterface"
           send_member="LockToSingleUserMountUntilReboot"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.CryptohomeMiscInterface"
           send_member="GetRsuDeviceId"/>
    <allow send_destination="org.chromium.UserDataAuth"
           send_interface="org.chromium.CryptohomeMiscInterface"
           send_member="CheckHealth"/>
  </policy>

  <policy context="default">
    <deny send_destination="org.chromium.UserDataAuth" />
  </policy>
</busconfig>
