diff options
Diffstat (limited to 'src/providers')
-rw-r--r-- | src/providers/data_provider_be.c | 9 | ||||
-rw-r--r-- | src/providers/dp_backend.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/providers/data_provider_be.c b/src/providers/data_provider_be.c index a3607236..101bd3b2 100644 --- a/src/providers/data_provider_be.c +++ b/src/providers/data_provider_be.c @@ -552,6 +552,7 @@ static int be_get_account_info(DBusMessage *message, struct sbus_connection *con void *user_data; uint32_t type; char *filter; + char *domain; uint32_t attr_type; int ret; dbus_uint16_t err_maj; @@ -571,6 +572,7 @@ static int be_get_account_info(DBusMessage *message, struct sbus_connection *con DBUS_TYPE_UINT32, &type, DBUS_TYPE_UINT32, &attr_type, DBUS_TYPE_STRING, &filter, + DBUS_TYPE_STRING, &domain, DBUS_TYPE_INVALID); if (!ret) { DEBUG(1,("Failed, to parse message!\n")); @@ -634,6 +636,13 @@ static int be_get_account_info(DBusMessage *message, struct sbus_connection *con } req->entry_type = type; req->attr_type = (int)attr_type; + req->domain = talloc_strdup(req, domain); + if (!req->domain) { + err_maj = DP_ERR_FATAL; + err_min = ENOMEM; + err_msg = "Out of memory"; + goto done; + } be_req->req_data = req; diff --git a/src/providers/dp_backend.h b/src/providers/dp_backend.h index 76b0e43d..cdb37a89 100644 --- a/src/providers/dp_backend.h +++ b/src/providers/dp_backend.h @@ -150,6 +150,7 @@ struct be_acct_req { int filter_type; char *filter_value; char *extra_value; + char *domain; }; struct be_sudo_req { |