s3:passdb: add sid_check_object_is_for_passdb()
[kai/samba.git] / source3 / wscript_build
index ca08ed8c42e94eb3d585c704289ae78719b5bd1b..6fc0d0666e6a46ac559f8afd0c2ef36d22198dba 100755 (executable)
@@ -58,8 +58,7 @@ LIB_SRC = '''
           lib/ms_fnmatch.c
           lib/tallocmsg.c lib/dmallocmsg.c
           intl/lang_tdb.c
-          lib/conn_tdb.c lib/gencache.c
-          lib/sessionid_tdb.c
+          lib/gencache.c
           lib/events.c
           lib/server_contexts.c
           lib/server_prefork.c
@@ -210,12 +209,12 @@ PASSDB_GET_SET_SRC = '''passdb/pdb_get_set.c'''
 
 PASSDB_SRC = '''${PASSDB_GET_SET_SRC} passdb/passdb.c
                 lib/util_wellknown.c lib/util_builtin.c passdb/pdb_compat.c
+                lib/util_sid_passdb.c
                 lib/util_unixsids.c passdb/lookup_sid.c
                 passdb/login_cache.c
                 passdb/account_pol.c ${PRIVILEGES_SRC}
                 lib/util_nscd.c lib/winbind_util.c
                 passdb/pdb_util.c passdb/pdb_interface.c
-                passdb/pdb_ldap_schema.c
                 passdb/pdb_secrets.c
                 passdb/pdb_unixid.c'''
 #FIXME: lib/winbind_util.c probably is not part of PASSDB_SRC
@@ -267,10 +266,9 @@ WINBINDD_SRC1 = '''winbindd/winbindd.c
                    winbindd/wb_lookupsid.c
                    winbindd/wb_lookupsids.c
                    winbindd/wb_lookupname.c
-                   winbindd/wb_sid2uid.c
-                   winbindd/wb_sid2gid.c
                    winbindd/wb_uid2sid.c
                    winbindd/wb_gid2sid.c
+                   winbindd/wb_sids2xids.c
                    winbindd/wb_queryuser.c
                    winbindd/wb_lookupuseraliases.c
                    winbindd/wb_lookupusergroups.c
@@ -352,6 +350,8 @@ SMBD_SRC_SRV = '''smbd/server_reload.c smbd/files.c smbd/connection.c
                lib/sysquotas_xfs.c lib/sysquotas_4A.c lib/sysquotas_4B.c
                lib/sysquotas_nfs.c
                lib/background.c
+               lib/sessionid_tdb.c
+               lib/conn_tdb.c
                smbd/fake_file.c
                smbd/quotas.c smbd/ntquotas.c smbd/msdfs.c
                smbd/aio.c smbd/statvfs.c
@@ -381,6 +381,7 @@ SMBD_SRC_SRV = '''smbd/server_reload.c smbd/files.c smbd/connection.c
                smbd/smbXsrv_tcon.c
                smbd/smbXsrv_open.c
                smbd/server_exit.c
+               smbd/durable.c
                ${MANGLE_SRC}'''
 
 SMBD_SRC_BASE = '''${SMBD_SRC_SRV}
@@ -513,7 +514,7 @@ NET_SRC1 = '''utils/net.c utils/net_ads.c utils/net_help.c
               utils/net_util.c utils/net_rpc_sh_acct.c utils/net_rpc_audit.c
               utils/net_dns.c utils/net_ads_gpo.c
               utils/net_conf.c utils/net_join.c utils/net_user.c
-              utils/net_group.c utils/net_file.c utils/net_registry.c utils/net_connections.c
+              utils/net_group.c utils/net_file.c utils/net_registry.c
               utils/net_registry_check.c
               utils/net_dom.c utils/net_share.c
               utils/net_g_lock.c
@@ -556,17 +557,14 @@ SMBTORTURE_SRC1 = '''torture/torture.c torture/nbio.c torture/scanner.c torture/
                 lib/tevent_barrier.c
                 torture/test_dbwrap_watch.c
                 torture/test_idmap_tdb_common.c
