| Index: sandbox/win/src/sandbox_policy_base.cc
|
| diff --git a/sandbox/win/src/sandbox_policy_base.cc b/sandbox/win/src/sandbox_policy_base.cc
|
| index 9c3bf0c7a6bab1436d44899d40d1a9de5c65476a..fe0b4e85f76d990c2436c95f691d23f536bcd1d3 100644
|
| --- a/sandbox/win/src/sandbox_policy_base.cc
|
| +++ b/sandbox/win/src/sandbox_policy_base.cc
|
| @@ -19,6 +19,8 @@
|
| #include "sandbox/win/src/handle_policy.h"
|
| #include "sandbox/win/src/job.h"
|
| #include "sandbox/win/src/interception.h"
|
| +#include "sandbox/win/src/lpc_dispatcher.h"
|
| +#include "sandbox/win/src/lpc_policy.h"
|
| #include "sandbox/win/src/process_mitigations.h"
|
| #include "sandbox/win/src/named_pipe_dispatcher.h"
|
| #include "sandbox/win/src/named_pipe_policy.h"
|
| @@ -177,6 +179,9 @@ PolicyBase::PolicyBase()
|
| ipc_targets_[IPC_GDI_GDIDLLINITIALIZE_TAG] = dispatcher;
|
| ipc_targets_[IPC_GDI_GETSTOCKOBJECT_TAG] = dispatcher;
|
| ipc_targets_[IPC_USER_REGISTERCLASSW_TAG] = dispatcher;
|
| +
|
| + dispatcher = new LpcDispatcher(this);
|
| + ipc_targets_[IPC_NTCONNECTALPCPORT_TAG] = dispatcher;
|
| }
|
|
|
| PolicyBase::~PolicyBase() {
|
| @@ -873,6 +878,14 @@ ResultCode PolicyBase::AddRuleInternal(SubSystem subsystem,
|
| break;
|
| }
|
|
|
| + case SUBSYS_LPC: {
|
| + if (!LpcPolicy::GenerateRules(pattern, semantics, policy_maker_)) {
|
| + NOTREACHED();
|
| + return SBOX_ERROR_BAD_PARAMS;
|
| + }
|
| + break;
|
| + }
|
| +
|
| default: { return SBOX_ERROR_UNSUPPORTED; }
|
| }
|
|
|
|
|