s3-auth split the auth_generic functions into a seperate file
[mat/samba.git] / source3 / Makefile.in
index 41bd45db9e9eeb044090163cfe9a439a2ee85a1a..1abf96ec1e93c5aaa105009d941de8fed0851dca 100644 (file)
@@ -43,8 +43,8 @@ CACHEDIR=@CACHEDIR@
 LOGFILEBASE=@LOGFILEBASE@
 SOCKET_DIR=@SOCKET_DIR@
 PRIVILEGED_SOCKET_DIR=@PRIVILEGED_SOCKET_DIR@
-#WINBINDD_SOCKET_DIR=@WINBINDD_SOCKET_DIR@
-#WINBINDD_PRIVILEGED_SOCKET_DIR=@WINBINDD_PRIVILEGED_SOCKET_DIR@
+WINBINDD_SOCKET_DIR=@WINBINDD_SOCKET_DIR@
+WINBINDD_PRIVILEGED_SOCKET_DIR=@WINBINDD_PRIVILEGED_SOCKET_DIR@
 NMBDSOCKETDIR=@NMBDSOCKETDIR@
 #NTP_SIGND_SOCKET_DIR=@NTP_SIGND_SOCKET_DIR@
 NCALRPCDIR=@NCALRPCDIR@
@@ -64,7 +64,7 @@ SHLD=@SHLD@
 LIB_PATH_VAR=@LIB_PATH_VAR@
 
 ## Dynamic shared libraries build settings
-DSO_EXPORTS_CMD=-Wl,--version-script,$(srcdir)/exports/`basename $@ | sed 's/@SHLIBEXT@\(.[0-9]\{1,\}\)\{0,1\}$$/@SYMSEXT@/'`
+DSO_EXPORTS_CMD=-Wl,--version-script,$(srcdir)/exports/`basename $@ | sed 's:\.@SHLIBEXT@[\.0-9]*$$:.@SYMSEXT@:'`
 DSO_EXPORTS=@DSO_EXPORTS@
 SHLD_DSO = $(SHLD) $(LDSHFLAGS) $(DSO_EXPORTS) -o $@
 
@@ -177,6 +177,7 @@ FLAGS = -I. \
        $(ISA) \
        -I$(srcdir)/lib \
        -I.. \
+       -I./../lib/ldb/include \
        -D_SAMBA_BUILD_=3
 
 PATH_FLAGS = -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" \
@@ -198,6 +199,8 @@ PATH_FLAGS = -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" \
        -DCACHEDIR=\"$(CACHEDIR)\" \
        -DSTATEDIR=\"$(STATEDIR)\" \
        -DNMBDSOCKETDIR=\"$(NMBDSOCKETDIR)\" \
+       -DWINBINDD_SOCKET_DIR=\"$(WINBINDD_SOCKET_DIR)\" \
+       -DWINBINDD_PRIVILEGED_SOCKET_DIR=\"$(WINBINDD_PRIVILEGED_SOCKET_DIR)\" \
        -DLOCALEDIR=\"$(LOCALEDIR)\" \
        -DDATADIR=\"$(DATADIR)\" \
        -DSETUPDIR=\"$(SETUPDIR)\"
@@ -211,8 +214,7 @@ BIN_PROGS1 = bin/smbclient@EXEEXT@ bin/net@EXEEXT@ bin/smbspool@EXEEXT@ \
        bin/smbta-util@EXEEXT@
 BIN_PROGS2 = bin/smbcontrol@EXEEXT@ bin/smbtree@EXEEXT@ $(TDBBACKUP) \
        bin/nmblookup@EXEEXT@ bin/pdbedit@EXEEXT@ $(TDBDUMP) \
-       $(TDBRESTORE) \
-       $(TDBTOOL)
+       $(TDBRESTORE) $(TDBTOOL) bin/dbwrap_tool@EXEEXT@
 BIN_PROGS3 = bin/smbpasswd@EXEEXT@ bin/rpcclient@EXEEXT@ bin/smbcacls@EXEEXT@ \
        bin/profiles@EXEEXT@ bin/ntlm_auth@EXEEXT@ bin/sharesec@EXEEXT@ \
        bin/smbcquotas@EXEEXT@ bin/eventlogadm@EXEEXT@ 
@@ -230,7 +232,7 @@ BIN_PROGS = @EXTRA_BIN_PROGS@ \
 EVERYTHING_PROGS = bin/debug2html@EXEEXT@ bin/smbfilter@EXEEXT@ \
        $(TALLOCTORT) bin/replacetort@EXEEXT@ \
        bin/log2pcap@EXEEXT@ \
-       bin/vlp@EXEEXT@ bin/smbiconv@EXEEXT@ \
+       bin/vlp@EXEEXT@ \
        bin/dbwrap_tool@EXEEXT@ \
        bin/dbwrap_torture@EXEEXT@
 
@@ -269,7 +271,7 @@ TDB_LIB_OBJ = lib/util_tdb.o ../lib/util/util_tdb.o \
 
 TDB_VALIDATE_OBJ = lib/tdb_validate.o
 
-SMBLDAP_OBJ = @SMBLDAP@ @SMBLDAPUTIL@
+SMBLDAP_OBJ = @SMBLDAP@
 
 VERSION_OBJ = lib/version.o
 
