From 0cc22fdd8d25d51b48f26355b906b385b9b8b729 Mon Sep 17 00:00:00 2001 From: Samuel Cabrero Date: Fri, 7 Feb 2025 15:18:45 +0100 Subject: [PATCH] winbind:varlink: Print varlink replies Signed-off-by: Samuel Cabrero Reviewed-by: Andreas Schneider --- source3/winbindd/winbindd_varlink_getgrouprecord.c | 10 ++++++++++ source3/winbindd/winbindd_varlink_getmemberships.c | 11 +++++++++++ source3/winbindd/winbindd_varlink_getuserrecord.c | 9 +++++++++ 3 files changed, 30 insertions(+) diff --git a/source3/winbindd/winbindd_varlink_getgrouprecord.c b/source3/winbindd/winbindd_varlink_getgrouprecord.c index 794a3c57ba6..1514079398a 100644 --- a/source3/winbindd/winbindd_varlink_getgrouprecord.c +++ b/source3/winbindd/winbindd_varlink_getgrouprecord.c @@ -70,6 +70,16 @@ static void group_record_reply(VarlinkCall *call, WB_VL_ERR_CHECK_GOTO(varlink_object_set_object( out, "record", record), err_free_out); + if (CHECK_DEBUGLVL(DBGLVL_DEBUG)) { + char *json = NULL; + varlink_object_to_json(out, &json); + if (json != NULL) { + DBG_DEBUG("Sending group record reply (continues='%s'): '%s'", + continues ? "y":"n", json); + free(json); + } + } + varlink_call_reply(call, out, continues ? VARLINK_REPLY_CONTINUES : 0); varlink_object_unref(out); return; diff --git a/source3/winbindd/winbindd_varlink_getmemberships.c b/source3/winbindd/winbindd_varlink_getmemberships.c index 14c91fa344b..d917072a0cc 100644 --- a/source3/winbindd/winbindd_varlink_getmemberships.c +++ b/source3/winbindd/winbindd_varlink_getmemberships.c @@ -34,6 +34,17 @@ static void membership_reply(VarlinkCall *call, out, "userName", username), err_free_out); WB_VL_ERR_CHECK_GOTO(varlink_object_set_string( out, "groupName", groupname), err_free_out); + + if (CHECK_DEBUGLVL(DBGLVL_DEBUG)) { + char *json = NULL; + varlink_object_to_json(out, &json); + if (json != NULL) { + DBG_DEBUG("Sending membership reply (continues='%s'): '%s'", + continues ? "y":"n", json); + free(json); + } + } + varlink_call_reply(call, out, continues ? VARLINK_REPLY_CONTINUES : 0); err_free_out: diff --git a/source3/winbindd/winbindd_varlink_getuserrecord.c b/source3/winbindd/winbindd_varlink_getuserrecord.c index a8051c97d07..bd2cd1844d2 100644 --- a/source3/winbindd/winbindd_varlink_getuserrecord.c +++ b/source3/winbindd/winbindd_varlink_getuserrecord.c @@ -57,6 +57,15 @@ user_record_reply(VarlinkCall *call, struct winbindd_pw *pw, bool continues) WB_VL_ERR_CHECK_GOTO(varlink_object_set_bool(out, "incomplete", false), err_free_out); WB_VL_ERR_CHECK_GOTO(varlink_object_set_object(out, "record", record), err_free_out); + if (CHECK_DEBUGLVL(DBGLVL_DEBUG)) { + char *json = NULL; + varlink_object_to_json(out, &json); + if (json != NULL) { + DBG_DEBUG("Sending user record reply: '%s'", json); + free(json); + } + } + varlink_call_reply(call, out, continues ? VARLINK_REPLY_CONTINUES : 0); varlink_object_unref(out); return; -- 2.47.2