summaryrefslogtreecommitdiff
path: root/librpc
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2016-12-29 09:56:29 +0000
committerVolker Lendecke <vl@samba.org>2017-01-02 18:04:13 +0100
commit2022ec8770ff05d91f6eaf2ae3da7a4150697d56 (patch)
tree960f89946e7bfd651bf0d24551343b336d835802 /librpc
parentc98ad0accae2b32526cfdc4577cc6d5adafc5f00 (diff)
downloadsamba-2022ec8770ff05d91f6eaf2ae3da7a4150697d56.tar.gz
winbind: Add a GetNssInfo parent/child call
This call will be done in the idmap child. It is not 100% the right place, but there is no better one available to me. It will become a replacement for the "winbind nss info" parameter: This global parameter is good for just one domain. It might be possible to have idmap backend AD for different domains, and the NSS info like primary gid, homedir and shell might be done with different policies per domain. As we already have a domain-specific idmap configuration, doing the NSS info configuration there also is the closest way to do it. The alternative, if we did not want to put this call into the idmap child would be to establish an equivalent engine like the whole "idmap config *" just for the nss info. But as I believe this is closely related, I'll just keep it in the idmap child. This also extends the wbint_userinfo structure with pretty much all user related fields. The idea is that the GetNssInfo call can do whatever it wants with it. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Uri Simchoni <uri@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'librpc')
-rw-r--r--librpc/idl/winbind.idl7
1 files changed, 7 insertions, 0 deletions
diff --git a/librpc/idl/winbind.idl b/librpc/idl/winbind.idl
index ec472c57ede..ab1a32e059c 100644
--- a/librpc/idl/winbind.idl
+++ b/librpc/idl/winbind.idl
@@ -72,11 +72,14 @@ interface winbind
);
typedef [public] struct {
+ [string,charset(UTF8)] char *domain_name;
[string,charset(UTF8)] char *acct_name;
[string,charset(UTF8)] char *full_name;
[string,charset(UTF8)] char *homedir;
[string,charset(UTF8)] char *shell;
+ hyper uid;
hyper primary_gid;
+ [string,charset(UTF8)] char *primary_group_name;
dom_sid user_sid;
dom_sid group_sid;
} wbint_userinfo;
@@ -86,6 +89,10 @@ interface winbind
[out] wbint_userinfo *info
);
+ NTSTATUS wbint_GetNssInfo(
+ [in,out] wbint_userinfo *info
+ );
+
typedef [public] struct {
uint32 num_sids;
[size_is(num_sids)] dom_sid sids[];