summaryrefslogtreecommitdiffstats
path: root/src/responder/pam/pamsrv.c
diff options
context:
space:
mode:
authorStephen Gallagher <sgallagh@redhat.com>2012-02-17 12:14:39 -0500
committerStephen Gallagher <sgallagh@redhat.com>2012-06-22 11:34:18 -0400
commit4d90a42f5c3aa2956393d0bf21c22416ba01e03e (patch)
tree814f7435cd5a0df32dbc377fba633e5c57bb2ca4 /src/responder/pam/pamsrv.c
parent28ad2dd0b12e695cb5bd47a9d87db550ffff1067 (diff)
downloadsssd-4d90a42f5c3aa2956393d0bf21c22416ba01e03e.tar.gz
sssd-4d90a42f5c3aa2956393d0bf21c22416ba01e03e.tar.xz
sssd-4d90a42f5c3aa2956393d0bf21c22416ba01e03e.zip
RESPONDERS: Make the fd_limit setting configurablesssd-1.5.1-54.elfsssd-1.5.1-54.el5
This code will now attempt first to see if it has privilege to set the value as specified, and if not it will fall back to the previous behavior. So on systems with the CAP_SYS_RESOURCE capability granted to SSSD, it will be able to ignore the limits.conf hard limit. https://fedorahosted.org/sssd/ticket/1197
Diffstat (limited to 'src/responder/pam/pamsrv.c')
-rw-r--r--src/responder/pam/pamsrv.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/responder/pam/pamsrv.c b/src/responder/pam/pamsrv.c
index 1bed212ed..9f02e8f0f 100644
--- a/src/responder/pam/pamsrv.c
+++ b/src/responder/pam/pamsrv.c
@@ -111,6 +111,7 @@ static int pam_process_init(TALLOC_CTX *mem_ctx,
struct pam_ctx *pctx;
int ret, max_retries;
int id_timeout;
+ int fd_limit;
pctx = talloc_zero(mem_ctx, struct pam_ctx);
if (!pctx) {
@@ -177,7 +178,17 @@ static int pam_process_init(TALLOC_CTX *mem_ctx,
}
/* Set up file descriptor limits */
- responder_set_fd_limit(DEFAULT_PAM_FD_LIMIT);
+ ret = confdb_get_int(pctx->rctx->cdb, pctx->rctx,
+ CONFDB_PAM_CONF_ENTRY,
+ CONFDB_SERVICE_FD_LIMIT,
+ DEFAULT_PAM_FD_LIMIT,
+ &fd_limit);
+ if (ret != EOK) {
+ DEBUG(0,
+ ("Failed to set up file descriptor limit\n"));
+ return ret;
+ }
+ responder_set_fd_limit(fd_limit);
ret = EOK;