s3:pdb_samba_dsdb: implement pdb_samba_dsdb_set_trusteddom_pw()
[samba.git] / source3 / wscript_build
index 12e473f0f2ae8a56b4fd64914f8c59f1eee0fd99..24cf06c4f8c3da0f0837c124a7527c2fa7bcb806 100755 (executable)
@@ -55,21 +55,6 @@ bld.SAMBA3_LIBRARY('netapi',
                     pc_files='libnet/netapi.pc',
                     vnum='0')
 
-bld.SAMBA3_LIBRARY('smbsharemodes',
-                    source='libsmb/smb_share_modes.c',
-                    public_deps='''talloc tdb_compat''',
-                    deps='''ccan-hash''',
-                    public_headers='include/smb_share_modes.h',
-                    pc_files='libsmb/smbsharemodes.pc',
-                    vnum='0')
-
-bld.SAMBA3_LIBRARY('nss_wins',
-                  source='../nsswitch/wins.c',
-                  deps='''param libsmb LIBTSOCKET''',
-                  realname='libnss_wins.so.2',
-                  soname='libnss_wins.so',
-                  vnum='2')
-
 bld.SAMBA3_LIBRARY('gse',
                    source='librpc/crypto/gse_krb5.c librpc/crypto/gse.c',
                    deps='krb5samba gensec param KRBCLIENT secrets3',
@@ -144,7 +129,22 @@ 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)
 
-bld.SAMBA3_LIBRARY('pdb',
+bld.SAMBA3_LIBRARY('samba-passdb',
+                   source='',
+                   deps='pdb',
+                   private_library=False,
+                   grouping_library=True,
+                   pc_files=[],
+                   public_headers_install=True,
+                   public_headers='''
+                   include/passdb.h
+                   passdb/machine_sid.h
+                   passdb/lookup_sid.h''',
+                   abi_match=private_pdb_match,
+                   abi_directory='passdb/ABI',
+                   vnum='0.24.1')
+
+bld.SAMBA3_SUBSYSTEM('pdb',
                    source='''passdb/pdb_get_set.c
                    passdb/passdb.c
                    lib/util_wellknown.c
@@ -162,17 +162,7 @@ bld.SAMBA3_LIBRARY('pdb',
                    passdb/pdb_interface.c
                    passdb/pdb_secrets.c
                    passdb/pdb_unixid.c''',
-                   deps='secrets3 GROUPDB SERVER_MUTEX wbclient LIBCLI_AUTH flag_mapping',
-                   private_library=False,
-                   pc_files=[],
-                   public_headers_install=True,
-                   public_headers='''
-                   include/passdb.h
-                   passdb/machine_sid.h
-                   passdb/lookup_sid.h''',
-                   abi_match=private_pdb_match,
-                   abi_directory='passdb/ABI',
-                   vnum='0.1.0')
+                   deps='secrets3 GROUPDB SERVER_MUTEX wbclient LIBCLI_AUTH flag_mapping samba-credentials')
 
 bld.SAMBA3_LIBRARY('smbldaphelper',
                    source='passdb/pdb_ldap_schema.c passdb/pdb_ldap_util.c',
@@ -257,6 +247,11 @@ bld.SAMBA3_SUBSYSTEM('KRBCLIENT',
                      source='libads/kerberos.c libads/ads_status.c',
                      public_deps='krb5samba k5crypto gssapi LIBTSOCKET CLDAP LIBNMB')
 
+bld.SAMBA3_LIBRARY('sys_rw',
+                   source='lib/sys_rw.c lib/sys_rw_data.c',
+                   deps='replace iov_buf',
+                   private_library=True)
+
 bld.SAMBA3_SUBSYSTEM('samba3util',
                    source='''lib/system.c
                    lib/sendfile.c
@@ -268,23 +263,58 @@ bld.SAMBA3_SUBSYSTEM('samba3util',
                    lib/util_sock.c
                    lib/util_transfer_file.c
                    lib/sock_exec.c''',
-                   deps='ndr samba-security NDR_SECURITY samba-util util_tdb ccan-hash')
+                   deps='ndr samba-security NDR_SECURITY samba-util util_tdb ccan-hash sys_rw iov_buf')
 
