Index: net/quic/crypto/crypto_server_config_protobuf.h |
diff --git a/net/quic/crypto/crypto_server_config_protobuf.h b/net/quic/crypto/crypto_server_config_protobuf.h |
index 5f31832f89ca74bcbfe47626415fdc707502285f..57ebfb048478efc4b2bf2ab63ae30003c2a2f767 100644 |
--- a/net/quic/crypto/crypto_server_config_protobuf.h |
+++ b/net/quic/crypto/crypto_server_config_protobuf.h |
@@ -61,7 +61,7 @@ class NET_EXPORT_PRIVATE QuicServerConfigProtobuf { |
} |
void set_config(base::StringPiece config) { |
- config_ = config.as_string(); |
+ config.CopyToString(&config_); |
} |
QuicServerConfigProtobuf::PrivateKey* add_key() { |
@@ -89,7 +89,7 @@ class NET_EXPORT_PRIVATE QuicServerConfigProtobuf { |
return priority_ > 0; |
} |
- int64 priority() const { |
+ uint64 priority() const { |
return priority_; |
} |
@@ -97,6 +97,20 @@ class NET_EXPORT_PRIVATE QuicServerConfigProtobuf { |
priority_ = priority; |
} |
+ bool has_source_address_token_secret_override() const { |
+ return !source_address_token_secret_override_.empty(); |
+ } |
+ |
+ std::string source_address_token_secret_override() const { |
+ return source_address_token_secret_override_; |
+ } |
+ |
+ void set_source_address_token_secret_override( |
+ base::StringPiece source_address_token_secret_override) { |
+ source_address_token_secret_override.CopyToString( |
+ &source_address_token_secret_override_); |
+ } |
+ |
private: |
std::vector<PrivateKey*> keys_; |
@@ -112,6 +126,11 @@ class NET_EXPORT_PRIVATE QuicServerConfigProtobuf { |
// primary config. |
uint64 priority_; |
+ // Optional override to the secret used to box/unbox source address |
+ // tokens when talking to clients that select this server config. |
+ // It can be of any length as it is fed into a KDF before use. |
+ std::string source_address_token_secret_override_; |
+ |
DISALLOW_COPY_AND_ASSIGN(QuicServerConfigProtobuf); |
}; |