Closed Bug 1445018 Opened 7 years ago Closed 7 years ago

Make EndpointHandler a template parameter of FunctionBroker

Categories

(Core :: Security: Process Sandboxing, enhancement, P1)

Unspecified
Windows
enhancement

Tracking

()

RESOLVED DUPLICATE of bug 1366256

People

(Reporter: handyman, Assigned: handyman)

Details

The EndpointHandler in the FunctionBroker is primarily used for copying parameters based on their type. The server-side endpoint will often copy values using different behavior than the client-side endpoint -- for example, it might obfuscate HANDLEs. Right now, the EndpointHandler is a global (template) object. It could be a template parameter to the FunctionBroker (who would share it as a template parameter with the PhaseHandlers, RequestHandler and ResponseHandler). That way, the basic EndpointHandler behavior that is general can be in a default object but brokered APIs that need special treatment for a type (or who operate on a type no one else cares about, like the SSL functions and the LPINTERNET_BUFFERSA type) can specialize the base behavior with their own handlers. This is obviously not essential but it can avoid future bugs. Bug 1366256 development, for example, was complicated by HANDLE objects being quietly obfuscated. If HANDLE obfuscation was opt-in then that wouldn't happen.
Priority: P2 → P1
I was going to do this later but it wasn't that hard and the current setup is bad enough that I'm doing this now as part of bug 1366256.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.