@@ -313,6 +315,7 @@ LIBNDR_OBJ = ../librpc/ndr/ndr_basic.o \
             ../librpc/ndr/uuid.o \
             ../librpc/ndr/util.o \
             librpc/gen_ndr/ndr_server_id.o \
+            librpc/gen_ndr/ndr_file_id.o \
             librpc/gen_ndr/ndr_dcerpc.o
 
 LIBNDR_GEN_OBJ0 = librpc/gen_ndr/ndr_samr.o \
@@ -384,6 +387,7 @@ LIBCLI_EPMAPPER_OBJ = librpc/gen_ndr/ndr_epmapper_c.o
 LIBNDR_GEN_OBJ = librpc/gen_ndr/ndr_wkssvc.o \
                 $(LIBNDR_GEN_OBJ0) \
                 librpc/gen_ndr/ndr_dfs.o \
+                librpc/gen_ndr/ndr_dfsblobs.o \
                 librpc/gen_ndr/ndr_echo.o \
                 librpc/gen_ndr/ndr_winreg.o \
                 librpc/gen_ndr/ndr_initshutdown.o \
@@ -403,10 +407,12 @@ LIBREPLACE_OBJ = @LIBREPLACE_OBJS@
 
 SOCKET_WRAPPER_OBJ = @SOCKET_WRAPPER_OBJS@
 NSS_WRAPPER_OBJ = @NSS_WRAPPER_OBJS@
+UID_WRAPPER_OBJ = @UID_WRAPPER_OBJS@
 
 LIBSAMBAUTIL_OBJ = \
                $(LIBREPLACE_OBJ) \
                $(SOCKET_WRAPPER_OBJ) \
+               $(UID_WRAPPER_OBJ) \
                $(NSS_WRAPPER_OBJ)
 
 UTIL_OBJ = ../lib/util/rbtree.o ../lib/util/signal.o ../lib/util/time.o \
@@ -431,10 +437,10 @@ CRYPTO_OBJ = ../lib/crypto/crc32.o ../lib/crypto/md5.o \
 LIB_OBJ = $(LIBSAMBAUTIL_OBJ) $(UTIL_OBJ) $(CRYPTO_OBJ) $(LIBTSOCKET_OBJ) \
          lib/messages.o librpc/gen_ndr/ndr_messaging.o lib/messages_local.o \
          lib/messages_ctdbd.o lib/ctdb_packet.o lib/ctdbd_conn.o \
+         lib/id_cache.o \
          ../lib/socket/interfaces.o lib/memcache.o \
          lib/talloc_dict.o \
          lib/serverid.o \
-         lib/util_sconn.o \
          lib/util_transfer_file.o ../lib/async_req/async_sock.o \
          lib/addrchange.o \
          $(TDB_LIB_OBJ) \
@@ -458,14 +464,16 @@ LIB_OBJ = $(LIBSAMBAUTIL_OBJ) $(UTIL_OBJ) $(CRYPTO_OBJ) $(LIBTSOCKET_OBJ) \
          lib/substitute.o lib/substitute_generic.o ../lib/util/substitute.o lib/dbwrap/dbwrap_util.o \
          lib/ms_fnmatch.o ../lib/util/ms_fnmatch.o lib/errmap_unix.o ../libcli/util/errmap_unix.o \
          lib/tallocmsg.o lib/dmallocmsg.o \
-         libsmb/clisigning.o libsmb/smb_signing.o \
-         ../lib/util/charset/iconv.o intl/lang_tdb.o \
+         ../libcli/smb/smb_signing.o \
+         ../lib/util/charset/iconv.o ../lib/util/charset/weird.o \
+         ../lib/util/charset/charset_macosxfs.o intl/lang_tdb.o \
          lib/conn_tdb.o lib/adt_tree.o lib/gencache.o \
          lib/sessionid_tdb.o \
-         lib/module.o lib/events.o @LIBTEVENT_OBJ0@ \
+         ../lib/util/modules.o lib/events.o @LIBTEVENT_OBJ0@ \
          @CCAN_OBJ@ \
          lib/server_contexts.o \
          lib/server_prefork.o \
+         lib/server_prefork_util.o \
          lib/ldap_escape.o @CHARSET_STATIC@ \
          ../libcli/security/secdesc.o ../libcli/security/access_check.o \
          ../libcli/security/secace.o ../libcli/security/object_tree.o \
@@ -487,7 +495,7 @@ READLINE_OBJ = ../libcli/smbreadline/smbreadline.o
 # Be sure to include them into your application
 POPT_LIB_OBJ = lib/popt_common.o
 
-PARAM_WITHOUT_REG_OBJ = ../dynconfig/dynconfig.o param/loadparm.o param/loadparm_server_role.o param/util.o lib/sharesec.o lib/ldap_debug_handler.o
+PARAM_WITHOUT_REG_OBJ = ../dynconfig/dynconfig.o param/loadparm.o param/loadparm_ctx.o ../lib/param/loadparm_server_role.o param/util.o lib/sharesec.o lib/ldap_debug_handler.o ../lib/param/loadparm.o ../lib/param/util.o
 PARAM_REG_ADD_OBJ = $(REG_SMBCONF_OBJ) $(LIBSMBCONF_OBJ) $(PRIVILEGES_BASIC_OBJ)
 PARAM_OBJ = $(PARAM_WITHOUT_REG_OBJ) $(PARAM_REG_ADD_OBJ)
 
