mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
s3-waf: Support smbd build without ldap and kerberos
This commit is contained in:
parent
d59df05ff9
commit
8e32f81d4d
@ -19,6 +19,7 @@ def set_options(opt):
|
||||
opt.RECURSE('../lib/nss_wrapper')
|
||||
opt.RECURSE('../lib/socket_wrapper')
|
||||
opt.RECURSE('../lib/tevent')
|
||||
opt.RECURSE('../lib/tdb')
|
||||
|
||||
opt.add_option('--with-static-modules',
|
||||
help=("Comma-separated list of names of modules to statically link in"),
|
||||
@ -61,6 +62,7 @@ def configure(conf):
|
||||
conf.RECURSE('../lib/popt')
|
||||
conf.RECURSE('../lib/nss_wrapper')
|
||||
conf.RECURSE('../lib/socket_wrapper')
|
||||
conf.RECURSE('../lib/zlib')
|
||||
|
||||
conf.CHECK_HEADERS('execinfo.h libexc.h libunwind.h')
|
||||
|
||||
@ -84,7 +86,9 @@ def configure(conf):
|
||||
conf.CHECK_FUNCS('shmget')
|
||||
conf.CHECK_FUNCS_IN('shm_open', 'rt', checklibc=True)
|
||||
conf.CHECK_FUNCS('gettext dgettext bindtextdomain textdomain')
|
||||
#FIXME: for some reason this one still fails
|
||||
conf.CHECK_FUNCS_IN('yp_get_default_domain', 'nsl')
|
||||
conf.CHECK_FUNCS_IN('dn_expand _dn_expand __dn_expand', 'resolv')
|
||||
|
||||
# Check for inotify support
|
||||
conf.CHECK_HEADERS('linux/inotify.h asm/unistd.h sys/inotify.h')
|
||||
@ -218,7 +222,6 @@ sizeof_proplist_entry _stat __stat stat64 _stat64 __stat64 statvfs
|
||||
strcasecmp strchr strpbrk strsignal strtol strupr sysconf sysctlbyname
|
||||
__sys_llseek syslog _telldir __telldir telldir64 textdomain timegm
|
||||
updwtmp updwtmpx utimensat vsyslog _write __write __xstat
|
||||
yp_get_default_domain
|
||||
''')
|
||||
|
||||
conf.CHECK_TYPE('struct timespec', headers='sys/time.h time.h')
|
||||
@ -296,39 +299,43 @@ yp_get_default_domain
|
||||
conf.SET_TARGET_TYPE('cups', 'EMPTY')
|
||||
|
||||
# Check for LDAP
|
||||
conf.CHECK_HEADERS('ldap.h lber.h')
|
||||
conf.CHECK_TYPE('ber_tag_t', 'unsigned int', headers='ldap.h lber.h')
|
||||
conf.CHECK_FUNCS_IN('ber_scanf ber_sockbuf_add_io', 'lber')
|
||||
conf.CHECK_VARIABLE('LDAP_OPT_SOCKBUF', headers='ldap.h')
|
||||
# if ber_sockbuf_add_io() and LDAP_OPT_SOCKBUF are available, we can add
|
||||
# SASL wrapping hooks
|
||||
if conf.CONFIG_SET('HAVE_BER_SOCKBUF_ADD_IO') and \
|
||||
conf.CONFIG_SET('HAVE_LDAP_OPT_SOCKBUF'):
|
||||
conf.DEFINE('HAVE_LDAP_SASL_WRAPPING', '1')
|
||||
if Options.options.with_ldap:
|
||||
conf.CHECK_HEADERS('ldap.h lber.h')
|
||||
conf.CHECK_TYPE('ber_tag_t', 'unsigned int', headers='ldap.h lber.h')
|
||||
conf.CHECK_FUNCS_IN('ber_scanf ber_sockbuf_add_io', 'lber')
|
||||
conf.CHECK_VARIABLE('LDAP_OPT_SOCKBUF', headers='ldap.h')
|
||||
# if ber_sockbuf_add_io() and LDAP_OPT_SOCKBUF are available, we can add
|
||||
# SASL wrapping hooks
|
||||
if conf.CONFIG_SET('HAVE_BER_SOCKBUF_ADD_IO') and \
|
||||
conf.CONFIG_SET('HAVE_LDAP_OPT_SOCKBUF'):
|
||||
conf.DEFINE('HAVE_LDAP_SASL_WRAPPING', '1')
|
||||
|
||||
# if we LBER_OPT_LOG_PRINT_FN we can intercept ldap logging and print it out
|
||||
# for the samba logs
|
||||
conf.CHECK_VARIABLE('LBER_OPT_LOG_PRINT_FN',
|
||||
define='HAVE_LBER_LOG_PRINT_FN', headers='lber.h')
|
||||
# if we LBER_OPT_LOG_PRINT_FN we can intercept ldap logging and print it out
|
||||
# for the samba logs
|
||||
conf.CHECK_VARIABLE('LBER_OPT_LOG_PRINT_FN',
|
||||
define='HAVE_LBER_LOG_PRINT_FN', headers='lber.h')
|
||||
|
||||
conf.CHECK_FUNCS_IN('ldap_init ldap_initialize ldap_set_rebind_proc', 'ldap')
|
||||
conf.CHECK_FUNCS_IN('ldap_add_result_entry', 'ldap')
|
||||
conf.CHECK_FUNCS_IN('ldap_init ldap_initialize ldap_set_rebind_proc', 'ldap')
|
||||
conf.CHECK_FUNCS_IN('ldap_add_result_entry', 'ldap')
|
||||
|
||||
# Check if ldap_set_rebind_proc() takes three arguments
|
||||
if conf.CHECK_CODE('ldap_set_rebind_proc(0, 0, 0)',
|
||||
'LDAP_SET_REBIND_PROC_ARGS',
|
||||
msg="Checking whether ldap_set_rebind_proc takes 3 arguments",
|
||||
headers='ldap.h lber.h', link=False):
|
||||
conf.DEFINE('LDAP_SET_REBIND_PROC_ARGS', '3')
|
||||
# Check if ldap_set_rebind_proc() takes three arguments
|
||||
if conf.CHECK_CODE('ldap_set_rebind_proc(0, 0, 0)',
|
||||
'LDAP_SET_REBIND_PROC_ARGS',
|
||||
msg="Checking whether ldap_set_rebind_proc takes 3 arguments",
|
||||
headers='ldap.h lber.h', link=False):
|
||||
conf.DEFINE('LDAP_SET_REBIND_PROC_ARGS', '3')
|
||||
else:
|
||||
conf.DEFINE('LDAP_SET_REBIND_PROC_ARGS', '2')
|
||||
|
||||
# last but not least, if ldap_init() exists, we want to use ldap
|
||||
if conf.CONFIG_SET('HAVE_LDAP_INIT'):
|
||||
conf.DEFINE('HAVE_LDAP', '1')
|
||||
conf.DEFINE('LDAP_DEPRECATED', '1')
|
||||
conf.env['SMBLDAP'] = 'lib/smbldap.c'
|
||||
conf.env['SMBLDAPUTIL'] = 'lib/smbldap_util.c'
|
||||
else:
|
||||
conf.DEFINE('LDAP_SET_REBIND_PROC_ARGS', '2')
|
||||
|
||||
# last but not least, if ldap_init() exists, we want to use ldap
|
||||
if conf.CONFIG_SET('HAVE_LDAP_INIT') and Options.options.with_ldap:
|
||||
conf.DEFINE('HAVE_LDAP', '1')
|
||||
conf.DEFINE('LDAP_DEPRECATED', '1')
|
||||
conf.env['SMBLDAP'] = 'lib/smbldap.c'
|
||||
conf.env['SMBLDAPUTIL'] = 'lib/smbldap_util.c'
|
||||
conf.SET_TARGET_TYPE('ldap', 'EMPTY')
|
||||
conf.SET_TARGET_TYPE('lber', 'EMPTY')
|
||||
|
||||
# Check for kerberos
|
||||
conf.find_program('krb5-config', var='KRB5_CONFIG')
|
||||
|
@ -431,9 +431,9 @@ PASSDB_GET_SET_SRC = '''passdb/pdb_get_set.c'''
|
||||
#FIXME: Hack around the missing AC_MODULE
|
||||
PDB_STATIC = 'passdb/pdb_tdb.c'
|
||||
|
||||
PASSDB_MODULES_SRC = '''passdb/pdb_nds.c passdb/pdb_wbc_sam.c passdb/pdb_ads.c
|
||||
passdb/pdb_smbpasswd.c passdb/secrets.c passdb/machine_sid.c
|
||||
passdb/pdb_ldap.c'''
|
||||
PASSDB_MODULES_SRC = '''passdb/pdb_wbc_sam.c passdb/pdb_ads.c
|
||||
passdb/pdb_smbpasswd.c passdb/secrets.c passdb/machine_sid.c'''
|
||||
#passdb/pdb_ldap.c passdb/pdb_nds.c'''
|
||||
|
||||
PASSDB_SRC = '''${PASSDB_GET_SET_SRC} passdb/passdb.c passdb/pdb_interface.c
|
||||
passdb/util_wellknown.c passdb/util_builtin.c passdb/pdb_compat.c
|
||||
@ -444,8 +444,8 @@ PASSDB_SRC = '''${PASSDB_GET_SET_SRC} passdb/passdb.c passdb/pdb_interface.c
|
||||
|
||||
|
||||
|
||||
EXTRA_SRC = '''lib/smbldap.c lib/tldap.c lib/tldap_util.c
|
||||
lib/util_tsock.c lib/smbldap_util.c'''
|
||||
EXTRA_SRC = '''lib/tldap.c lib/tldap_util.c
|
||||
lib/util_tsock.c''' #lib/smbdlap.c lib/smbldap_util.c'''
|
||||
|
||||
AUTH_SRC1 = '''${AUTH_BUILTIN_SRC} ${AUTH_DOMAIN_SRC} ${AUTH_SAM_SRC}
|
||||
${AUTH_SERVER_SRC} ${AUTH_UNIX_SRC} ${AUTH_WINBIND_SRC}
|
||||
@ -681,10 +681,20 @@ bld.RECURSE('build')
|
||||
|
||||
bld.SAMBA_MKVERSION('include/version.h')
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('LIBWBCLIENT',
|
||||
source='''../nsswitch/libwbclient/wbc_guid.c
|
||||
../nsswitch/libwbclient/wbc_idmap.c
|
||||
../nsswitch/libwbclient/wbclient.c
|
||||
../nsswitch/libwbclient/wbc_pam.c
|
||||
../nsswitch/libwbclient/wbc_pwd.c
|
||||
../nsswitch/libwbclient/wbc_sid.c
|
||||
../nsswitch/libwbclient/wbc_util.c''',
|
||||
public_deps='talloc')
|
||||
|
||||
bld.SAMBA_BINARY('smbd/smbd',
|
||||
source=SMBD_SRC,
|
||||
deps='''tdb DYNCONFIG tevent popt dl krb5 ldap gssapi gssapi_krb5
|
||||
NSS_WRAPPER LIBWBCLIENT crypt nsl cups cap''',
|
||||
NSS_WRAPPER LIBWBCLIENT crypt nsl cups cap resolv z''',
|
||||
includes='lib',
|
||||
vars=locals())
|
||||
|
||||
@ -694,7 +704,7 @@ bld.RECURSE('../lib/tdb')
|
||||
bld.RECURSE('../lib/nss_wrapper')
|
||||
bld.RECURSE('../lib/tevent')
|
||||
bld.RECURSE('../lib/popt')
|
||||
bld.RECURSE('../nsswitch/libwbclient')
|
||||
bld.RECURSE('../lib/zlib')
|
||||
|
||||
bld.ENFORCE_GROUP_ORDERING()
|
||||
bld.CHECK_PROJECT_RULES()
|
||||
|
Loading…
Reference in New Issue
Block a user