summaryrefslogtreecommitdiffstats
path: root/src/providers/krb5
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2014-11-28 13:30:20 +0100
committerJakub Hrozek <jhrozek@redhat.com>2014-11-28 18:48:23 +0100
commit89c1048cb19440f5a9b6a931c3af04ad23b73246 (patch)
treeeb17cf1acc96e15cce88dc83e8805b26b98bfde1 /src/providers/krb5
parent019ea9b10ff5a723e7720abf816a8c7dc13b3b32 (diff)
downloadsssd-89c1048cb19440f5a9b6a931c3af04ad23b73246.tar.gz
sssd-89c1048cb19440f5a9b6a931c3af04ad23b73246.tar.xz
sssd-89c1048cb19440f5a9b6a931c3af04ad23b73246.zip
KRB5: Pass the sssd_be uid and gid to krb5_child
Diffstat (limited to 'src/providers/krb5')
-rw-r--r--src/providers/krb5/krb5_child.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/providers/krb5/krb5_child.c b/src/providers/krb5/krb5_child.c
index c13c0879e..91400bbeb 100644
--- a/src/providers/krb5/krb5_child.c
+++ b/src/providers/krb5/krb5_child.c
@@ -66,6 +66,10 @@ struct krb5_req {
char *old_ccname;
bool old_cc_valid;
bool old_cc_active;
+
+ /* The IDs the backend runs as. Used for creating the fast ccache */
+ uid_t be_uid;
+ gid_t be_gid;
};
static krb5_context krb5_error_ctx;
@@ -2245,6 +2249,8 @@ int main(int argc, const char *argv[])
poptContext pc;
int debug_fd = -1;
errno_t ret;
+ uid_t be_uid;
+ gid_t be_gid;
struct poptOption long_options[] = {
POPT_AUTOHELP
@@ -2259,6 +2265,7 @@ int main(int argc, const char *argv[])
{"debug-to-stderr", 0, POPT_ARG_NONE | POPT_ARGFLAG_DOC_HIDDEN,
&debug_to_stderr, 0,
_("Send the debug output to stderr directly."), NULL },
+ SSSD_SERVER_OPTS(be_uid, be_gid)
POPT_TABLEEND
};
@@ -2304,6 +2311,8 @@ int main(int argc, const char *argv[])
goto done;
}
talloc_steal(kr, debug_prg_name);
+ kr->be_uid = be_uid;
+ kr->be_gid = be_gid;
ret = k5c_recv_data(kr, STDIN_FILENO, &offline);
if (ret != EOK) {