@@ -526,8 +534,8 @@ SECRETS_OBJ = passdb/secrets.o passdb/machine_account_secrets.o passdb/machine_s
 
 LIBNBT_OBJ = ../libcli/nbt/nbtname.o \
             ../libcli/netlogon/netlogon.o \
-            ../libcli/netlogon/ndr_netlogon.o \
             librpc/gen_ndr/ndr_nbt.o \
+            ../librpc/ndr/ndr_nbt.o \
             librpc/gen_ndr/ndr_svcctl.o \
             ../librpc/ndr/ndr_svcctl.o
 
@@ -552,17 +560,21 @@ LIBSMB_OBJ0 = \
               libsmb/ntlmssp.o \
               libsmb/ntlmssp_wrap.o \
               ../auth/gensec/gensec.o \
-              ../libcli/auth/ntlmssp.o \
-              ../libcli/auth/ntlmssp_sign.o \
+              ../auth/gensec/gensec_start.o \
+              ../auth/credentials/credentials.o \
+              ../auth/credentials/credentials_samba3.o \
+              ../auth/ntlmssp/ntlmssp.o \
+              ../auth/ntlmssp/ntlmssp_sign.o \
+              ../auth/ntlmssp/gensec_ntlmssp.o \
               $(LIBNDR_NTLMSSP_OBJ) \
-              ../libcli/auth/ntlmssp_ndr.o \
-              ../libcli/auth/ntlmssp_server.o
+              ../auth/ntlmssp/ntlmssp_ndr.o \
+              ../auth/ntlmssp/ntlmssp_server.o
 
 LIBSAMBA_OBJ = $(LIBSMB_OBJ0) \
               $(LIBSMB_ERR_OBJ)
 
 LIBCLI_LDAP_MESSAGE_OBJ = ../libcli/ldap/ldap_message.o
-LIBCLI_LDAP_NDR_OBJ = ../libcli/ldap/ldap_ndr.o lib/ldb_compat.o
+LIBCLI_LDAP_NDR_OBJ = ../libcli/ldap/ldap_ndr.o ../lib/ldb/common/ldb_parse.o
 
 LIBTSOCKET_OBJ = ../lib/tsocket/tsocket.o \
                ../lib/tsocket/tsocket_helpers.o \
@@ -591,14 +603,17 @@ LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.o \
             libsmb/clitrans.o libsmb/clisecdesc.o libsmb/clidgram.o \
             libsmb/clistr.o libsmb/cliquota.o libsmb/clifsinfo.o libsmb/clidfs.o \
             libsmb/clioplock.o libsmb/clirap2.o \
-            libsmb/smb_seal.o libsmb/async_smb.o \
-            libsmb/read_smb.o \
-            libsmb/smb2cli_base.o \
-            libsmb/smb2cli_negprot.o \
+            libsmb/async_smb.o \
+            libsmb/clisigning.o \
+            ../libcli/smb/smb_seal.o \
+            ../libcli/smb/read_smb.o \
+            ../libcli/smb/smbXcli_base.o \
+            ../libcli/smb/smb1cli_trans.o \
             libsmb/smb2cli_session.o \
             libsmb/smb2cli_tcon.o \
             libsmb/smb2cli_create.o \
             ../libcli/smb/smb2_create_blob.o \
+            ../libcli/smb/smb2_signing.o \
             libsmb/smb2cli_close.o \
             libsmb/smb2cli_flush.o \
             libsmb/smb2cli_read.o \
@@ -666,6 +681,8 @@ REG_BASE_OBJ = registry/reg_api.o \
               registry/reg_util_internal.o \
               lib/util_nttoken.o \
               $(REG_BACKENDS_BASE_OBJ) \
+              registry/reg_parse_internal.o \
+              lib/cbuf.o lib/srprs.o \
               $(REG_INIT_BASIC_OBJ)
 
 REG_SMBCONF_OBJ = $(REG_BASE_OBJ) \
@@ -685,7 +702,8 @@ LIB_EVENTLOG_OBJ = lib/eventlog/eventlog.o
 DCE_RPC_EP_OBJ = librpc/rpc/dcerpc_ep.o
 
 RPC_LSARPC_OBJ = rpc_server/lsa/srv_lsa_nt.o \
-                librpc/gen_ndr/srv_lsa.o
+                librpc/gen_ndr/srv_lsa.o \
+                ../libcli/lsarpc/util_lsarpc.o
 
 RPC_NETLOGON_OBJ = rpc_server/netlogon/srv_netlog_nt.o \
                   librpc/gen_ndr/srv_netlogon.o
@@ -738,6 +756,8 @@ RPC_NCACN_NP = rpc_server/srv_pipe_register.o rpc_server/rpc_ncacn_np.o \
               rpc_server/rpc_handles.o rpc_server/rpc_contexts.o \
               rpc_server/srv_access_check.o
 
+RPC_CONFIG = rpc_server/rpc_config.o
+
 RPC_SERVICE = rpc_server/rpc_server.o
 
 RPC_CRYPTO = rpc_server/dcesrv_ntlmssp.o \
@@ -745,7 +765,7 @@ RPC_CRYPTO = rpc_server/dcesrv_ntlmssp.o \
                rpc_server/dcesrv_spnego.o
 
 RPC_PIPE_OBJ = rpc_server/srv_pipe.o rpc_server/srv_pipe_hnd.o \
