trilemma-dev / SecureXPC

A simple and secure XPC framework for Swift
MIT License
73 stars 15 forks source link

Introduces `XPCClientRequirement` to replace use of `SecRequirement` #100

Closed jakaplan closed 2 years ago

jakaplan commented 2 years ago

Now API users of SecureXPC can more easily express custom client requirements that go beyond just ones represented by SecRequirement. Also very common SecRequirement cases such as team id and a parent's designated requirement can be specified without having to actually hand roll one.

This PR intentionally doesn't rework the internals of the server implementations to make use of this, but my intention is to follow up a future PR with such changes.

Tests were slightly updated to support this change and all tests pass.

jakaplan commented 2 years ago

@amomchilov Available for you review if you would like. I think this will be a really nice improvement for anyone who wants to create custom client requirements as it significantly simplifies common cases while simultaneously enabling more complex cases than was previously possible.