Blocker for the 1.2.0 release on Monday. Please review immediately.
These patches depend on Sumit's "Remove signal event if child was
terminated by a signal" patch.
Patch 0001: Make parse_args() public. (From Sumit)
Patch 0002: Make data provider id_callback public.
Patch 0003: Fix error reporting for be_pam_handler
Patch 0004: Proxy provider PAM handling in child process
This patch adds a new tevent_req to the proxy provider, which will
spawn short-lived child processes to handle PAM requests. These
processes then call the proxied PAM stack and return the results
via SBUS method reply. Once it is returned, the parent process
kills the child.
There is a maximum of ten child processes running simultaneously,
after which requests will be queued for sending once a child slot
frees up. The maximum processes will be made configurable at a
later date (as this would violate string freeze).
Most of the content of proxy_child.c remains from Sumit's earlier work
on this problem. The changes in proxy.c are a complete rewrite.
Resolves:
https://fedorahosted.org/sssd/ticket/471
https://bugzilla.redhat.com/show_bug.cgi?id=590134
--
Stephen Gallagher
RHCE 804006346421761
Delivering value year after year.
Red Hat ranks #1 in value among software vendors.
http://www.redhat.com/promo/vendor/