1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-26 01:49:31 +03:00

r20992: another attempt at fixing the build breakage

(This used to be commit 7011a1b5ab)
This commit is contained in:
Gerald Carter
2007-01-24 04:44:27 +00:00
committed by Gerald (Jerry) Carter
parent 1ce7cc1918
commit a4faa575a4
4 changed files with 37 additions and 26 deletions

View File

@ -777,6 +777,8 @@ enum flush_reason_enum {
#ifdef HAVE_LDAP
#include "ads_protos.h"
#else
typedef LDAPMessage void;
#endif
/* We need this after proto.h to reference GetTimeOfDay(). */

View File

@ -20,6 +20,8 @@
Boston, MA 02111-1307, USA.
*/
#ifdef WITH_ADS
#ifndef _IDMAP_NSS_H
#define _IDMAP_NSS_H
@ -60,13 +62,31 @@ struct nss_info_methods {
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 */

View File

@ -20,29 +20,14 @@
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.
**********************************************************************/
@ -63,7 +48,7 @@ static struct nss_function_entry *nss_get_backend(const char *name )
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;
@ -145,7 +130,7 @@ static BOOL parse_nss_parm( const char *config, char **backend, char **domain )
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;
@ -230,7 +215,7 @@ NTSTATUS nss_init( const char **nss_list )
/********************************************************************
*******************************************************************/
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,
@ -263,7 +248,7 @@ NTSTATUS nss_get_info( const char *domain, const DOM_SID *user_sid,
/********************************************************************
*******************************************************************/
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;
@ -285,7 +270,7 @@ NTSTATUS nss_close( const char *parameters )
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;
@ -303,3 +288,5 @@ NTSTATUS idmap_nss_init_domain( const char *domain )
return NT_STATUS_NO_SUCH_DOMAIN;
}
#endif /* WITH_ADS */

View File

@ -1009,7 +1009,9 @@ int main(int argc, char **argv, char **envp)
DEBUG(1, ("Could not init idmap! - Sid/[UG]id mapping will not be available\n"));
}
#ifdef WITH_ADS
nss_init( lp_winbind_nss_info() );
#endif
/* Unblock all signals we are interested in as they may have been
blocked by the parent process. */