This is a new patch series that preplaces the previous patches regarding access control. After some experimentation, this patch series adds support for async access control checks, like when we need to ask for user input. The async support is implemented by exiting the command without reply and then when the reply becomes available, re-execute the command. There is an example access control module that shows how one could implement client specific access control checks. The patch also contains a small typo fix that can probably be applied independently. Wim Taymans (5): tagstruct: add copy method subscribe: fix typo access: Add access control hooks protocol-native: add access checks module-access: add example access module src/Makefile.am | 8 + src/modules/module-access.c | 479 ++++++++++++++++++++++++++++++++++++++++ src/pulsecore/access.h | 102 +++++++++ src/pulsecore/core-subscribe.c | 2 +- src/pulsecore/core.c | 5 + src/pulsecore/core.h | 3 + src/pulsecore/protocol-native.c | 219 +++++++++++++++++- src/pulsecore/tagstruct.c | 13 ++ src/pulsecore/tagstruct.h | 2 + 9 files changed, 830 insertions(+), 3 deletions(-) create mode 100644 src/modules/module-access.c create mode 100644 src/pulsecore/access.h -- 2.1.0