+                torture/test_dbwrap_ctdb.c
                 torture/t_strappend.c'''
 
 SMBTORTURE_SRC = '''${SMBTORTURE_SRC1}
         torture/wbc_async.c'''
 
-MASKTEST_SRC = '''torture/masktest.c'''
-
 MSGTEST_SRC = '''torture/msgtest.c'''
 
-LOCKTEST_SRC = '''torture/locktest.c'''
-
 PDBTEST_SRC = '''torture/pdbtest.c'''
 
 VFSTEST_SRC = '''torture/cmd_vfs.c torture/vfstest.c
@@ -638,6 +636,7 @@ bld.SAMBA3_LIBRARY('netapi',
                     libcli_netlogon3
                     LIBCLI_SAMR
                     INIT_SAMR
+                    auth
                     ''',
                     public_headers='../source3/lib/netapi/netapi.h',
                     pc_files='libnet/netapi.pc',
@@ -657,6 +656,7 @@ bld.SAMBA3_LIBRARY('nss_wins',
                   source=WINBIND_WINS_NSS_SRC,
                   deps='''param libsmb LIBTSOCKET''',
                   realname='libnss_wins.so.2',
+                  soname='libnss_wins.so',
                   vnum='2')
 
 bld.SAMBA3_LIBRARY('gse',
@@ -675,7 +675,7 @@ bld.SAMBA3_LIBRARY('msrpc3',
 
 bld.SAMBA3_LIBRARY('gpo',
                    source='${LIBGPO_SRC}',
-                   deps='talloc ads TOKEN_UTIL gpext',
+                   deps='talloc ads TOKEN_UTIL gpext auth',
                    vars=locals(),
                    private_library=True)
 
@@ -692,14 +692,32 @@ bld.SAMBA3_SUBSYSTEM('TLDAP',
                     source=TLDAP_SRC,
                     deps='asn1util LIBTSOCKET')
 
-static_pdb_modules = ['tdbsam', 'ldap', 'smbpasswd', 'wbc_sam']
-static_pdb_match = filter(lambda x: bld.SAMBA3_IS_STATIC_MODULE('pdb_%s' % x), static_pdb_modules)
+# libpdb.so should not expose internal symbols that are only usable
+# to the statically linked modules that are merged into libpdb.
+# Note that we always filter these symbols out in libpdb, even
+# when modules are not linked statically. In the latter case
+# symbols will not be present in the libpdb anyway so no hurt is
+# done to the version script.
+static_pdb_match = ['tdbsam', 'smbpasswd', 'wbc_sam']
 private_pdb_match = []
-if bld.SAMBA3_IS_STATIC_MODULE('pdb_samba_dsdb') and bld.AD_DC_BUILD_IS_ENABLED():
-    static_pdb_match.append('samba_dsdb')
-    private_pdb_match.append('!idmap_init')
-    private_pdb_match.append('!idmap_sids_to_xids')
-    private_pdb_match.append('!idmap_xids_to_sids')
+
+# AD DC module when linked statically will pull in few source4/winbind
+# dependencies which are not used outside AD DC module
+static_pdb_match.append('samba_dsdb')
+private_pdb_match.append('!idmap_init')
+private_pdb_match.append('!idmap_sids_to_xids')
+private_pdb_match.append('!idmap_xids_to_sids')
+
+# ldap module is actually three modules merged together: ldapsam, ipa, and nds
+static_pdb_match = static_pdb_match + ['ldap', 'ipa', 'nds']
+ldapsam_pdb_match = ['!priv2ld', '!smbldap_search_domain_info',
+                     '!ldapsam_*', '!groupmap_attr_list*', '!get_userattr_list',
+                     '!dominfo_attr_list', '!get_attr_key2string',
+                     '!sidmap_attr_list', '!attrib_map_*', '!idpool_attr_list',
+                     '!get_attr_list']
+private_pdb_match.append('!pdb_nds_*')
+private_pdb_match.append('!pdb_init_ldapsam')
+private_pdb_match = private_pdb_match + ldapsam_pdb_match
 
 private_pdb_match = private_pdb_match + map(lambda x: '!pdb_%s_init' % x, static_pdb_match)
 
@@ -718,6 +736,13 @@ bld.SAMBA3_LIBRARY('pdb',
                    vnum='0',
                    vars=locals())
 
+bld.SAMBA3_LIBRARY('smbldaphelper',
+                   source='passdb/pdb_ldap_schema.c passdb/pdb_ldap_util.c',
+                   deps='smbldap secrets3',
+                   allow_undefined_symbols=True,
+                   enabled=bld.CONFIG_SET('HAVE_LDAP'),
+                   private_library=True)
+
 bld.SAMBA3_SUBSYSTEM('SERVER_MUTEX',
                      source=SERVER_MUTEX_SRC,
                     deps='talloc')
@@ -865,8 +890,12 @@ bld.SAMBA3_LIBRARY('smbldap',
                     source=SMBLDAP_SRC,
                     deps='ldap lber samba-util param',
                     vars=locals(),
-                    enabled=bld.env.HAVE_LDAP,
-                    private_library=True,
+                    enabled=bld.CONFIG_SET("HAVE_LDAP"),
+                    private_library=False,
+                    abi_directory='lib/ABI',
+                    abi_match='smbldap_*',
+                    pc_files=[],
+                    vnum='0',
                     public_headers='include/smbldap.h include/smb_ldap.h')
 
 bld.SAMBA3_LIBRARY('ads',
@@ -947,7 +976,8 @@ bld.SAMBA3_LIBRARY('smbd_base',
                    LIBASYS
                     ccan-hash
                     NDR_SMB_ACL
-                    ''',
+                    netapi
+                    ''' + bld.env['dmapi_lib'],
                     private_library=True,
                     vars=locals())
 
@@ -1194,6 +1224,7 @@ bld.SAMBA3_BINARY('web/swat',
                  param
                  pdb
                  popt_samba3
+                 smbd_base
                  LOCKING
                  PLAINTEXT_AUTH
                  PASSCHANGE
@@ -1265,6 +1296,7 @@ bld.SAMBA3_BINARY('net',
                  msrpc3
                  gpo
                  ads
+                 smbd_base
                  LIBADS_SERVER
                  LIBADS_PRINTER
                  SMBREADLINE
@@ -1330,6 +1362,7 @@ bld.SAMBA3_BINARY('smbstatus',
                  talloc
                  param
                  popt_samba3
+                 smbd_base
                  LOCKING
                  PROFILE''',
                  vars=locals())
