Index: net/tools/transport_security_state_generator/transport_security_state_generator.cc |
diff --git a/net/tools/transport_security_state_generator/transport_security_state_generator.cc b/net/tools/transport_security_state_generator/transport_security_state_generator.cc |
index 40e8f1d3c42a4eafe154710680bab21075525097..cadad15890c72558ce639e5e28b00a5980c73713 100644 |
--- a/net/tools/transport_security_state_generator/transport_security_state_generator.cc |
+++ b/net/tools/transport_security_state_generator/transport_security_state_generator.cc |
@@ -26,10 +26,17 @@ using net::transport_security_state::PreloadedStateGenerator; |
namespace { |
+// If true, the entire preload list will be included. Otherwise, only include |
+// the first entry to allow the generator to generate a valid file. |
Ryan Sleevi
2017/06/29 20:47:41
This seems a bit suboptimal - that is, wouldn't it
xunjieli
2017/06/30 19:12:18
Done. The Huffman tree decoding code expects at le
|
+static const char kIncludeTransportSecurityStatePreloadListSwitch[] = |
+ "include-transport-security-state-preload-list"; |
+ |
// Print the command line help. |
void PrintHelp() { |
std::cout << "transport_security_state_generator <json-file> <pins-file>" |
- << " <template-file> <output-file> [--v=1]" << std::endl; |
+ << " <template-file> <output-file> [--v=1] " |
+ "[--exclude-hsts-preload-list=false]" |
+ << std::endl; |
} |
// Checks if there are pins with the same name or the same hash. |
@@ -278,6 +285,16 @@ int main(int argc, char* argv[]) { |
return 1; |
} |
+ std::string include_transport_security_state_preload_list_string = |
+ command_line.GetSwitchValueASCII( |
+ kIncludeTransportSecurityStatePreloadListSwitch); |
+ if (include_transport_security_state_preload_list_string == "true") { |
+ // Keep only one entry enough to make trie generation pass. |
+ entries.erase(++entries.begin(), entries.end()); |
+ std::set<std::string> required_pinsets = {entries[0]->pinset}; |
+ pinsets.FilterPinsets(required_pinsets); |
+ } |
+ |
std::string output; |
PreloadedStateGenerator generator; |
output = generator.Generate(preload_template, entries, pinsets); |