Hi,
I investigated the situation around the log message, which mentioned
Lukas. I prepared this patch. The result is that the original message
> [sssd[be[cygnus.dev]]] [be_get_account_info] (0x0200): Got request
for [0x1001][1][name=celestian]
changed to
> [sssd[be[cygnus.dev]]] [be_get_account_info] (0x0200): Got request
for [0x1001][FAST BE_REQ_USER][1][name=celestian]
A)
I would like to ask if mark 'FAST' is useful, or if I should remove it.
B)
While writing a patch Lukas noticed another similar logging messages
> [sssd[pam]] [sss_dp_get_account_msg] (0x0400): Creating request for
[LDAP][3][1][name=mof_user6]
I investigated it. This is the same thing -- BE_REQ_*, but it is no
longer in the provider, but in the responder. Can you please advise me
where I could the function 'be_req2str' write?
The first message is coming from
> src/providers/data_provider_be.c --> be_get_account_info,
the second is from
> src/responder/common/responder_dp --> sss_dp_get_account_msg
Thanks.
Petr
>From 78ba1b38af081001eaefae180adc4a45e8c673d9 Mon Sep 17 00:00:00 2001
From: Petr Cech <pc...@redhat.com>
Date: Wed, 15 Jul 2015 02:26:29 -0400
Subject: [PATCH] DATA_PROVIDER: BE_REQ as string in log message
NOTICE: This is only draft, not real commit!
We could have
> Got request for [0x1001][FAST BE_REQ_USER][1][name=celestian]
instead of
> Got request for [0x1001][1][name=celestian]
Resolves:
https://fedorahosted.org/sssd/ticket/2708
---
src/providers/data_provider_be.c | 38 +++++++++++++++++++++++++++++++++++++-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/src/providers/data_provider_be.c b/src/providers/data_provider_be.c
index f5bdfb676011975defa4c5a734d420c8694f3bdd..1d59a0ab1b14f5db4319565edf646e01329f0168 100644
--- a/src/providers/data_provider_be.c
+++ b/src/providers/data_provider_be.c
@@ -80,6 +80,8 @@ static int be_autofs_handler(struct sbus_request *dbus_req, void *user_data);
static int be_host_handler(struct sbus_request *dbus_req, void *user_data);
static int be_get_subdomains(struct sbus_request *dbus_req, void *user_data);
+const char* be_req2str(dbus_uint32_t req_type);
+
struct data_provider_iface be_methods = {
{ &data_provider_iface_meta, 0 },
.RegisterService = client_registration,
@@ -1104,7 +1106,8 @@ static int be_get_account_info(struct sbus_request *dbus_req, void *user_data)
return EOK; /* handled */
DEBUG(SSSDBG_FUNC_DATA,
- "Got request for [%#x][%d][%s]\n", type, attr_type, filter);
+ "Got request for [%#x][%s][%d][%s]\n", type, be_req2str(type),
+ attr_type, filter);
/* If we are offline and fast reply was requested
* return offline immediately
@@ -2955,3 +2958,36 @@ static int data_provider_logrotate(struct sbus_request *dbus_req, void *data)
return sbus_request_return_and_finish(dbus_req, DBUS_TYPE_INVALID);
}
+
+const char* be_req2str(dbus_uint32_t req_type)
+{
+ switch (req_type & BE_REQ_TYPE_MASK) {
+ case BE_REQ_USER:
+ return req_type & BE_REQ_FAST ? "FAST BE_REQ_USER" : "BE_REQ_USER";
+ case BE_REQ_GROUP:
+ return req_type & BE_REQ_FAST ? "FAST BE_REQ_GROUP" : "BE_REQ_GROUP";
+ case BE_REQ_INITGROUPS:
+ return req_type & BE_REQ_FAST ? "FAST BE_REQ_INITGROUPS" : "BE_REQ_INITGROUPS";
+ case BE_REQ_NETGROUP:
+ return req_type & BE_REQ_FAST ? "FAST BE_REQ_NETGROUP" : "BE_REQ_NETGROUP";
+ case BE_REQ_SERVICES:
+ return req_type & BE_REQ_FAST ? "FAST BE_REQ_SERVICES" : "BE_REQ_SERVICES";
+ case BE_REQ_SUDO_FULL:
+ return req_type & BE_REQ_FAST ? "FAST BE_REQ_SUDO_FULL" : "BE_REQ_SUDO_FULL";
+ case BE_REQ_SUDO_RULES:
+ return req_type & BE_REQ_FAST ? "FAST BE_REQ_SUDO_RULES" : "BE_REQ_SUDO_RULES";
+ case BE_REQ_AUTOFS:
+ return req_type & BE_REQ_FAST ? "FAST BE_REQ_AUTOFS" : "BE_REQ_AUTOFS";
+ case BE_REQ_HOST:
+ return req_type & BE_REQ_FAST ? "FAST BE_REQ_HOST" : "BE_REQ_HOST";
+ case BE_REQ_BY_SECID:
+ return req_type & BE_REQ_FAST ? "FAST BE_REQ_BY_SECID" : "BE_REQ_BY_SECID";
+ case BE_REQ_USER_AND_GROUP:
+ return req_type & BE_REQ_FAST ? "FAST BE_REQ_USER_AND_GROUP" : "BE_REQ_USER_AND_GROUP";
+ case BE_REQ_BY_UUID:
+ return req_type & BE_REQ_FAST ? "FAST BE_REQ_BY_UUID" : "BE_REQ_BY_UUID";
+ case BE_REQ_BY_CERT:
+ return req_type & BE_REQ_FAST ? "FAST BE_REQ_BY_CERT" : "BE_REQ_BY_CERT";
+ }
+ return "UNKNOWN_REQ";
+}
--
2.4.3
_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/sssd-devel