+if bld.CONFIG_GET("CTDB_CFLAGS") and bld.CONFIG_GET("CTDB_INCLUDE"):
+    SAMBA_CLUSTER_SUPPORT_SOURCES='''
+                     lib/cluster_support.c
+                     lib/dbwrap/dbwrap_ctdb.c
+                     lib/messages_ctdbd.c
+                     lib/ctdbd_conn.c
+                     lib/ctdb_conn.c
+                     torture/test_ctdbconn.c
+                   '''
+    SAMBA_CLUSTER_SUPPORT_DEPS='''
+                     talloc
+                     tevent
+                     tdb
+                   '''
+else:
+    SAMBA_CLUSTER_SUPPORT_SOURCES='''
+                     lib/cluster_support.c
+                     lib/ctdb_dummy.c
+                   '''
+    SAMBA_CLUSTER_SUPPORT_DEPS='''
+                     talloc
+                     tevent
+                   '''
+
+bld.SAMBA3_LIBRARY('samba-cluster-support',
+                   source=SAMBA_CLUSTER_SUPPORT_SOURCES,
+                   deps=SAMBA_CLUSTER_SUPPORT_DEPS,
+                   cflags=bld.CONFIG_GET("CTDB_CFLAGS"),
+                   includes=bld.CONFIG_GET("CTDB_INCLUDE"),
+                   allow_undefined_symbols=True,
+                   private_library=True)
 
 bld.SAMBA3_SUBSYSTEM('TDB_LIB',
                      source='''lib/dbwrap/dbwrap_open.c
-                     lib/dbwrap/dbwrap_ctdb.c
                      lib/dbwrap/dbwrap_watch.c
                      lib/g_lock.c''',
-                     deps='dbwrap')
+                     deps='dbwrap samba-cluster-support')
+
+bld.SAMBA3_LIBRARY('messages_dgm',
+                   source='''lib/messages_dgm.c lib/messages_dgm_ref.c''',
+                   deps='talloc UNIX_MSG POLL_FUNCS_TEVENT samba-debug',
+                   private_library=True)
+
+bld.SAMBA3_LIBRARY('messages_util',
+                   source='''lib/messages_util.c''',
+                   deps='samba-util',
+                   private_library=True)
 
 bld.SAMBA3_SUBSYSTEM('samba3core',
                    source='''lib/messages.c
-                   lib/messages_local.c
-                   lib/messages_ctdbd.c
-                   lib/ctdb_packet.c
-                   lib/ctdbd_conn.c
-                   lib/ctdb_conn.c
                    lib/util_cluster.c
                    lib/id_cache.c
                    lib/talloc_dict.c
@@ -314,7 +344,8 @@ bld.SAMBA3_SUBSYSTEM('samba3core',
                    lib/audit.c
                    lib/tevent_wait.c
                    lib/idmap_cache.c
-                   lib/util_ea.c''',
+                   lib/util_ea.c
+                   lib/background.c''',
                    deps='''
                         samba3util
                         LIBTSOCKET
@@ -323,11 +354,17 @@ bld.SAMBA3_SUBSYSTEM('samba3core',
                         UTIL_PW
                         SAMBA_VERSION
                         PTHREADPOOL
+                        UNIX_MSG
+                        POLL_FUNCS_TEVENT
                         interfaces
                         param
                         dbwrap
                         samba3-util
                         errors3
+                        server_id_db
+                        messages_util
+                        messages_dgm
+                        talloc_report
                         TDB_LIB''')
 
 bld.SAMBA3_LIBRARY('smbd_shim',
@@ -365,7 +402,6 @@ bld.SAMBA3_LIBRARY('libsmb',
                    libsmb/clioplock.c
                    libsmb/clirap2.c
                    libsmb/async_smb.c
-                   libsmb/smb2cli_tcon.c
                    libsmb/reparse_symlink.c
                    libsmb/clisymlink.c
                    libsmb/smbsock_connect.c
@@ -434,14 +470,6 @@ bld.SAMBA3_SUBSYSTEM('LIBADS_PRINTER',
                     source='libads/ldap_printer.c',
                     deps='samba-util krb5samba')
 
-bld.SAMBA3_SUBSYSTEM('LIBAFS_SETTOKEN',
-                    source='lib/afs_settoken.c',
-                    deps='samba-util')
-
-bld.SAMBA3_SUBSYSTEM('LIBAFS',
-                    source='lib/afs.c',
-                    deps='samba-util LIBAFS_SETTOKEN')
-
 bld.SAMBA3_LIBRARY('smbconf',
                    source='''lib/smbconf/smbconf_init.c
                    lib/smbconf/smbconf_reg.c''',
@@ -468,6 +496,23 @@ bld.SAMBA3_LIBRARY('smbd_conn',
                    deps='samba3-util samba-util',
                    private_library=True)
 
+bld.SAMBA3_SUBSYSTEM('sysquotas',
+                     source='''
+                        lib/sysquotas.c
+                        lib/sysquotas_linux.c
+                        lib/sysquotas_xfs.c
+                        lib/sysquotas_4A.c
+                        lib/sysquotas_4B.c
+                        lib/sysquotas_nfs.c
+                     ''',
+                     allow_warnings=True,
+                     deps='samba3-util samba-util')
+
+NOTIFY_SOURCES=''
+
+if bld.CONFIG_SET("HAVE_INOTIFY"):
+    NOTIFY_SOURCES += ' smbd/notify_inotify.c'
+
 bld.SAMBA3_LIBRARY('smbd_base',
                    source='''
                    smbd/server_reload.c
@@ -510,13 +555,6 @@ bld.SAMBA3_LIBRARY('smbd_base',
                    smbd/error.c
                    printing/printspoolss.c
                    printing/spoolssd.c
-                   lib/sysquotas.c
-                   lib/sysquotas_linux.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
@@ -564,9 +602,8 @@ bld.SAMBA3_LIBRARY('smbd_base',
                    smbd/oplock_irix.c
                    smbd/oplock_linux.c
                    smbd/notify.c
-                   smbd/notify_inotify.c
                    smbd/notify_internal.c
-                   smbd/build_options.c''',
+                   smbd/build_options.c''' + NOTIFY_SOURCES,
                    deps='''
                    talloc
                    tevent
@@ -589,7 +626,9 @@ bld.SAMBA3_LIBRARY('smbd_base',
                    LIBAFS
                    RPC_SERVICE
                    NDR_SMBXSRV
+                   LEASES_DB
                    LIBASYS
+                   sysquotas
                    ccan-hash
                    NDR_SMB_ACL
                    netapi
@@ -605,12 +644,22 @@ bld.SAMBA3_SUBSYSTEM('LOCKING',
                     deps='''
                     tdb_compat
                     talloc
+                    LEASES_DB
                     NDR_OPEN_FILES
                     FNAME_UTIL''')
 
-bld.SAMBA3_SUBSYSTEM('PROFILE',
-                    source='profile/profile.c',
-                    deps='samba-util')
+bld.SAMBA3_SUBSYSTEM('LEASES_DB',
+                    source='locking/leases_db.c',
+                    deps='NDR_LEASES_DB')
+
+if bld.CONFIG_GET("WITH_PROFILE"):
+    bld.SAMBA3_SUBSYSTEM('PROFILE',
+                         source='profile/profile.c',
+                         deps='samba-util')
+else:
+    bld.SAMBA3_SUBSYSTEM('PROFILE',
+                         source='profile/profile_dummy.c',
+                         deps='')
 
 bld.SAMBA3_SUBSYSTEM('PRINTBASE',
                     source='''printing/notify.c printing/printing_db.c''',
@@ -665,6 +714,7 @@ bld.SAMBA3_SUBSYSTEM('LIBNET_DSSYNC',
                     source='''libnet/libnet_dssync.c
                     libnet/libnet_dssync_passdb.c
                     libnet/libnet_dssync_keytab.c''',
+                    allow_warnings=True,
                     deps='LIBNET RPC_NDR_DRSUAPI')
 
 bld.SAMBA3_SUBSYSTEM('LIBNET_SAMSYNC',
@@ -724,15 +774,20 @@ bld.SAMBA3_SUBSYSTEM('DCUTIL',
 
 bld.SAMBA3_LIBRARY('trusts_util',
                    source='libsmb/trusts_util.c',
-                   deps='libcli_netlogon3 msrpc3 pdb',
+                   deps='libcli_netlogon3 msrpc3 samba-passdb',
                    private_library=True)
 
 bld.SAMBA3_SUBSYSTEM('tdb-wrap3',
                     source='lib/util_tdb.c',
                     deps='talloc samba3-util')
 
+bld.SAMBA3_LIBRARY('msghdr',
+                   source='lib/msghdr.c',
+                   deps='replace iov_buf',
+                   private_library=True)
+
 bld.SAMBA3_LIBRARY('samba3-util',
-                   source='''lib/util_sec.c lib/util_str.c lib/adt_tree.c lib/util_malloc.c lib/memcache.c lib/namearray.c lib/file_id.c''',
+                   source='''lib/util_sec.c lib/util_str.c lib/adt_tree.c lib/util_malloc.c lib/namearray.c lib/file_id.c''',
                    deps='samba-util charset',
                    private_library=True)
 
@@ -795,6 +850,9 @@ bld.SAMBA3_SUBSYSTEM('INIT_SAMR',
                     source='rpc_client/init_samr.c',
                     deps='samba-util')
 
+bld.SAMBA3_SUBSYSTEM('LIBLSA',
+                     source='lib/lsa.c')
+
 ########################## BINARIES #################################
 
 bld.SAMBA3_BINARY('smbd/smbd',
@@ -821,7 +879,7 @@ bld.SAMBA3_BINARY('nmbd/nmbd',
                  param
                  libsmb
                  popt_samba3
-                 PROFILE''',
+                 ''',
                  install_path='${SBINDIR}')
 
 
@@ -910,6 +968,7 @@ bld.SAMBA3_BINARY('winbindd/winbindd',
                  winbindd/winbindd_list_groups.c
                  winbindd/winbindd_check_machine_acct.c
                  winbindd/winbindd_change_machine_acct.c
+                 winbindd/winbindd_irpc.c
                  winbindd/winbindd_ping_dc.c
                  winbindd/winbindd_pam_auth.c
                  winbindd/winbindd_pam_logoff.c
@@ -930,13 +989,15 @@ bld.SAMBA3_BINARY('winbindd/winbindd',
                  LIBCLI_SAMR
                  SLCACHE
                  RPC_NDR_DSSETUP
-                 RPC_NDR_WBINT
-                 SRV_NDR_WBINT
+                 RPC_NDR_WINBIND
+                 SRV_NDR_WINBIND
                  RPC_SAMR
                  RPC_LSARPC
                  RPC_SERVER
                  WB_REQTRANS
                  TDB_VALIDATE
+                 MESSAGING
+                 LIBLSA
                  ''',
                  enabled=bld.env.build_winbind,
                  install_path='${SBINDIR}')
@@ -1004,7 +1065,8 @@ bld.SAMBA3_BINARY('client/smbclient',
                  libsmb
                  msrpc3
                  RPC_NDR_SRVSVC
-                 cli_smb_common''')
+                 cli_smb_common
+                 ''' + bld.env['archive_lib'])
 
 bld.SAMBA3_BINARY('net',
                  source='''utils/net.c
@@ -1050,6 +1112,7 @@ bld.SAMBA3_BINARY('net',
                  utils/net_printing.c
                  utils/net_rpc_trust.c
                  utils/net_rpc_conf.c
+                 utils/net_afs.c
                  registry/reg_parse.c
                  registry/reg_format.c
                  registry/reg_import.c
@@ -1125,10 +1188,15 @@ bld.SAMBA3_BINARY('smbta-util',
                  secrets3
                  param''')
 
+smbstatus_source = 'utils/status.c smbd/notify_internal.c'
+
+if bld.CONFIG_GET("WITH_PROFILE"):
+    smbstatus_source += ' utils/status_profile.c'
+else:
+    smbstatus_source += ' utils/status_profile_dummy.c'
+
 bld.SAMBA3_BINARY('smbstatus',
-                 source='''utils/status.c
-                 utils/status_profile.c
-                 smbd/notify_internal.c''',
+                 source=smbstatus_source,
                  deps='''
                  talloc
                  param
@@ -1153,7 +1221,6 @@ bld.SAMBA3_BINARY('smbtree',
                  libsmb
                  msrpc3
                  popt_samba3
-                 PROFILE
                  RPC_NDR_SRVSVC''')
 
 bld.SAMBA3_BINARY('smbpasswd',
@@ -1209,14 +1276,17 @@ bld.SAMBA3_BINARY('smbtorture' + bld.env.suffix3,
                  torture/test_authinfo_structs.c
                  torture/test_smbsock_any_connect.c
                  torture/test_cleanup.c
-                 torture/test_ctdbconn.c
                  torture/test_notify.c
                  lib/tevent_barrier.c
                  torture/test_dbwrap_watch.c
                  torture/test_idmap_tdb_common.c
                  torture/test_dbwrap_ctdb.c
                  torture/test_buffersize.c
+                 torture/test_messaging_read.c
+                 torture/test_messaging_fd_passing.c
+                 torture/test_oplock_cancel.c
                  torture/t_strappend.c
+                 torture/bench_pthreadpool.c
                  torture/wbc_async.c''',
                  deps='''
                  talloc
@@ -1229,7 +1299,9 @@ bld.SAMBA3_BINARY('smbtorture' + bld.env.suffix3,
                  LOCKING
                  NDR_OPEN_FILES
                  idmap
+                 samba-cluster-support
                  ''',
+                 cflags='-DWINBINDD_SOCKET_DIR=\"%s\"' % bld.env.WINBINDD_SOCKET_DIR,
                  install=False)
 
 bld.SAMBA3_BINARY('smbconftort',
@@ -1252,6 +1324,20 @@ bld.SAMBA3_BINARY('msgtest',
                  param''',
                  install=False)
 
+bld.SAMBA3_BINARY('msg_sink',
+                 source='torture/msg_sink.c',
+                 deps='''
+                 talloc
+                 param''',
+                 install=False)
+
+bld.SAMBA3_BINARY('msg_source',
+                 source='torture/msg_source.c',
+                 deps='''
+                 talloc
+                 param''',
+                 install=False)
+
 bld.SAMBA3_BINARY('smbcacls',
                  source='utils/smbcacls.c',
                  deps='''
@@ -1342,7 +1428,7 @@ bld.SAMBA3_BINARY('ntlm_auth',
                  deps='''
                  talloc
                  krb5samba
-                 iniparser
+                 tiniparser
                  libsmb
                  popt_samba3
                  LIBNTLMSSP gse gensec''')
@@ -1401,7 +1487,7 @@ bld.SAMBA3_BINARY('samba-regedit',
                   source="""utils/regedit.c utils/regedit_samba3.c
                             utils/regedit_wrap.c utils/regedit_treeview.c
                             utils/regedit_valuelist.c utils/regedit_dialog.c
-                            utils/regedit_hexedit.c""",
+                            utils/regedit_hexedit.c utils/regedit_list.c""",
                   deps='ncurses menu panel form registry param popt_samba3 smbregistry',
                   enabled=bld.env.build_regedit)
 
@@ -1411,6 +1497,8 @@ bld.RECURSE('auth')
 bld.RECURSE('libgpo/gpext')
 bld.RECURSE('lib/pthreadpool')
 bld.RECURSE('lib/asys')
+bld.RECURSE('lib/poll_funcs')
+bld.RECURSE('lib/unix_msg')
 bld.RECURSE('librpc')
 bld.RECURSE('librpc/idl')
 bld.RECURSE('libsmb')