The Missive Daemon is part of the Encrypted Reporting Pipeline (ERP). It encrypts, stores, and forwards reporting records enqueued on its DBus interface. The interface allows other CrOS daemons and Chrome to enqueue records which are then encrypted and stored on disk. Records are enqueued in different priority queues, which have different upload periods. Once the storage daemon determines that a queue is ready for upload (i.e. the requisite period has elapsed), it sends records to Chrome to be uploaded to the Reporting Server. On successful upload, records are deleted from disk.
Note: This is a complementary daemon to the //chrome/browser/policy/messaging_layer
package in chromium.
# HOST (inside chroot) ~$ cros-workon-${BOARD} start missive ~$ emerge-${BOARD} missive ~$ cros deploy ssh://localhost:9222 missive # DUT ~# start missived
To build the package that works with a non-debug image, such as one from GoldenEye, the debug feature must be disabled:
# HOST (inside chroot) ~$ USE=-cros-debug emerge-${BOARD} missive
If there are errors on conflicting USE flags, rebuild the dependencies with
# HOST (inside chroot) ~$ build_packages --board=${BOARD} --no-withdebug
For convenience, if you always work with a non-debug image, consider disabling debug builds by default by adding USE="${USE} -cros-debug"
to /etc/make.conf.user
(inside chroot).
Note that aspects of the design may have evolved since the original design docs were written.
The code in the following folders originally comes from chromium://components/reporting:
When importing updates from the chromium code you will encounter the following issues: