diff options
author | jschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-03 08:49:43 +0000 |
---|---|---|
committer | jschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-03 08:49:43 +0000 |
commit | 0590878f77dd9d3791b936287db516a99d14efb0 (patch) | |
tree | 5c446b5dd21eda7858cd3069793ff6052dfbfabb /ipc/ipc_channel_win.cc | |
parent | eccdb14302a4ddeecad039e89f4a150a0b906483 (diff) | |
download | chromium_src-0590878f77dd9d3791b936287db516a99d14efb0.zip chromium_src-0590878f77dd9d3791b936287db516a99d14efb0.tar.gz chromium_src-0590878f77dd9d3791b936287db516a99d14efb0.tar.bz2 |
Require IPC hello for a verified channel
BUG=117627
TEST=IPCSyncChannelTest.Verified
Review URL: http://codereview.chromium.org/9956085
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130346 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ipc/ipc_channel_win.cc')
-rw-r--r-- | ipc/ipc_channel_win.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ipc/ipc_channel_win.cc b/ipc/ipc_channel_win.cc index e2f0535..aad288d 100644 --- a/ipc/ipc_channel_win.cc +++ b/ipc/ipc_channel_win.cc @@ -142,7 +142,9 @@ Channel::ChannelImpl::ReadState Channel::ChannelImpl::ReadData( } bool Channel::ChannelImpl::WillDispatchInputMessage(Message* msg) { - // We don't need to do anything here. + // Make sure we get a hello when client validation is required. + if (validate_client_) + return IsHelloMessage(*msg); return true; } @@ -157,6 +159,8 @@ void Channel::ChannelImpl::HandleHelloMessage(const Message& msg) { listener()->OnChannelError(); return; } + // validation completed. + validate_client_ = false; listener()->OnChannelConnected(claimed_pid); } |