-              $(RPC_NCACN_NP) $(RPC_SERVICE) $(RPC_CRYPTO)
+              $(RPC_CONFIG) $(RPC_NCACN_NP) $(RPC_SERVICE) $(RPC_CRYPTO)
 
 RPC_RPCECHO_OBJ = rpc_server/echo/srv_echo_nt.o librpc/gen_ndr/srv_echo.o
 
@@ -774,7 +794,8 @@ RPC_SERVER_OBJ = $(RPC_LSARPC_OBJ) $(RPC_WINREG_OBJ) $(RPC_INITSHUTDOWN_OBJ) \
 
 RPC_CLIENT_SCHANNEL_OBJ = rpc_client/cli_pipe_schannel.o
 
-LOCKING_OBJ = locking/locking.o locking/brlock.o locking/posix.o
+LOCKING_OBJ = locking/locking.o locking/brlock.o locking/posix.o \
+               librpc/gen_ndr/ndr_open_files.o
 
 PRIVILEGES_BASIC_OBJ = ../libcli/security/privileges.o
 
@@ -791,8 +812,6 @@ PASSDB_OBJ = $(PASSDB_GET_SET_OBJ) passdb/passdb.o passdb/pdb_interface.o \
                passdb/pdb_util.o
 
 DEVEL_HELP_WEIRD_OBJ = ../lib/util/charset/weird.o
-CP850_OBJ = ../lib/util/charset/CP850.o
-CP437_OBJ = ../lib/util/charset/CP437.o
 CHARSET_MACOSXFS_OBJ = ../lib/util/charset/charset_macosxfs.o
 
 GROUPDB_OBJ = groupdb/mapping.o groupdb/mapping_tdb.o
@@ -809,7 +828,7 @@ OPLOCK_OBJ = smbd/oplock.o smbd/oplock_irix.o smbd/oplock_linux.o \
             smbd/oplock_onefs.o
 
 NOTIFY_OBJ = smbd/notify.o smbd/notify_inotify.o smbd/notify_internal.o \
-            librpc/gen_ndr/ndr_notify.o librpc/gen_ndr/ndr_file_id.o
+            librpc/gen_ndr/ndr_notify.o
 
 FNAME_UTIL_OBJ = lib/filename_util.o
 
@@ -889,12 +908,12 @@ AUTH_OBJ = auth/auth.o @AUTH_STATIC@ auth/auth_util.o auth/token_util.o \
           auth/user_info.o \
           auth/user_util.o \
           auth/user_krb5.o \
-          auth/auth_compat.o auth/auth_ntlmssp.o \
+          auth/auth_compat.o auth/auth_ntlmssp.o auth/auth_generic.o \
           $(PLAINTEXT_AUTH_OBJ) $(SLCACHE_OBJ) $(DCUTIL_OBJ)
 
 MANGLE_OBJ = smbd/mangle.o smbd/mangle_hash.o smbd/mangle_hash2.o
 
-SMBD_OBJ_MAIN = smbd/server.o smbd/server_exit.o smbd/msg_idmap.o
+SMBD_OBJ_MAIN = smbd/server.o smbd/server_exit.o
 
 BUILDOPT_OBJ = smbd/build_options.o
 
@@ -912,6 +931,7 @@ SMBD_OBJ_SRV = smbd/server_reload.o \
                smbd/posix_acls.o lib/sysacls.o \
               smbd/process.o smbd/service.o param/service.o smbd/error.o \
               rpc_server/epmd.o \
+              rpc_server/lsasd.o \
               printing/printspoolss.o printing/spoolssd.o \
               lib/sysquotas.o lib/sysquotas_linux.o \
               lib/sysquotas_xfs.o lib/sysquotas_4A.o \
@@ -924,7 +944,6 @@ SMBD_OBJ_SRV = smbd/server_reload.o \
               smbd/file_access.o \
               smbd/dnsregister.o smbd/globals.o \
               smbd/smb2_server.o \
-              smbd/smb2_signing.o \
               smbd/smb2_glue.o \
               smbd/smb2_negprot.o \
               smbd/smb2_sesssetup.o \
@@ -1121,16 +1140,6 @@ LIBSMBCLIENT_OBJ1 = $(LIBSMBCLIENT_OBJ0) \
 
 LIBSMBCLIENT_OBJ = $(LIBSMBCLIENT_OBJ1)
 
-# This shared library is intended for linking with unit test programs
-# to test Samba internals.  It's called libbigballofmud.so to
-# discourage casual usage.
-
-LIBBIGBALLOFMUD_MAJOR = 0
-
-LIBBIGBALLOFMUD_OBJ = $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \
-       $(LIBSMB_OBJ) $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) $(PASSDB_OBJ) \
-       $(GROUPDB_OBJ) $(KRBCLIENT_OBJ) $(SMBLDAP_OBJ)
-
 CLIENT_OBJ1 = client/client.o client/clitar.o \
              client/dnsbrowse.o \
              $(LIBMSRPC_OBJ)
@@ -1178,20 +1187,22 @@ LIBNET_SAMSYNC_OBJ = libnet/libnet_samsync.o \
 NET_OBJ1 = utils/net.o utils/net_ads.o utils/net_help.o \
           utils/net_rap.o utils/net_rpc.o utils/net_rpc_samsync.o \
           utils/net_rpc_join.o utils/net_time.o utils/net_lookup.o \
