1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
7 option optimize_for = LITE_RUNTIME;
9 package extensions.api.cast_channel.proto;
12 EVENT_TYPE_UNKNOWN = 0;
13 CAST_SOCKET_CREATED = 1;
14 READY_STATE_CHANGED = 2;
15 CONNECTION_STATE_CHANGED = 3;
16 READ_STATE_CHANGED = 4;
17 WRITE_STATE_CHANGED = 5;
18 ERROR_STATE_CHANGED = 6;
20 TCP_SOCKET_CONNECT = 8; // Logged with RV.
21 TCP_SOCKET_SET_KEEP_ALIVE = 9;
22 SSL_CERT_WHITELISTED = 10;
23 SSL_SOCKET_CONNECT = 11; // Logged with RV.
24 SSL_INFO_OBTAINED = 12;
25 DER_ENCODED_CERT_OBTAIN = 13; // Logged with RV.
26 RECEIVED_CHALLENGE_REPLY = 14;
27 AUTH_CHALLENGE_REPLY = 15;
28 CONNECT_TIMED_OUT = 16;
29 SEND_MESSAGE_FAILED = 17;
30 MESSAGE_ENQUEUED = 18; // Message
31 SOCKET_WRITE = 19; // Logged with RV.
32 MESSAGE_WRITTEN = 20; // Message
33 SOCKET_READ = 21; // Logged with RV.
34 MESSAGE_READ = 22; // Message
36 SSL_CERT_EXCESSIVE_LIFETIME = 26;
37 CHANNEL_POLICY_ENFORCED = 27;
38 TCP_SOCKET_CONNECT_COMPLETE = 28; // Logged with RV.
39 SSL_SOCKET_CONNECT_COMPLETE = 29; // Logged with RV.
40 SSL_SOCKET_CONNECT_FAILED = 30; // Logged with RV.
41 SEND_AUTH_CHALLENGE_FAILED = 31; // Logged with RV.
42 AUTH_CHALLENGE_REPLY_INVALID = 32;
43 PING_WRITE_ERROR = 33; // Logged with RV.
49 // SSL over TCP with challenge and receiver signature verification.
55 READY_STATE_CONNECTING = 2;
57 READY_STATE_CLOSING = 4;
58 READY_STATE_CLOSED = 5;
61 enum ConnectionState {
62 CONN_STATE_UNKNOWN = 1;
63 CONN_STATE_TCP_CONNECT = 2;
64 CONN_STATE_TCP_CONNECT_COMPLETE = 3;
65 CONN_STATE_SSL_CONNECT = 4;
66 CONN_STATE_SSL_CONNECT_COMPLETE = 5;
67 CONN_STATE_AUTH_CHALLENGE_SEND = 6;
68 CONN_STATE_AUTH_CHALLENGE_SEND_COMPLETE = 7;
69 CONN_STATE_AUTH_CHALLENGE_REPLY_COMPLETE = 8;
70 CONN_STATE_START_CONNECT = 9;
72 // Terminal states follow.
73 CONN_STATE_FINISHED = 100;
74 CONN_STATE_ERROR = 101;
75 CONN_STATE_TIMEOUT = 102;
79 READ_STATE_UNKNOWN = 1;
81 READ_STATE_READ_COMPLETE = 3;
82 READ_STATE_DO_CALLBACK = 4;
83 READ_STATE_HANDLE_ERROR = 5;
84 READ_STATE_ERROR = 100; // Terminal state.
88 WRITE_STATE_UNKNOWN = 1;
89 WRITE_STATE_WRITE = 2;
90 WRITE_STATE_WRITE_COMPLETE = 3;
91 WRITE_STATE_DO_CALLBACK = 4;
92 WRITE_STATE_HANDLE_ERROR = 5;
94 // Terminal states follow.
95 WRITE_STATE_ERROR = 100;
96 WRITE_STATE_IDLE = 101;
100 CHANNEL_ERROR_NONE = 1;
101 CHANNEL_ERROR_CHANNEL_NOT_OPEN = 2;
102 CHANNEL_ERROR_AUTHENTICATION_ERROR = 3;
103 CHANNEL_ERROR_CONNECT_ERROR = 4;
104 CHANNEL_ERROR_SOCKET_ERROR = 5;
105 CHANNEL_ERROR_TRANSPORT_ERROR = 6;
106 CHANNEL_ERROR_INVALID_MESSAGE = 7;
107 CHANNEL_ERROR_INVALID_CHANNEL_ID = 8;
108 CHANNEL_ERROR_CONNECT_TIMEOUT = 9;
109 CHANNEL_ERROR_UNKNOWN = 10;
112 enum ChallengeReplyErrorType {
113 CHALLENGE_REPLY_ERROR_NONE = 1;
114 CHALLENGE_REPLY_ERROR_PEER_CERT_EMPTY = 2;
115 CHALLENGE_REPLY_ERROR_WRONG_PAYLOAD_TYPE = 3;
116 CHALLENGE_REPLY_ERROR_NO_PAYLOAD = 4;
117 CHALLENGE_REPLY_ERROR_PAYLOAD_PARSING_FAILED = 5;
118 CHALLENGE_REPLY_ERROR_MESSAGE_ERROR = 6;
119 CHALLENGE_REPLY_ERROR_NO_RESPONSE = 7;
120 CHALLENGE_REPLY_ERROR_FINGERPRINT_NOT_FOUND = 8;
121 CHALLENGE_REPLY_ERROR_CERT_PARSING_FAILED = 9;
122 CHALLENGE_REPLY_ERROR_CERT_NOT_SIGNED_BY_TRUSTED_CA = 10;
123 CHALLENGE_REPLY_ERROR_CANNOT_EXTRACT_PUBLIC_KEY = 11;
124 CHALLENGE_REPLY_ERROR_SIGNED_BLOBS_MISMATCH = 12;
127 message SocketEvent {
129 optional EventType type = 1;
130 optional int64 timestamp_micros = 2;
132 optional string details = 3;
134 optional int32 net_return_value = 4;
136 optional string message_namespace = 5;
138 optional ReadyState ready_state = 6;
139 optional ConnectionState connection_state = 7;
140 optional ReadState read_state = 8;
141 optional WriteState write_state = 9;
142 optional ErrorState error_state = 10;
144 optional ChallengeReplyErrorType challenge_reply_error_type = 11;
145 optional int32 nss_error_code = 12;
148 message AggregatedSocketEvent {
149 optional int32 id = 1;
150 optional int32 endpoint_id = 2;
151 optional ChannelAuth channel_auth_type = 3;
152 repeated SocketEvent socket_event = 4;
153 optional int64 bytes_read = 5;
154 optional int64 bytes_written = 6;
158 // Each AggregatedSocketEvent represents events recorded for a socket.
159 repeated AggregatedSocketEvent aggregated_socket_event = 1;
161 // Number of socket log entries evicted by the logger due to size constraints.
162 optional int32 num_evicted_aggregated_socket_events = 2;
164 // Number of event log entries evicted by the logger due to size constraints.
165 optional int32 num_evicted_socket_events = 3;