Support CE CDM in OEMCrypto Testbed

(This is a merge of http://go/wvgerrit/81628. Although it is primarily
to support a CE CDM feature, this patch touched shared code and so must
be merged.)

The problem that has long stopped the OEMCrypto Testbed from working
with the CE CDM build is that the OEMCrypto Testbed sometimes accesses
the storage via the normal filesystem APIs rather than the FileSystem
abstraction. Furthermore, when doing this, it assumes that FileSystem
abstraction is just a wrapper around direct filesystem access and thus
it should use the same paths in both kinds of filesystem access.
However, this is not true on the CE CDM where FileSystem wraps an opaque
key/value store.

This patch adds a property that allows a platform to indicate if its
FileSystem base path represents a real file system path and sets it
appropriately. ("true" for all platforms except CE CDM) It also adds
code to the OEMCrypto Testbed that makes use of this property to modify
its behavior. When running on a device where the FileSystem base path is
not a real file system path, it will instead use the directory of the
current executable as its base path when accessing the filesystem
directly.

Bug: 129311942
Test: CE CDM Build with Fake L1
Test: Android Build
Change-Id: Iadb3cc57d3bbc8ce0d49224b7df31c46bd5ea56c
This commit is contained in:
John W. Bruce
2019-06-21 19:24:21 -07:00
committed by Rahul Frias
parent 6004c2a945
commit 435f839f7e
4 changed files with 14 additions and 0 deletions

View File

@@ -29,6 +29,11 @@ const bool kPropertyProvisioningMessagesAreBinary = false;
// an error will be generated.
const bool kAllowServiceCertificateRequests = true;
// Indicates whether this platform's FileSystem abstraction maps directly to the
// device filesystem or whether there is a layer of indirection. If set to true,
// code may treat the DeviceFiles base path as a raw filesystem path.
const bool kDeviceFilesIsARealFileSystem = true;
} // namespace wvcdm
#endif // CDM_BASE_WV_PROPERTIES_CONFIGURATION_H_