-          utils/net_cache.o utils/net_groupmap.o utils/net_idmap.o utils/net_idmap_check.o\
+          utils/net_cache.o utils/net_groupmap.o utils/net_idmap.o \
+          utils/net_idmap_check.o utils/interact.o \
           utils/net_status.o utils/net_rpc_printer.o utils/net_rpc_rights.o \
           utils/net_rpc_service.o utils/net_rpc_registry.o utils/net_usershare.o \
           utils/netlookup.o utils/net_sam.o utils/net_rpc_shell.o \
           utils/net_util.o utils/net_rpc_sh_acct.o utils/net_rpc_audit.o \
           $(PASSWD_UTIL_OBJ) utils/net_dns.o utils/net_ads_gpo.o \
           utils/net_conf.o utils/net_join.o utils/net_user.o \
-          utils/net_group.o utils/net_file.o utils/net_registry.o \
+          utils/net_group.o utils/net_file.o utils/net_registry.o utils/net_registry_check.o\
           auth/token_util.o utils/net_dom.o utils/net_share.o \
           utils/net_g_lock.o \
           utils/net_serverid.o \
           utils/net_eventlog.o \
           utils/net_printing.o \
           utils/net_rpc_trust.o \
+          utils/net_rpc_conf.o\
           $(LIBNDR_NTPRINTING_OBJ) \
           $(LIBNDR_PREG_OBJ) \
           $(LIBCLI_SPOOLSS_OBJ) \
@@ -1209,8 +1220,8 @@ NET_OBJ1 = utils/net.o utils/net_ads.o utils/net_help.o \
           rpc_client/init_netlogon.o \
           rpc_client/init_samr.o \
           registry/reg_parse.o registry/reg_format.o \
-          registry/reg_parse_internal.o registry/reg_import.o \
-          lib/cbuf.o lib/srprs.o printing/nt_printing_migrate.o
+          registry/reg_import.o \
+          printing/nt_printing_migrate.o
 
 # these are not processed by make proto
 NET_OBJ2 = utils/net_registry_util.o utils/net_help_common.o
@@ -1245,17 +1256,21 @@ SMBTORTURE_OBJ1 = torture/torture.o torture/nbio.o torture/scanner.o torture/uta
                torture/test_async_echo.o \
                torture/test_smbsock_any_connect.o \
                torture/test_nttrans_create.o \
+               torture/test_nttrans_fsctl.o \
                torture/test_notify_online.o \
                torture/test_addrchange.o \
                torture/test_case_insensitive.o \
                torture/test_posix_append.o \
-               torture/test_smb2.o
+               torture/test_smb2.o \
+               torture/test_authinfo_structs.o \
+               torture/t_strappend.o
 
 SMBTORTURE_OBJ = $(SMBTORTURE_OBJ1) $(PARAM_OBJ) $(TLDAP_OBJ) \
        $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) \
        @LIBWBCLIENT_STATIC@ \
         torture/wbc_async.o \
         ../nsswitch/wb_reqtrans.o \
+       ../libcli/lsarpc/util_lsarpc.o \
        $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) $(LIBCLI_ECHO_OBJ)
 
 MASKTEST_OBJ = torture/masktest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
@@ -1279,8 +1294,6 @@ PDBTEST_OBJ = torture/pdbtest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
 
 VFSTEST_OBJ = torture/cmd_vfs.o torture/vfstest.o $(SMBD_OBJ_BASE) $(READLINE_OBJ)
 
-SMBICONV_OBJ = $(PARAM_OBJ) torture/smbiconv.o $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ) $(LIBSMB_ERR_OBJ)
-
 LOG2PCAP_OBJ = utils/log2pcaphex.o
 
 LOCKTEST2_OBJ = torture/locktest2.o $(PARAM_OBJ) $(LOCKING_OBJ) $(LIBSMB_OBJ) \
@@ -1464,7 +1477,8 @@ WINBINDD_OBJ = \
                $(PROFILE_OBJ) $(SLCACHE_OBJ) $(SMBLDAP_OBJ) \
                $(LIBADS_OBJ) $(KRBCLIENT_OBJ) $(POPT_LIB_OBJ) \
                $(DCUTIL_OBJ) $(IDMAP_OBJ) $(NSS_INFO_OBJ) \
-               $(RPC_NCACN_NP) $(RPC_SAMR_OBJ) $(RPC_LSARPC_OBJ) \
+               $(RPC_CONFIG) $(RPC_NCACN_NP) \
+               $(RPC_SAMR_OBJ) $(RPC_LSARPC_OBJ) \
                $(NPA_TSTREAM_OBJ) \
                $(AFS_OBJ) $(AFS_SETTOKEN_OBJ) \
                $(LIBADS_SERVER_OBJ) \
@@ -1517,7 +1531,8 @@ NTLM_AUTH_OBJ = ${NTLM_AUTH_OBJ1} $(LIBSAMBA_OBJ) $(POPT_LIB_OBJ) \
                $(PASSDB_OBJ) $(GROUPDB_OBJ) \
                $(SMBLDAP_OBJ) $(LIBNMB_OBJ) \
                $(WBCOMMON_OBJ) \
