summaryrefslogtreecommitdiffstats
path: root/src/providers/ad/ad_gpo_child.c
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2015-01-07 10:42:09 +0100
committerJakub Hrozek <jhrozek@redhat.com>2015-01-13 17:50:05 +0100
commitfc62521e72eb9ed8336e4797f2cd9c89d8b013f1 (patch)
treef09a59d1422f8bc7b1070f2a84ff8b8309b5ff73 /src/providers/ad/ad_gpo_child.c
parentd31fba405f3392f27f0eea861834083cfaa0ef10 (diff)
downloadsssd-fc62521e72eb9ed8336e4797f2cd9c89d8b013f1.tar.gz
sssd-fc62521e72eb9ed8336e4797f2cd9c89d8b013f1.tar.xz
sssd-fc62521e72eb9ed8336e4797f2cd9c89d8b013f1.zip
GPO: Don't use stdout for output in gpo_child
Resolves: https://fedorahosted.org/sssd/ticket/2544 Use a dedicated fd instead to work around https://bugzilla.samba.org/show_bug.cgi?id=11036 Reviewed-by: Sumit Bose <sbose@redhat.com> (cherry picked from commit f00a61b6079d8de81432077a59daf015d85800d2)
Diffstat (limited to 'src/providers/ad/ad_gpo_child.c')
-rw-r--r--src/providers/ad/ad_gpo_child.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/providers/ad/ad_gpo_child.c b/src/providers/ad/ad_gpo_child.c
index aa0ab0dc3..1254b69cd 100644
--- a/src/providers/ad/ad_gpo_child.c
+++ b/src/providers/ad/ad_gpo_child.c
@@ -33,6 +33,7 @@
#include "util/util.h"
#include "util/child_common.h"
#include "providers/dp_backend.h"
+#include "providers/ad/ad_gpo.h"
#include "sss_cli.h"
#define SMB_BUFFER_SIZE 65536
@@ -778,7 +779,7 @@ main(int argc, const char *argv[])
errno = 0;
- written = sss_atomic_write_s(STDOUT_FILENO, resp->buf, resp->size);
+ written = sss_atomic_write_s(AD_GPO_CHILD_OUT_FILENO, resp->buf, resp->size);
if (written == -1) {
ret = errno;
DEBUG(SSSDBG_CRIT_FAILURE, "write failed [%d][%s].\n", ret,
@@ -793,13 +794,13 @@ main(int argc, const char *argv[])
}
DEBUG(SSSDBG_TRACE_FUNC, "gpo_child completed successfully\n");
- close(STDOUT_FILENO);
+ close(AD_GPO_CHILD_OUT_FILENO);
talloc_free(main_ctx);
return EXIT_SUCCESS;
fail:
DEBUG(SSSDBG_CRIT_FAILURE, "gpo_child failed!\n");
- close(STDOUT_FILENO);
+ close(AD_GPO_CHILD_OUT_FILENO);
talloc_free(main_ctx);
return EXIT_FAILURE;
}