OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // A library to manage RLZ information for access-points shared | 5 // A library to manage RLZ information for access-points shared |
6 // across different client applications. | 6 // across different client applications. |
7 | 7 |
8 #include "rlz/lib/rlz_lib.h" | 8 #include "rlz/lib/rlz_lib.h" |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
370 return false; | 370 return false; |
371 | 371 |
372 if (request_string.size() >= request_buffer_size) | 372 if (request_string.size() >= request_buffer_size) |
373 return false; | 373 return false; |
374 | 374 |
375 strncpy(request, request_string.c_str(), request_buffer_size); | 375 strncpy(request, request_string.c_str(), request_buffer_size); |
376 request[request_buffer_size - 1] = 0; | 376 request[request_buffer_size - 1] = 0; |
377 return true; | 377 return true; |
378 } | 378 } |
379 | 379 |
380 bool PingFinancialServer(Product product, const char* request, char* response, | |
381 size_t response_buffer_size) { | |
382 if (!response || response_buffer_size == 0) | |
383 return false; | |
384 response[0] = 0; | |
385 | |
386 // Check if the time is right to ping. | |
387 if (!FinancialPing::IsPingTime(product, false)) | |
388 return false; | |
389 | |
390 // Send out the ping. | |
391 std::string response_string; | |
392 if (!FinancialPing::PingServer(request, &response_string)) | |
393 return false; | |
394 | |
395 if (response_string.size() >= response_buffer_size) | |
396 return false; | |
397 | |
398 strncpy(response, response_string.c_str(), response_buffer_size); | |
399 response[response_buffer_size - 1] = 0; | |
400 return true; | |
401 } | |
402 | |
403 bool IsPingResponseValid(const char* response, int* checksum_idx) { | 380 bool IsPingResponseValid(const char* response, int* checksum_idx) { |
404 if (!response || !response[0]) | 381 if (!response || !response[0]) |
405 return false; | 382 return false; |
406 | 383 |
407 if (checksum_idx) | 384 if (checksum_idx) |
408 *checksum_idx = -1; | 385 *checksum_idx = -1; |
409 | 386 |
410 if (strlen(response) > kMaxPingResponseLength) { | 387 if (strlen(response) > kMaxPingResponseLength) { |
411 ASSERT_STRING("IsPingResponseValid: response is too long to parse."); | 388 ASSERT_STRING("IsPingResponseValid: response is too long to parse."); |
412 return false; | 389 return false; |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
650 if (cgi_string.size() >= cgi_size) | 627 if (cgi_string.size() >= cgi_size) |
651 return false; | 628 return false; |
652 | 629 |
653 strncpy(cgi, cgi_string.c_str(), cgi_size); | 630 strncpy(cgi, cgi_string.c_str(), cgi_size); |
654 cgi[cgi_size - 1] = 0; | 631 cgi[cgi_size - 1] = 0; |
655 | 632 |
656 return true; | 633 return true; |
657 } | 634 } |
658 | 635 |
659 } // namespace rlz_lib | 636 } // namespace rlz_lib |
OLD | NEW |