-               $(LIBCLI_LDAP_NDR_OBJ) \
+               $(LIBNBT_OBJ) \
+               $(CLDAP_OBJ) \
                $(DRSUAPI_OBJ) \
                $(LIBNDR_GEN_OBJ0) $(LIBNDR_NETLOGON_OBJ) @BUILD_INIPARSER@
 
@@ -1540,7 +1555,8 @@ RPC_OPEN_TCP_OBJ = torture/rpc_open_tcp.o \
 DBWRAP_TOOL_OBJ = utils/dbwrap_tool.o \
                  $(PARAM_OBJ) \
                  $(LIB_NONSMBD_OBJ) \
-                 $(LIBSMB_ERR_OBJ)
+                 $(LIBSMB_ERR_OBJ) \
+                 $(POPT_LIB_OBJ)
 
 DBWRAP_TORTURE_OBJ = utils/dbwrap_torture.o \
                     $(PARAM_OBJ) \
@@ -1624,6 +1640,7 @@ IDL_FILES = librpc/idl/messaging.idl \
            librpc/idl/wbint.idl \
            librpc/idl/perfcount.idl \
            librpc/idl/secrets.idl \
+           librpc/idl/open_files.idl \
            librpc/idl/libnet_join.idl
 
 samba3-idl::
@@ -1638,9 +1655,19 @@ idl_full::
        @PIDL_OUTPUTDIR="librpc/gen_ndr" PIDL_ARGS="$(PIDL_ARGS)" CPP="$(CPP)" PIDL="../pidl/pidl" \
         srcdir="$(srcdir)" $(srcdir)/script/build_idl.sh --full $(IDL_FILES)
 
-mkparam:
+mkparam: ../lib/param/param_local.h ../lib/param/param_global.h param/param_global.h ../lib/param/param_proto.h ../lib/param/s3_param.h
+
+../lib/param/param_local.h:
         $(PERL) ../script/mkparamdefs.pl $(srcdir)/../lib/param/param_functions.c --file ../lib/param/param_local.h --generate-scope=LOCAL
+../lib/param/param_global.h:
+        $(PERL) ../script/mkparamdefs.pl $(srcdir)/../lib/param/loadparm.c --file ../lib/param/param_global.h --generate-scope=GLOBAL
+param/param_global.h:
         $(PERL) ../script/mkparamdefs.pl $(srcdir)/param/loadparm.c --file param/param_global.h --generate-scope=GLOBAL
+../lib/param/param_proto.h:
+        $(PERL) ../source4/script/mkproto.pl $(srcdir)/../lib/param/loadparm.c --public ../lib/param/param_proto.h  --private ../lib/param/param_proto.h
+../lib/param/s3_param.h:
+        $(PERL) ../script/mks3param.pl $(srcdir)/../lib/param/loadparm.c --file ../lib/param/s3_param.h
+
 
 #####################################################################
 
@@ -1745,6 +1772,13 @@ BINARY_PREREQS = bin/.dummy
                echo "$(COMPILE_CC_PATH)" 1>&2;\
                $(COMPILE_CC_PATH) >/dev/null 2>&1
 
+../nsswitch/wb_common.o: ../nsswitch/wb_common.c Makefile
+       @echo Compiling $*.c
+       @$(COMPILE_CC_PATH) && exit 0;\
+               echo "The following command failed:" 1>&2;\
+               echo "$(COMPILE_CC_PATH)" 1>&2;\
+               $(COMPILE_CC_PATH) >/dev/null 2>&1
+
 ### Start section of object files that require PTHREAD_CFLAGS
 ../nsswitch/wins.o: ../nsswitch/wins.c
        @echo Compiling $*.c
