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

Unified Diff: content/browser/renderer_host/pepper_message_filter.cc

Issue 8357030: Add private Pepper API for dealing with PP_Flash_NetAddress. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: oops Created 9 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | ppapi/api/private/ppb_flash_net_address.idl » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/renderer_host/pepper_message_filter.cc
diff --git a/content/browser/renderer_host/pepper_message_filter.cc b/content/browser/renderer_host/pepper_message_filter.cc
index a04162fbbb611c8f7ba75cb17d28bd221ea447a0..3a37d80d3404743b24974fa4c5a3d08357761db6 100644
--- a/content/browser/renderer_host/pepper_message_filter.cc
+++ b/content/browser/renderer_host/pepper_message_filter.cc
@@ -43,6 +43,7 @@
#include "ppapi/c/private/ppb_flash_net_connector.h"
#include "ppapi/proxy/ppapi_messages.h"
#include "ppapi/proxy/ppb_flash_tcp_socket_proxy.h"
+#include "ppapi/shared_impl/private/flash_net_address_impl.h"
#include "webkit/plugins/ppapi/ppb_flash_net_connector_impl.h"
#if defined(ENABLE_FLAPPER_HACKS)
@@ -54,25 +55,7 @@ using content::BrowserThread;
namespace {
-bool ValidateNetAddress(const PP_Flash_NetAddress& addr) {
- if (addr.size < sizeof(reinterpret_cast<sockaddr*>(0)->sa_family))
- return false;
-
- // TODO(viettrungluu): more careful validation?
- // Just do a size check for AF_INET.
- if (reinterpret_cast<const sockaddr*>(addr.data)->sa_family == AF_INET &&
- addr.size >= sizeof(sockaddr_in))
- return true;
-
- // Ditto for AF_INET6.
- if (reinterpret_cast<const sockaddr*>(addr.data)->sa_family == AF_INET6 &&
- addr.size >= sizeof(sockaddr_in6))
- return true;
-
- // Reject everything else.
- return false;
-}
-
+// TODO(viettrungluu): Move (some of) these to flash_net_address_impl.h.
bool SockaddrToNetAddress(const sockaddr* sa,
socklen_t sa_length,
PP_Flash_NetAddress* net_addr) {
@@ -105,7 +88,8 @@ bool AddressListToNetAddress(const net::AddressList& address_list,
bool NetAddressToIPEndPoint(const PP_Flash_NetAddress& net_addr,
net::IPEndPoint* ip_end_point) {
- if (!ip_end_point || !ValidateNetAddress(net_addr))
+ if (!ip_end_point ||
+ !ppapi::FlashNetAddressImpl::ValidateNetAddress(net_addr))
return false;
if (!ip_end_point->FromSockAddr(
@@ -1105,7 +1089,7 @@ void PepperMessageFilter::OnConnectTcpAddress(int routing_id,
// Validate the address and then continue (doing |connect()|) on a worker
// thread.
- if (!ValidateNetAddress(addr) ||
+ if (!ppapi::FlashNetAddressImpl::ValidateNetAddress(addr) ||
!base::WorkerPool::PostTask(FROM_HERE,
NewRunnableMethod(
this,
« no previous file with comments | « no previous file | ppapi/api/private/ppb_flash_net_address.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698