+++ /dev/null
---- Samba3 -> Samba4 Upgrade ---
-(C) 2005 Jelmer Vernooij <jelmer@samba.org>
-Published under the GNU GPL
-
-Sponsored by the Google Summer of Code program (http://code.google.com/summerofcode.html)
-Mentored by Andrew Bartlett <abartlet@samba.org>
-Thanks!
-
-Done:
- - Reading wins.dat
- - Reading registry.tdb
- - Reading passdb.tdb
- - Reading account_policy.tdb
- - Reading group_mappings.tdb
- - Reading winbindd_idmap.tdb
- - Reading share_info.tdb
- - Reading secrets.tdb
- - Reading smbpasswd
- - Reading + writing (generic) smb.conf files
- - Testsuite for read support mentioned above
- - Console utility for dumping Samba information
- - Import user accounts in Samba4
- - Import groups in Samba4
- - Import secrets in Samba4
- - Import WINS data in Samba4
- - Dump idmap data to LDB
- - Import registry keys/values in Samba4
- - Import account policies in Samba4
- - Testsuite for upgrade
- - Console utility from upgrading from Samba3 -> Samba4
- - SWAT (Web interface) support for upgrading from Samba3 -> Samba4
- - LDB generic mapping module
- - (Experimental) Samba4 LDB <-> Samba3 LDAP mapping module based on LDB generic mapping module
- - Testsuite for Samba4 LDB <-> Samba3 LDAP mapping module
-
-Source files:
-source/lib/ldb/modules/ldb_map.c
-source/lib/ldb/modules/ldb_map.h
-source/lib/samba3/group.c
-source/lib/samba3/idmap.c
-source/lib/samba3/policy.c
-source/lib/samba3/registry.c
-source/lib/samba3/samba3.c
-source/lib/samba3/secrets.c
-source/lib/samba3/share_info.c
-source/lib/samba3/smbpasswd.c
-source/lib/samba3/tdbsam.c
-source/lib/samba3/winsdb.c
-source/lib/samba3/samba3.h
-source/scripting/libjs/upgrade.js
-source/scripting/ejs/smbcalls_param.c
-source/scripting/ejs/smbcalls_samba3.c
-source/param/generic.c
-source/param/generic.h
-testdata/samba3/verify
-testprogs/ejs/samba3sam
-source/setup/upgrade
-source/scripting/bin/samba3dump
-source/dsdb/samdb/ldb_modules/samba3sam.c
-source/script/tests/test_s3upgrade.sh
-swat/install/samba3.esp
-
-Known remaining issues:
- - [upgrade] Conversion from the smbpasswd/TDB passwords to ntPwdHash / lmPwdHash is broken. Couldn't find out why.
- - [ldb_map] Conversion of attribute names in DN's is still a bit dodgy
- - [ldb_map] mapped objectClass names may be mentioned multiple times in returned records
- - [ldb_map] add/modify support not tested very well with LDAP yet (only LDB+TDB)
- - [ldb_map] group membership is not yet mapped (only primaryGroupID / sambaPrimaryGroupSID)
NDR_WINSTATION_OBJ_FILES = $(gen_ndrsrcdir)/ndr_winstation.o
-[SUBSYSTEM::NDR_ECHO]
-PUBLIC_DEPENDENCIES = LIBNDR
-
-NDR_ECHO_OBJ_FILES = ../librpc/gen_ndr/ndr_echo.o
-
[SUBSYSTEM::NDR_IRPC]
PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY NDR_NBT
NDR_ROT_OBJ_FILES = ../librpc/gen_ndr/ndr_rot.o
-[SUBSYSTEM::NDR_LSA]
-PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY
-
-NDR_LSA_OBJ_FILES = ../librpc/gen_ndr/ndr_lsa.o
-
-PUBLIC_HEADERS += ../librpc/gen_ndr/lsa.h
-
-[SUBSYSTEM::NDR_DFS]
-PUBLIC_DEPENDENCIES = LIBNDR
-
-NDR_DFS_OBJ_FILES = ../librpc/gen_ndr/ndr_dfs.o
-
[SUBSYSTEM::NDR_FRSRPC]
PUBLIC_DEPENDENCIES = LIBNDR
NDR_FRSAPI_OBJ_FILES = ../librpc/gen_ndr/ndr_frsapi.o
[SUBSYSTEM::NDR_DRSUAPI]
-PUBLIC_DEPENDENCIES = LIBNDR NDR_COMPRESSION NDR_SECURITY NDR_SAMR ASN1_UTIL
+PUBLIC_DEPENDENCIES = LIBNDR NDR_COMPRESSION NDR_SECURITY NDR_STANDARD ASN1_UTIL
NDR_DRSUAPI_OBJ_FILES = ../librpc/gen_ndr/ndr_drsuapi.o ../librpc/ndr/ndr_drsuapi.o
NDR_UNIXINFO_OBJ_FILES = ../librpc/gen_ndr/ndr_unixinfo.o
-[SUBSYSTEM::NDR_SAMR]
-PUBLIC_DEPENDENCIES = LIBNDR NDR_LSA NDR_SECURITY
-
-NDR_SAMR_OBJ_FILES = ../librpc/gen_ndr/ndr_samr.o
-
-PUBLIC_HEADERS += $(addprefix ../librpc/gen_ndr/, samr.h ndr_samr.h ndr_samr_c.h)
-
[SUBSYSTEM::NDR_NFS4ACL]
PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY
NDR_SPOOLSS_BUF_OBJ_FILES = ../librpc/ndr/ndr_spoolss_buf.o
-[SUBSYSTEM::NDR_WKSSVC]
-PUBLIC_DEPENDENCIES = LIBNDR NDR_SRVSVC NDR_SECURITY
-
-NDR_WKSSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_wkssvc.o
-
-[SUBSYSTEM::NDR_SRVSVC]
-PUBLIC_DEPENDENCIES = LIBNDR NDR_SVCCTL NDR_SECURITY
-
-NDR_SRVSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_srvsvc.o
-
-[SUBSYSTEM::NDR_SVCCTL]
-PUBLIC_DEPENDENCIES = LIBNDR
-
-NDR_SVCCTL_OBJ_FILES = ../librpc/gen_ndr/ndr_svcctl.o ../librpc/ndr/ndr_svcctl.o
-
-PUBLIC_HEADERS += $(addprefix ../librpc/gen_ndr/, ndr_svcctl.h svcctl.h)
-
-[SUBSYSTEM::NDR_ATSVC]
-PUBLIC_DEPENDENCIES = LIBNDR
-
-NDR_ATSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_atsvc.o
-
-PUBLIC_HEADERS += $(addprefix ../librpc/gen_ndr/, atsvc.h ndr_atsvc.h)
-
-[SUBSYSTEM::NDR_EVENTLOG]
-PUBLIC_DEPENDENCIES = LIBNDR NDR_LSA
-
-NDR_EVENTLOG_OBJ_FILES = ../librpc/gen_ndr/ndr_eventlog.o
-
[SUBSYSTEM::NDR_EPMAPPER]
PUBLIC_DEPENDENCIES = LIBNDR
NDR_WINS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_wins.o
-[SUBSYSTEM::NDR_WINREG]
-PUBLIC_DEPENDENCIES = LIBNDR NDR_INITSHUTDOWN NDR_SECURITY
-
-NDR_WINREG_OBJ_FILES = ../librpc/gen_ndr/ndr_winreg.o
-
-[SUBSYSTEM::NDR_INITSHUTDOWN]
-PUBLIC_DEPENDENCIES = LIBNDR
-
-NDR_INITSHUTDOWN_OBJ_FILES = ../librpc/gen_ndr/ndr_initshutdown.o
-
[SUBSYSTEM::NDR_MGMT]
PUBLIC_DEPENDENCIES = LIBNDR
NDR_SCERPC_OBJ_FILES = ../librpc/gen_ndr/ndr_scerpc.o
-[SUBSYSTEM::NDR_NTSVCS]
-PUBLIC_DEPENDENCIES = LIBNDR
-
-NDR_NTSVCS_OBJ_FILES = ../librpc/gen_ndr/ndr_ntsvcs.o
-
-[SUBSYSTEM::NDR_NETLOGON]
-PUBLIC_DEPENDENCIES = LIBNDR NDR_SAMR NDR_LSA NDR_SECURITY
-
-NDR_NETLOGON_OBJ_FILES = ../librpc/gen_ndr/ndr_netlogon.o ../librpc/ndr/ndr_netlogon.o
-
-PUBLIC_HEADERS += ../librpc/gen_ndr/netlogon.h
-
[SUBSYSTEM::NDR_TRKWKS]
PUBLIC_DEPENDENCIES = LIBNDR
NDR_KEYSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_keysvc.o
[SUBSYSTEM::NDR_KRB5PAC]
-PUBLIC_DEPENDENCIES = LIBNDR NDR_NETLOGON NDR_SECURITY
+PUBLIC_DEPENDENCIES = LIBNDR NDR_STANDARD NDR_SECURITY
NDR_KRB5PAC_OBJ_FILES = ../librpc/gen_ndr/ndr_krb5pac.o ../librpc/ndr/ndr_krb5pac.o
NDR_SCHANNEL_OBJ_FILES = $(gen_ndrsrcdir)/ndr_schannel.o
[SUBSYSTEM::NDR_NBT]
-PUBLIC_DEPENDENCIES = LIBNDR NDR_NBT_BUF NDR_SVCCTL NDR_SECURITY NDR_SAMR LIBCLI_NDR_NETLOGON
+PUBLIC_DEPENDENCIES = LIBNDR NDR_NBT_BUF NDR_SECURITY NDR_STANDARD LIBCLI_NDR_NETLOGON
NDR_NBT_OBJ_FILES = ../librpc/gen_ndr/ndr_nbt.o
NDR_WINSREPL_OBJ_FILES = $(gen_ndrsrcdir)/ndr_winsrepl.o
[SUBSYSTEM::NDR_WINBIND]
-PUBLIC_DEPENDENCIES = LIBNDR NDR_NETLOGON
+PUBLIC_DEPENDENCIES = LIBNDR NDR_STANDARD
NDR_WINBIND_OBJ_FILES = $(gen_ndrsrcdir)/ndr_winbind.o
#PUBLIC_HEADERS += $(gen_ndrsrcdir)/winbind.h
@$(PERL) ../librpc/tables.pl --output=$@ $^ > $(gen_ndrsrcdir)/tables.x
@mv $(gen_ndrsrcdir)/tables.x $@
+[LIBRARY::NDR_STANDARD]
+PUBLIC_DEPENDENCIES = LIBNDR
+PRIVATE_DEPENDENCIES = NDR_SECURITY
+
+NDR_STANDARD_OBJ_FILES = ../librpc/gen_ndr/ndr_echo.o \
+ ../librpc/gen_ndr/ndr_lsa.o \
+ ../librpc/gen_ndr/ndr_samr.o \
+ ../librpc/gen_ndr/ndr_netlogon.o \
+ ../librpc/ndr/ndr_netlogon.o \
+ ../librpc/gen_ndr/ndr_dfs.o \
+ ../librpc/gen_ndr/ndr_atsvc.o \
+ ../librpc/gen_ndr/ndr_wkssvc.o \
+ ../librpc/gen_ndr/ndr_srvsvc.o \
+ ../librpc/gen_ndr/ndr_svcctl.o \
+ ../librpc/ndr/ndr_svcctl.o \
+ ../librpc/gen_ndr/ndr_winreg.o \
+ ../librpc/gen_ndr/ndr_initshutdown.o \
+ ../librpc/gen_ndr/ndr_eventlog.o \
+ ../librpc/gen_ndr/ndr_ntsvcs.o
+
+PC_FILES += $(librpcsrcdir)/ndr_standard.pc
+
+PUBLIC_HEADERS += $(addprefix ../librpc/gen_ndr/, samr.h ndr_samr.h lsa.h netlogon.h atsvc.h ndr_atsvc.h ndr_svcctl.h svcctl.h)
+
+NDR_STANDARD_VERSION = 0.0.1
+NDR_STANDARD_SOVERSION = 0
+
[SUBSYSTEM::NDR_TABLE]
PUBLIC_DEPENDENCIES = \
- NDR_AUDIOSRV NDR_ECHO NDR_DCERPC \
- NDR_DSBACKUP NDR_EFS NDR_LSA NDR_DFS NDR_DRSUAPI \
- NDR_POLICYAGENT NDR_UNIXINFO NDR_SAMR NDR_SPOOLSS NDR_WKSSVC NDR_SRVSVC NDR_ATSVC \
- NDR_EVENTLOG NDR_EPMAPPER NDR_DBGIDL NDR_DSSETUP NDR_MSGSVC NDR_WINS \
- NDR_WINREG NDR_MGMT NDR_PROTECTED_STORAGE NDR_OXIDRESOLVER \
- NDR_REMACT NDR_WZCSVC NDR_BROWSER NDR_W32TIME NDR_SCERPC NDR_NTSVCS \
- NDR_NETLOGON NDR_TRKWKS NDR_KEYSVC NDR_KRB5PAC NDR_XATTR NDR_SCHANNEL \
- NDR_ROT NDR_DRSBLOBS NDR_SVCCTL NDR_NBT NDR_WINSREPL NDR_SECURITY \
- NDR_INITSHUTDOWN NDR_DNSSERVER NDR_WINSTATION NDR_IRPC NDR_OPENDB \
+ NDR_STANDARD \
+ NDR_AUDIOSRV \
+ NDR_DSBACKUP NDR_EFS NDR_DRSUAPI \
+ NDR_POLICYAGENT NDR_UNIXINFO NDR_SPOOLSS \
+ NDR_EPMAPPER NDR_DBGIDL NDR_DSSETUP NDR_MSGSVC NDR_WINS \
+ NDR_MGMT NDR_PROTECTED_STORAGE NDR_OXIDRESOLVER \
+ NDR_REMACT NDR_WZCSVC NDR_BROWSER NDR_W32TIME NDR_SCERPC \
+ NDR_TRKWKS NDR_KEYSVC NDR_KRB5PAC NDR_XATTR NDR_SCHANNEL \
+ NDR_ROT NDR_DRSBLOBS NDR_NBT NDR_WINSREPL NDR_SECURITY \
+ NDR_DNSSERVER NDR_WINSTATION NDR_IRPC NDR_OPENDB \
NDR_SASL_HELPERS NDR_NOTIFY NDR_WINBIND NDR_FRSRPC NDR_FRSAPI NDR_NFS4ACL NDR_NTP_SIGND \
NDR_DCOM NDR_WMI NDR_NAMED_PIPE_AUTH
RPC_NDR_AUDIOSRV_OBJ_FILES = ../librpc/gen_ndr/ndr_audiosrv_c.o
[SUBSYSTEM::RPC_NDR_ECHO]
-PUBLIC_DEPENDENCIES = dcerpc NDR_ECHO
+PUBLIC_DEPENDENCIES = dcerpc NDR_STANDARD
RPC_NDR_ECHO_OBJ_FILES = ../librpc/gen_ndr/ndr_echo_c.o
RPC_NDR_EFS_OBJ_FILES = ../librpc/gen_ndr/ndr_efs_c.o
[SUBSYSTEM::RPC_NDR_LSA]
-PUBLIC_DEPENDENCIES = dcerpc NDR_LSA
+PUBLIC_DEPENDENCIES = dcerpc NDR_STANDARD
RPC_NDR_LSA_OBJ_FILES = ../librpc/gen_ndr/ndr_lsa_c.o
[SUBSYSTEM::RPC_NDR_DFS]
-PUBLIC_DEPENDENCIES = dcerpc NDR_DFS
+PUBLIC_DEPENDENCIES = dcerpc NDR_STANDARD
RPC_NDR_DFS_OBJ_FILES = ../librpc/gen_ndr/ndr_dfs_c.o
RPC_NDR_IRPC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_irpc_c.o
[LIBRARY::dcerpc_samr]
-PUBLIC_DEPENDENCIES = dcerpc NDR_SAMR
+PUBLIC_DEPENDENCIES = dcerpc NDR_STANDARD
PC_FILES += $(librpcsrcdir)/dcerpc_samr.pc
dcerpc_samr_SOVERSION = 0
dcerpc_samr_OBJ_FILES = ../librpc/gen_ndr/ndr_samr_c.o
+PUBLIC_HEADERS += ../librpc/gen_ndr/ndr_samr_c.h
+
[SUBSYSTEM::RPC_NDR_SPOOLSS]
PUBLIC_DEPENDENCIES = dcerpc NDR_SPOOLSS
RPC_NDR_SPOOLSS_OBJ_FILES = ../librpc/gen_ndr/ndr_spoolss_c.o
[SUBSYSTEM::RPC_NDR_WKSSVC]
-PUBLIC_DEPENDENCIES = dcerpc NDR_WKSSVC
+PUBLIC_DEPENDENCIES = dcerpc NDR_STANDARD
RPC_NDR_WKSSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_wkssvc_c.o
RPC_NDR_SRVSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_srvsvc_c.o
[SUBSYSTEM::RPC_NDR_SVCCTL]
-PUBLIC_DEPENDENCIES = dcerpc NDR_SVCCTL
+PUBLIC_DEPENDENCIES = dcerpc NDR_STANDARD
RPC_NDR_SVCCTL_OBJ_FILES = ../librpc/gen_ndr/ndr_svcctl_c.o
PUBLIC_HEADERS += ../librpc/gen_ndr/ndr_svcctl_c.h
[LIBRARY::dcerpc_atsvc]
-PUBLIC_DEPENDENCIES = dcerpc NDR_ATSVC
+PUBLIC_DEPENDENCIES = dcerpc NDR_STANDARD
dcerpc_atsvc_VERSION = 0.0.1
dcerpc_atsvc_SOVERSION = 0
PUBLIC_HEADERS += ../librpc/gen_ndr/ndr_atsvc_c.h
[SUBSYSTEM::RPC_NDR_EVENTLOG]
-PUBLIC_DEPENDENCIES = dcerpc NDR_EVENTLOG
+PUBLIC_DEPENDENCIES = dcerpc NDR_STANDARD
RPC_NDR_EVENTLOG_OBJ_FILES = ../librpc/gen_ndr/ndr_eventlog_c.o
RPC_NDR_WINS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_wins_c.o
[SUBSYSTEM::RPC_NDR_WINREG]
-PUBLIC_DEPENDENCIES = dcerpc NDR_WINREG
+PUBLIC_DEPENDENCIES = dcerpc NDR_STANDARD
RPC_NDR_WINREG_OBJ_FILES = ../librpc/gen_ndr/ndr_winreg_c.o
[SUBSYSTEM::RPC_NDR_INITSHUTDOWN]
-PUBLIC_DEPENDENCIES = dcerpc NDR_INITSHUTDOWN
+PUBLIC_DEPENDENCIES = dcerpc NDR_STANDARD
RPC_NDR_INITSHUTDOWN_OBJ_FILES = ../librpc/gen_ndr/ndr_initshutdown_c.o
RPC_NDR_SCERPC_OBJ_FILES = ../librpc/gen_ndr/ndr_scerpc_c.o
[SUBSYSTEM::RPC_NDR_NTSVCS]
-PUBLIC_DEPENDENCIES = dcerpc NDR_NTSVCS
+PUBLIC_DEPENDENCIES = dcerpc NDR_STANDARD
RPC_NDR_NTSVCS_OBJ_FILES = ../librpc/gen_ndr/ndr_ntsvcs_c.o
[SUBSYSTEM::RPC_NDR_NETLOGON]
-PUBLIC_DEPENDENCIES = NDR_NETLOGON
+PUBLIC_DEPENDENCIES = NDR_STANDARD
RPC_NDR_NETLOGON_OBJ_FILES = ../librpc/gen_ndr/ndr_netlogon_c.o