@@ -1979,9 +2013,10 @@ bin/locktest@EXEEXT@: $(BINARY_PREREQS) $(LOCKTEST_OBJ) @BUILD_POPT@ $(LIBTALLOC
                @LIBWBCLIENT_STATIC@ $(LIBWBCLIENT_LIBS) \
                $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(ZLIB_LIBS)
 
-bin/nsstest@EXEEXT@: $(BINARY_PREREQS) $(NSSTEST_OBJ)
+bin/nsstest@EXEEXT@: $(BINARY_PREREQS) $(NSSTEST_OBJ) $(LIBTALLOC)
        @echo Linking $@
-       @$(CC) -o $@ $(NSSTEST_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS)
+       @$(CC) -o $@ $(NSSTEST_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \
+               $(LIBTALLOC_LIBS)
 
 bin/pdbtest@EXEEXT@: $(BINARY_PREREQS) $(PDBTEST_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB) $(LIBWBCLIENT)
        @echo Linking $@
@@ -1997,12 +2032,6 @@ bin/vfstest@EXEEXT@: $(BINARY_PREREQS) $(VFSTEST_OBJ) @BUILD_POPT@ $(LIBTALLOC)
                @SMBD_LIBS@ $(NSCD_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) \
                $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS)
 
-bin/smbiconv@EXEEXT@: $(BINARY_PREREQS) $(SMBICONV_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB)
-       @echo Linking $@
-       @$(CC) -o $@ $(SMBICONV_OBJ) $(LDFLAGS) $(TERMLDFLAGS) \
-               $(TERMLIBS) $(DYNEXP) $(LIBS) $(LDAP_LIBS) $(POPT_LIBS) \
-               $(LIBTALLOC_LIBS) $(LIBTDB_LIBS)
-
 bin/log2pcap@EXEEXT@: $(BINARY_PREREQS) $(LOG2PCAP_OBJ) @BUILD_POPT@ $(LIBTALLOC)
        @echo Linking $@
        @$(CC) -o $@ $(LOG2PCAP_OBJ) $(LDFLAGS) $(DYNEXP) \
@@ -2335,7 +2364,6 @@ LIBADDNS_SHARED_TARGET_SONAME=@LIBADDNS_SHARED_TARGET_SOVER@
 LIBADDNS_STATIC_TARGET=@LIBADDNS_STATIC_TARGET@
 LIBADDNS=@LIBADDNS_STATIC@ @LIBADDNS_SHARED@
 #LIBADDNS_SYMS=$(srcdir)/exports/libaddns.@SYMSEXT@
-LIBADDNS_HEADERS=$(srcdir)/../lib/addns/addns.h
 
 $(LIBADDNS_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBADDNS_OBJ) $(LIBTALLOC)
        @echo Linking shared library $@
@@ -2679,26 +2707,6 @@ showlibsmbsharemodes:
 
 showlibs:: showlibsmbsharemodes
 
-#-------------------------------------------------------------------
-#
-# libbigballofmud
-#
-#-------------------------------------------------------------------
-
-# This is probably wrong for anything other than the GNU linker.
-bin/libbigballofmud.@SHLIBEXT@: $(BINARY_PREREQS) $(LIBBIGBALLOFMUD_OBJ) $(LIBTALLOC) $(LIBTDB) $(LIBWBCLIENT)
-       @echo Linking shared library $@
-       @$(SHLD) $(LDSHFLAGS) -o $@ $(LIBBIGBALLOFMUD_OBJ) \
-               $(LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS) \
-               $(PASSDB_LIBS) $(IDMAP_LIBS) $(KRB5LIBS) $(LDAP_LIBS) -lz \
-               @SONAMEFLAG@`basename $@`.$(LIBBIGBALLOFMUD_MAJOR)
-       ln -snf libbigballofmud.so bin/libbigballofmud.so.0
-
-# It would be nice to build a static bigballofmud too, but when I try
-# I get linker errors about dl_open and similar things.  I'm not sure if
-# it can be fixed or if they just can't be called from a static
-# library.
-
 #####################################################################
 #
 # shared modules
@@ -2775,10 +2783,11 @@ bin/winbindd@EXEEXT@: $(BINARY_PREREQS) $(WINBINDD_OBJ) @BUILD_POPT@ $(LIBTALLOC
                $(PASSDB_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS) \
                $(ZLIB_LIBS)
 
-bin/vlp@EXEEXT@: $(BINARY_PREREQS) $(VLP_OBJ) $(LIBTDB)
+bin/vlp@EXEEXT@: $(BINARY_PREREQS) $(VLP_OBJ) $(LIBTDB) $(LIBTALLOC)
        @echo "Linking $@"
        @$(CC) -o $@ $(VLP_OBJ) $(LDFLAGS) $(DYNEXP) \
                $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) $(POPT_LIBS) \
+               $(LIBTALLOC_LIBS) \
                $(LIBTDB_LIBS)
 
 @WINBIND_NSS@: $(BINARY_PREREQS) $(WINBIND_NSS_OBJ)
@@ -2844,10 +2853,11 @@ bin/sam.@SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_SAM_OBJ)
        @$(SHLD_MODULE) $(AUTH_SAM_OBJ)
 
 bin/ldapsam.@SHLIBEXT@: $(BINARY_PREREQS) passdb/pdb_ldap.o passdb/pdb_nds.o \
-                       passdb/pdb_ipa.o
+                       passdb/pdb_ipa.o passdb/pdb_ldap_util.o \
+       passdb/pdb_ldap_schema.o
        @echo "Building plugin $@"
        @$(SHLD_MODULE) passdb/pdb_ldap.o passdb/pdb_nds.o passdb/pdb_ipa.o \
-                       $(LDAP_LIBS)
+                       passdb/pdb_ldap_util.o passdb/pdb_ldap_schema.o $(LDAP_LIBS)
 
 bin/ads.@SHLIBEXT@: $(BINARY_PREREQS) passdb/pdb_ads.o
        @echo "Building plugin $@"
@@ -2897,22 +2907,6 @@ bin/ldap.@SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_ldap.o $(IDMAP_RW_OBJ)
        @echo "Building plugin $@"
        @$(SHLD_MODULE) winbindd/idmap_ldap.o $(IDMAP_RW_OBJ)
 
-bin/weird.@SHLIBEXT@: $(BINARY_PREREQS) $(DEVEL_HELP_WEIRD_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD_MODULE) $(DEVEL_HELP_WEIRD_OBJ)
-
-bin/CP850.@SHLIBEXT@: $(BINARY_PREREQS) $(CP850_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD_MODULE) $(CP850_OBJ)
-
-bin/CP437.@SHLIBEXT@: $(BINARY_PREREQS) $(CP437_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD_MODULE) $(CP437_OBJ)
-
-bin/macosxfs.@SHLIBEXT@: $(BINARY_PREREQS) $(CHARSET_MACOSXFS_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD_MODULE) $(CHARSET_MACOSXFS_OBJ) -framework CoreFoundation
-
 # NOTE, there is no build rule for a dynamic default VFS module because
 # this one MUST MUST MUST be built statically.
 
