summaryrefslogtreecommitdiffstats
path: root/ipc
diff options
context:
space:
mode:
authorjschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-03 08:49:43 +0000
committerjschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-03 08:49:43 +0000
commit0590878f77dd9d3791b936287db516a99d14efb0 (patch)
tree5c446b5dd21eda7858cd3069793ff6052dfbfabb /ipc
parenteccdb14302a4ddeecad039e89f4a150a0b906483 (diff)
downloadchromium_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')
-rw-r--r--ipc/ipc_channel_win.cc6
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);
}