Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(392)

Side by Side Diff: net/base/ssl_false_start_blacklist_process.cc

Issue 7518035: net: handle trailing dots in LastTwoLabels. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/base/ssl_false_start_blacklist.cc ('k') | net/base/ssl_false_start_blacklist_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This utility program exists to process the False Start blacklist file into 5 // This utility program exists to process the False Start blacklist file into
6 // a static hash table so that it can be efficiently queried by Chrome. 6 // a static hash table so that it can be efficiently queried by Chrome.
7 7
8 #include <stdio.h> 8 #include <stdio.h>
9 #include <stdlib.h> 9 #include <stdlib.h>
10 10
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 106
107 // CheckLengths returns true iff every host is less than 256 bytes long (not 107 // CheckLengths returns true iff every host is less than 256 bytes long (not
108 // including the terminating NUL) and contains two or more labels. 108 // including the terminating NUL) and contains two or more labels.
109 static bool CheckLengths(const std::vector<std::string>& hosts) { 109 static bool CheckLengths(const std::vector<std::string>& hosts) {
110 for (std::vector<std::string>::const_iterator 110 for (std::vector<std::string>::const_iterator
111 i = hosts.begin(); i != hosts.end(); i++) { 111 i = hosts.begin(); i != hosts.end(); i++) {
112 if (i->size() >= 256) { 112 if (i->size() >= 256) {
113 fprintf(stderr, "Entry %s is too large\n", i->c_str()); 113 fprintf(stderr, "Entry %s is too large\n", i->c_str());
114 return false; 114 return false;
115 } 115 }
116 if (SSLFalseStartBlacklist::LastTwoLabels(i->c_str()) == NULL) { 116 if (SSLFalseStartBlacklist::LastTwoLabels(i->c_str()).empty()) {
117 fprintf(stderr, "Entry %s contains too few labels\n", i->c_str()); 117 fprintf(stderr, "Entry %s contains too few labels\n", i->c_str());
118 return false; 118 return false;
119 } 119 }
120 } 120 }
121 121
122 return true; 122 return true;
123 } 123 }
124 124
125 int main(int argc, char** argv) { 125 int main(int argc, char** argv) {
126 if (argc != 3) 126 if (argc != 3)
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 fprintf(stderr, "One or more entries is too large or too small\n"); 200 fprintf(stderr, "One or more entries is too large or too small\n");
201 return 2; 201 return 2;
202 } 202 }
203 203
204 fprintf(stderr, "Using %d entry hash table\n", kBuckets); 204 fprintf(stderr, "Using %d entry hash table\n", kBuckets);
205 uint32 table[kBuckets]; 205 uint32 table[kBuckets];
206 std::vector<std::string> buckets[kBuckets]; 206 std::vector<std::string> buckets[kBuckets];
207 207
208 for (std::vector<std::string>::const_iterator 208 for (std::vector<std::string>::const_iterator
209 i = hosts.begin(); i != hosts.end(); i++) { 209 i = hosts.begin(); i != hosts.end(); i++) {
210 const char* last_two_labels = 210 const std::string last_two_labels =
211 SSLFalseStartBlacklist::LastTwoLabels(i->c_str()); 211 SSLFalseStartBlacklist::LastTwoLabels(i->c_str());
212 const unsigned h = SSLFalseStartBlacklist::Hash(last_two_labels); 212 const unsigned h = SSLFalseStartBlacklist::Hash(last_two_labels.c_str());
213 buckets[h & (kBuckets - 1)].push_back(*i); 213 buckets[h & (kBuckets - 1)].push_back(*i);
214 } 214 }
215 215
216 std::string table_data; 216 std::string table_data;
217 unsigned max_bucket_size = 0; 217 unsigned max_bucket_size = 0;
218 for (unsigned i = 0; i < kBuckets; i++) { 218 for (unsigned i = 0; i < kBuckets; i++) {
219 if (buckets[i].size() > max_bucket_size) 219 if (buckets[i].size() > max_bucket_size)
220 max_bucket_size = buckets[i].size(); 220 max_bucket_size = buckets[i].size();
221 221
222 table[i] = table_data.size(); 222 table[i] = table_data.size();
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 } else if (line_length >= 70) { 262 } else if (line_length >= 70) {
263 fprintf(out, "\n"); 263 fprintf(out, "\n");
264 line_length = 0; 264 line_length = 0;
265 } 265 }
266 } 266 }
267 fprintf(out, "\n} // namespace net\n"); 267 fprintf(out, "\n} // namespace net\n");
268 fclose(out); 268 fclose(out);
269 269
270 return 0; 270 return 0;
271 } 271 }
OLDNEW
« no previous file with comments | « net/base/ssl_false_start_blacklist.cc ('k') | net/base/ssl_false_start_blacklist_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698