@@ -3173,22 +3167,6 @@ bin/tdbtorture@EXEEXT@: $(BINARY_PREREQS) $(TDBTORTURE_OBJ) $(LIBTALLOC) $(LIBTD
        @$(CC) -o $@ $(LDFLAGS) $(TDBTORTURE_OBJ) $(DYNEXP) \
                $(LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS)
 
-bin/t_strcmp@EXEEXT@: $(BINARY_PREREQS) $(LIBTALLOC) bin/libbigballofmud.@SHLIBEXT@ torture/t_strcmp.o
-       $(CC) -o $@ $(DYNEXP) $(LIBS) $(LIBTALLOC_LIBS) \
-               torture/t_strcmp.o -L ./bin -lbigballofmud $(LIBWBCLIENT_LIBS)
-
-bin/t_strstr@EXEEXT@: $(BINARY_PREREQS) $(LIBTALLOC) bin/libbigballofmud.@SHLIBEXT@ torture/t_strstr.o
-       $(CC) -o $@ $(DYNEXP) $(LIBS) $(LIBTALLOC_LIBS) \
-               torture/t_strstr.o -L ./bin -lbigballofmud $(LIBWBCLIENT_LIBS)
-
-bin/t_strappend@EXEEXT@: $(BINARY_PREREQS) $(LIBTALLOC) bin/libbigballofmud.@SHLIBEXT@ torture/t_strappend.o
-       $(CC) -o $@ $(DYNEXP) $(LIBS) $(LIBTALLOC_LIBS) \
-               torture/t_strappend.o -L ./bin -lbigballofmud $(LIBWBCLIENT_LIBS)
-
-bin/t_stringoverflow@EXEEXT@: $(BINARY_PREREQS) bin/libbigballofmud.@SHLIBEXT@ torture/t_stringoverflow.o
-       $(CC) -o $@ $(DYNEXP) torture/t_stringoverflow.o \
-               -L./bin -lbigballofmud $(LIBWBCLIENT_LIBS)
-
 bin/timelimit@EXEEXT@: script/tests/timelimit.o
        @echo Linking $@
        @$(CC) -o $@ $(DYNEXP) script/tests/timelimit.o
@@ -3211,6 +3189,7 @@ bin/dbwrap_tool@EXEEXT@: $(DBWRAP_TOOL_OBJ) $(LIBTALLOC) $(LIBTDB)
        @$(CC) -o $@ $(DBWRAP_TOOL_OBJ)\
                $(LDFLAGS) $(DYNEXP) $(LIBS) \
                $(LDAP_LIBS) \
+               $(POPT_LIBS) \
                $(LIBTALLOC_LIBS) $(LIBTDB_LIBS)
 
 install-dbwrap_tool:: bin/dbwrap_tool@EXEEXT@
@@ -3253,7 +3232,7 @@ installdirs::
        @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) \
                $(DESTDIR) $(prefix) $(BINDIR) $(SBINDIR) $(LIBDIR) \
                $(VARDIR) $(PRIVATE_DIR) $(PIDDIR) $(LOCKDIR) $(STATEDIR) \
-               $(NMBDSOCKETDIR) \
+               $(NMBDSOCKETDIR) $(WINBINDD_SOCKET_DIR) $(WINBINDD_PRIVILEGED_SOCKET_DIR) \
                $(CACHEDIR) $(MANDIR) $(CODEPAGEDIR) $(MODULESDIR) $(LOCALEDIR)
 
 installservers:: all installdirs
@@ -3350,8 +3329,8 @@ showlayout::
        @echo " LOGFILEBASE:           $(LOGFILEBASE)"
        @echo " SOCKET_DIR:            $(SOCKET_DIR)"
        @echo " PRIVILEGED_SOCKET_DIR: $(PRIVILEGED_SOCKET_DIR)"
-#      @echo " WINBINDD_SOCKET_DIR:   $(WINBINDD_SOCKET_DIR)"
-#      @echo " WINBINDD_PRIVILEGED_SOCKET_DIR: $(WINBINDD_PRIVILEGED_SOCKET_DIR)"
+       @echo " WINBINDD_SOCKET_DIR:   $(WINBINDD_SOCKET_DIR)"
+       @echo " WINBINDD_PRIVILEGED_SOCKET_DIR: $(WINBINDD_PRIVILEGED_SOCKET_DIR)"
        @echo " NMBDSOCKETDIR:         $(NMBDSOCKETDIR)"
 #      @echo " NTP_SIGND_SOCKET_DIR:  $(NTP_SIGND_SOCKET_DIR)"
        @echo " NCALRPCDIR:            $(NCALRPCDIR)"
@@ -3414,6 +3393,10 @@ clean:: cleanlibs
        -rm -f smbd/build_options.c
        -rm -f param/param_local.h
        -rm -f param/param_global.h
+       -rm -f ../lib/param/param_local.h
+       -rm -f ../lib/param/param_global.h
+       -rm -f ../lib/param/param_proto.h
+       -rm -f ../lib/param/s3_param.h
        -rm -f $(PRECOMPILED_HEADER)
        -rm -f core */*~ *~ \
                */*.o */*/*.o */*/*/*.o */*/*/*/*.o \