diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2015-01-07 10:42:09 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-01-13 17:50:05 +0100 |
commit | fc62521e72eb9ed8336e4797f2cd9c89d8b013f1 (patch) | |
tree | f09a59d1422f8bc7b1070f2a84ff8b8309b5ff73 /src/providers/ad/ad_gpo_child.c | |
parent | d31fba405f3392f27f0eea861834083cfaa0ef10 (diff) | |
download | sssd-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.c | 7 |
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; } |