@@ -1406,6 +1439,7 @@ bld.SAMBA3_BINARY('smbtorture' + bld.env.suffix3,
                 NDR_OPEN_FILES
                 idmap
                  ''',
+                 install=False,
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbconftort',
@@ -1414,6 +1448,7 @@ bld.SAMBA3_BINARY('smbconftort',
                  talloc
                  param
                  popt_samba3''',
+                 install=False,
                  vars=locals())
 
 bld.SAMBA3_BINARY('replacetort',
@@ -1421,19 +1456,12 @@ bld.SAMBA3_BINARY('replacetort',
                  deps='replace replace-test',
                  install=False)
 
-bld.SAMBA3_BINARY('masktest' + bld.env.suffix3,
-                 source=MASKTEST_SRC,
-                 deps='''
-                 talloc
-                 param
-                 libsmb''',
-                 vars=locals())
-
 bld.SAMBA3_BINARY('msgtest',
                  source=MSGTEST_SRC,
                  deps='''
                  talloc
                  param''',
+                 install=False,
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbcacls',
@@ -1471,15 +1499,6 @@ bld.SAMBA3_BINARY('sharesec',
                  popt_samba3''',
                  vars=locals())
 
-bld.SAMBA3_BINARY('locktest' + bld.env.suffix3,
-                 source=LOCKTEST_SRC,
-                 deps='''
-                 talloc
-                 param
-                 libsmb
-                 LOCKING''',
-                 vars=locals())
-
 bld.SAMBA3_BINARY('pdbtest',
                  source=PDBTEST_SRC,
                  deps='''
@@ -1488,6 +1507,7 @@ bld.SAMBA3_BINARY('pdbtest',
                  popt_samba3
                  AUTH_COMMON
                  auth''',
+                 install=False,
                  vars=locals())
 
 bld.SAMBA3_BINARY('vfstest',
@@ -1496,11 +1516,13 @@ bld.SAMBA3_BINARY('vfstest',
                  vfs
                  popt_samba3
                  SMBREADLINE''',
+                 install=False,
                  vars=locals())
 
 bld.SAMBA3_BINARY('log2pcap',
                  source=LOG2PCAP_SRC,
                  deps='''talloc popt''',
+                 install=False,
                  vars=locals())
 
 bld.SAMBA3_BINARY('locktest2',
@@ -1510,11 +1532,13 @@ bld.SAMBA3_BINARY('locktest2',
                  param
                  libsmb
                  LOCKING''',
+                 install=False,
                  vars=locals())
 
 bld.SAMBA3_BINARY('debug2html',
                  source=DEBUG2HTML_SRC,
                  deps='''talloc popt''',
+                 install=False,
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbfilter',
@@ -1523,6 +1547,7 @@ bld.SAMBA3_BINARY('smbfilter',
                  talloc
                  param
                  LIBNMB''',
+                 install=False,
                  vars=locals())
 
 bld.SAMBA3_BINARY('versiontest',
@@ -1530,9 +1555,10 @@ bld.SAMBA3_BINARY('versiontest',
                  deps='''
                  SAMBA_VERSION
                  param''',
+                 install=False,
                  vars=locals())
 
-bld.SAMBA3_BINARY('ntlm_auth' + bld.env.suffix3,
+bld.SAMBA3_BINARY('ntlm_auth',
                  source=NTLM_AUTH_SRC,
                  deps='''
                  talloc
@@ -1545,6 +1571,7 @@ bld.SAMBA3_BINARY('ntlm_auth' + bld.env.suffix3,
 
 bld.SAMBA3_BINARY('timelimit',
                  source='script/tests/timelimit.c',
+                 install=False,
                  vars=locals())
 
 bld.SAMBA3_BINARY('rpc_open_tcp',
@@ -1552,6 +1579,7 @@ bld.SAMBA3_BINARY('rpc_open_tcp',
                  deps='''
                  talloc
                  msrpc3''',
+                 install=False,
                  vars=locals())
 
 bld.SAMBA3_BINARY('test_lp_load',
@@ -1560,6 +1588,7 @@ bld.SAMBA3_BINARY('test_lp_load',
                  talloc
                  param
                  popt_samba3''',
+                 install=False,
                  vars=locals())
 
 bld.SAMBA3_BINARY('dbwrap_tool',
@@ -1574,6 +1603,7 @@ bld.SAMBA3_BINARY('dbwrap_torture',
                  deps='''
                  talloc
                  popt_samba3''',
+                 install=False,
                  vars=locals())
 
 bld.SAMBA3_BINARY('split_tokens',
@@ -1581,6 +1611,7 @@ bld.SAMBA3_BINARY('split_tokens',
                  deps='''
                  talloc
                  popt_samba3''',
+                 install=False,
                  vars=locals())
 
 bld.SAMBA3_BINARY('vlp',
@@ -1588,6 +1619,7 @@ bld.SAMBA3_BINARY('vlp',
                  deps='''
                  talloc
                  param''',
+                 install=False,
                  vars=locals())
 
 bld.SAMBA3_PYTHON('pysmbd',