From: Samuel Cabrero Date: Fri, 25 Apr 2025 14:13:10 +0000 (+0200) Subject: winbind.idl: Add wbint_NormalizeNameMap X-Git-Tag: tevent-0.17.0~144 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9e7d8a96814fd65dba5422e5969eba9725e66e8f;p=thirdparty%2Fsamba.git winbind.idl: Add wbint_NormalizeNameMap normalize_name_map(), depending on the idmap config, can query LDAP to map the username to its alias, e.g., map samaccountname to posix uid. To avoid blocking this call should be done in the idmap child. Signed-off-by: Samuel Cabrero Reviewed-by: Volker Lendecke Reviewed-by: Andreas Schneider --- diff --git a/librpc/idl/winbind.idl b/librpc/idl/winbind.idl index 29671dbd498..50b21a837d4 100644 --- a/librpc/idl/winbind.idl +++ b/librpc/idl/winbind.idl @@ -271,6 +271,12 @@ interface winbind [out,ref] DomainInfoFlags *flags ); + NTSTATUS wbint_NormalizeNameMap( + [in,string,charset(UTF8)] char *domain_name, + [in,string,charset(UTF8)] char *name, + [out,string,charset(UTF8)] char **mapped_name + ); + /* Public methods available via IRPC */ typedef [switch_type(uint16)] union netr_LogonLevel netr_LogonLevel; diff --git a/source3/winbindd/winbindd_dual_srv.c b/source3/winbindd/winbindd_dual_srv.c index 780923a4b6b..80a51d50f3e 100644 --- a/source3/winbindd/winbindd_dual_srv.c +++ b/source3/winbindd/winbindd_dual_srv.c @@ -2152,4 +2152,19 @@ NTSTATUS _wbint_ListTrustedDomains(struct pipes_struct *p, return NT_STATUS_OK; } +NTSTATUS _wbint_NormalizeNameMap(struct pipes_struct *p, + struct wbint_NormalizeNameMap *r) +{ + char *mapped = NULL; + NTSTATUS status; + + status = normalize_name_map(p->mem_ctx, + r->in.domain_name, + r->in.name, + &mapped); + *r->out.mapped_name = mapped; + + return status; +} + #include "librpc/gen_ndr/ndr_winbind_scompat.c"