syntax = "proto2";

package android.os.statsd.corenetworking.certificatetransparency;

option java_package = "com.android.os.corenetworking.certificatetransparency";

// Next ID: 19
enum LogListUpdateStatus {
    STATUS_UNKNOWN = 0;
    // Log list was successfully updated.
    SUCCESS = 1;
    // Log list failed to update for unknown reasons.
    FAILURE_UNKNOWN = 2;
    // Device has been offline, preventing the log list file from being updated.
    FAILURE_DEVICE_OFFLINE = 3;
    // Device experienced an issue at the HTTP level and/or received an unhandled
    // HTTP code.
    FAILURE_HTTP_ERROR = 4;
    // Device experienced too many redirects when accessing the log list domain.
    FAILURE_TOO_MANY_REDIRECTS = 5;
    // A transient error occurred that prevents the download from resuming.
    FAILURE_DOWNLOAD_CANNOT_RESUME = 6;
    // Log list domain is blocked by the device's network configuration.
    FAILURE_DOMAIN_BLOCKED = 7;
    // Device does not have enough disk space to store the log list file.
    // Extremely unlikely to occur, and might not be able to reliably log this.
    FAILURE_NO_DISK_SPACE = 8;
    // Signature is missing for signature verification.
    FAILURE_SIGNATURE_NOT_FOUND = 9;
    // Log list signature verification failed.
    FAILURE_SIGNATURE_VERIFICATION = 10;
    // Log list version already exists on device. Install unable to be completed.
    FAILURE_VERSION_ALREADY_EXISTS = 12;
    // Public key for signature verification is missing.
    FAILURE_PUBLIC_KEY_NOT_FOUND = 13;
    // Log list signature is invalid (e.g. wrong format or algorithm).
    FAILURE_SIGNATURE_INVALID = 14;
    // Log list is invalid (e.g. not in JSON format).
    FAILURE_LOG_LIST_INVALID = 15;
    // Public key is not in the PEM allowlist.
    FAILURE_PUBLIC_KEY_NOT_ALLOWED = 16;
    // Public key is invalid (e.g. wrong format).
    FAILURE_PUBLIC_KEY_INVALID = 17;
    // Unable to read the downloaded signature or log list file.
    FAILURE_UNABLE_TO_READ_FILE = 18;
    // Device is waiting for a Wi-Fi connection to proceed with the download, as
    // it exceeds the size limit for downloads over the mobile network.
    PENDING_WAITING_FOR_WIFI = 11;
}
