Boston, MA 02111-1307, USA.
*/
+#ifdef WITH_ADS
+
#ifndef _IDMAP_NSS_H
#define _IDMAP_NSS_H
NTSTATUS (*get_nss_info)( struct nss_domain_entry *e,
const DOM_SID *sid,
TALLOC_CTX *ctx,
-#ifdef WITH_ADS
ADS_STRUCT *ads, LDAPMessage *msg,
-#else
- void *ads, void *msg,
-#endif
char **homedir, char **shell, char **gecos, gid_t *p_gid);
NTSTATUS (*close_fn)( void );
};
+
+/* The following definitions come from nsswitch/nss_info.c */
+
+NTSTATUS smb_register_idmap_nss(int version,
+ const char *name,
+ struct nss_info_methods *methods);
+
+NTSTATUS nss_init( const char **nss_list );
+
+NTSTATUS nss_get_info( const char *domain, const DOM_SID *user_sid,
+ TALLOC_CTX *ctx,
+ ADS_STRUCT *ads, LDAPMessage *msg,
+ char **homedir, char **shell, char **gecos,
+ gid_t *p_gid);
+
+NTSTATUS nss_close( const char *parameters );
+
+NTSTATUS idmap_nss_init_domain( const char *domain );
+
+
#endif /* _IDMAP_NSS_H_ */
+
+#endif /* WITH_ADS */
Boston, MA 02111-1307, USA.
*/
+#ifdef WITH_ADS
+
#include "includes.h"
#include "nss_info.h"
static struct nss_function_entry *backends = NULL;
static struct nss_domain_entry *nss_domain_list = NULL;
-/**********************************************************************
- **********************************************************************/
-
-const char *wb_posix_map_str(enum wb_posix_mapping mtype)
-{
- switch (mtype) {
- case WB_POSIX_MAP_SFU:
- return "sfu";
- case WB_POSIX_MAP_RFC2307:
- return "rfc2307";
- default:
- break;
- }
- return NULL;
-}
-
-
/**********************************************************************
Get idmap nss methods.
**********************************************************************/
Allow a module to register itself as a backend.
**********************************************************************/
-NTSTATUS smb_register_idmap_nss(int version, const char *name, struct nss_info_methods *methods)
+ NTSTATUS smb_register_idmap_nss(int version, const char *name, struct nss_info_methods *methods)
{
struct nss_function_entry *entry;
to initialize the state on a per domain basis.
*******************************************************************/
-NTSTATUS nss_init( const char **nss_list )
+ NTSTATUS nss_init( const char **nss_list )
{
NTSTATUS status;
int i;
/********************************************************************
*******************************************************************/
-NTSTATUS nss_get_info( const char *domain, const DOM_SID *user_sid,
+ NTSTATUS nss_get_info( const char *domain, const DOM_SID *user_sid,
TALLOC_CTX *ctx,
ADS_STRUCT *ads, LDAPMessage *msg,
char **homedir, char **shell, char **gecos,
/********************************************************************
*******************************************************************/
-NTSTATUS nss_close( const char *parameters )
+ NTSTATUS nss_close( const char *parameters )
{
struct nss_domain_entry *p = nss_domain_list;
struct nss_domain_entry *q;
Invoke the init function for a given domain's backend
*******************************************************************/
-NTSTATUS idmap_nss_init_domain( const char *domain )
+ NTSTATUS idmap_nss_init_domain( const char *domain )
{
struct nss_domain_entry *p;
return NT_STATUS_NO_SUCH_DOMAIN;
}
+#endif /* WITH_ADS */
+