summaryrefslogtreecommitdiff
path: root/src/responder
diff options
context:
space:
mode:
Diffstat (limited to 'src/responder')
-rw-r--r--src/responder/common/responder.h3
-rw-r--r--src/responder/common/responder_dp.c12
2 files changed, 13 insertions, 2 deletions
diff --git a/src/responder/common/responder.h b/src/responder/common/responder.h
index 6b6a25be..7ec2ee3d 100644
--- a/src/responder/common/responder.h
+++ b/src/responder/common/responder.h
@@ -244,7 +244,8 @@ enum sss_dp_acct_type {
SSS_DP_GROUP,
SSS_DP_INITGROUPS,
SSS_DP_NETGR,
- SSS_DP_SERVICES
+ SSS_DP_SERVICES,
+ SSS_DP_HOST
};
struct tevent_req *
diff --git a/src/responder/common/responder_dp.c b/src/responder/common/responder_dp.c
index aa439a6b..044aa385 100644
--- a/src/responder/common/responder_dp.c
+++ b/src/responder/common/responder_dp.c
@@ -487,24 +487,34 @@ sss_dp_get_account_msg(void *pvt)
uint32_t be_type;
uint32_t attrs = BE_ATTR_CORE;
char *filter;
+ const char *dp_method;
info = talloc_get_type(pvt, struct sss_dp_account_info);
switch (info->type) {
case SSS_DP_USER:
be_type = BE_REQ_USER;
+ dp_method = DP_METHOD_GETACCTINFO;
break;
case SSS_DP_GROUP:
be_type = BE_REQ_GROUP;
+ dp_method = DP_METHOD_GETACCTINFO;
break;
case SSS_DP_INITGROUPS:
be_type = BE_REQ_INITGROUPS;
+ dp_method = DP_METHOD_GETACCTINFO;
break;
case SSS_DP_NETGR:
be_type = BE_REQ_NETGROUP;
+ dp_method = DP_METHOD_GETACCTINFO;
break;
case SSS_DP_SERVICES:
be_type = BE_REQ_SERVICES;
+ dp_method = DP_METHOD_GETACCTINFO;
+ break;
+ case SSS_DP_HOST:
+ be_type = 0;
+ dp_method = DP_METHOD_HOSTHANDLER;
break;
}
@@ -537,7 +547,7 @@ sss_dp_get_account_msg(void *pvt)
msg = dbus_message_new_method_call(NULL,
DP_PATH,
DP_INTERFACE,
- DP_METHOD_GETACCTINFO);
+ dp_method);
if (msg == NULL) {
talloc_free(filter);
DEBUG(SSSDBG_CRIT_FAILURE, ("Out of memory?!\n"));