summaryrefslogtreecommitdiff
path: root/source3/winbindd/nss_info_template.c
diff options
context:
space:
mode:
authorGerald (Jerry) Carter <jerry@samba.org>2008-09-15 15:41:37 -0500
committerJeremy Allison <jra@samba.org>2008-09-16 10:27:49 -0700
commitd6de32db2f8d080cb746b3032c128f210154b75e (patch)
tree3a28e1eefd2f2c3773aa0bb030372707d4e63f48 /source3/winbindd/nss_info_template.c
parentf2723d193d8a7963b937414ee32e5c6f529b9032 (diff)
downloadsamba-d6de32db2f8d080cb746b3032c128f210154b75e.tar.gz
samba-d6de32db2f8d080cb746b3032c128f210154b75e.tar.bz2
samba-d6de32db2f8d080cb746b3032c128f210154b75e.zip
winbindd: Add support for name aliasing.
* Add support user and group name aliasing by expanding the ws_name_replace() and ws_name_return() functions. The lookup path is aliases -> qualified name -> SID SID -> fully qualified name -> alias In other words, the name aliasing support is a thin layer built on top of SID/NAME translation. * Rename the ws_name_XX() functions to normalize_name_map() and normalize_name_unmap(). Chaneg interface to return NTSTATUS rather than char *. * Add associated cache validation functions.
Diffstat (limited to 'source3/winbindd/nss_info_template.c')
-rw-r--r--source3/winbindd/nss_info_template.c32
1 files changed, 29 insertions, 3 deletions
diff --git a/source3/winbindd/nss_info_template.c b/source3/winbindd/nss_info_template.c
index aaf02e4abe..d8f903ddd0 100644
--- a/source3/winbindd/nss_info_template.c
+++ b/source3/winbindd/nss_info_template.c
@@ -45,6 +45,8 @@ static NTSTATUS nss_template_get_info( struct nss_domain_entry *e,
if ( !homedir || !shell || !gecos )
return NT_STATUS_INVALID_PARAMETER;
+ /* protect against home directories using whitespace in the
+ username */
*homedir = talloc_strdup( ctx, lp_template_homedir() );
*shell = talloc_strdup( ctx, lp_template_shell() );
*gecos = NULL;
@@ -56,6 +58,28 @@ static NTSTATUS nss_template_get_info( struct nss_domain_entry *e,
return NT_STATUS_OK;
}
+/**********************************************************************
+ *********************************************************************/
+
+static NTSTATUS nss_template_map_to_alias( TALLOC_CTX *mem_ctx,
+ const char *domain,
+ const char *name,
+ char **alias )
+{
+ return NT_STATUS_NOT_IMPLEMENTED;
+}
+
+/**********************************************************************
+ *********************************************************************/
+
+static NTSTATUS nss_template_map_from_alias( TALLOC_CTX *mem_ctx,
+ const char *domain,
+ const char *alias,
+ char **name )
+{
+ return NT_STATUS_NOT_IMPLEMENTED;
+}
+
/************************************************************************
***********************************************************************/
@@ -69,9 +93,11 @@ static NTSTATUS nss_template_close( void )
***********************************************************************/
static struct nss_info_methods nss_template_methods = {
- .init = nss_template_init,
- .get_nss_info = nss_template_get_info,
- .close_fn = nss_template_close
+ .init = nss_template_init,
+ .get_nss_info = nss_template_get_info,
+ .map_to_alias = nss_template_map_to_alias,
+ .map_from_alias = nss_template_map_from_alias,
+ .close_fn = nss_template_close
};
NTSTATUS nss_info_template_init( void )