1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-08 21:18:16 +03:00

Introduce system MIT krb5 build with --with-system-mitkrb5 option.

System MIT krb5 build also enabled by specifying --without-ad-dc

When --with-system-mitkrb5 (or --withou-ad-dc) option is passed to top level
configure in WAF build we are trying to detect and use system-wide MIT krb5
libraries. As result, Samba 4 DC functionality will be disabled due to the fact
that it is currently impossible to implement embedded KDC server with MIT krb5.

Thus, --with-system-mitkrb5/--without-ad-dc build will only produce
  * Samba 4 client libraries and their Python bindings
  * Samba 3 server (smbd, nmbd, winbindd from source3/)
  * Samba 3 client libraries

In addition, Samba 4 DC server-specific tests will not be compiled into smbtorture.
This in particular affects spoolss_win, spoolss_notify, and remote_pac rpc tests.
This commit is contained in:
Alexander Bokovoy 2012-05-21 12:45:12 +03:00
parent 2fc96e6955
commit 2ddf89a2bc
48 changed files with 598 additions and 471 deletions

View File

@ -642,8 +642,17 @@ def PROCESS_SEPARATE_RULE(self, rule):
if txt:
dc = {'ctx': self}
if getattr(self.__class__, 'pre_recurse', None):
dc = self.pre_recurse(txt, file_path, [])
dc = self.pre_recurse(txt, file_path, self.curdir)
exec(compile(txt, file_path, 'exec'), dc)
if getattr(self.__class__, 'post_recurse', None):
dc = self.post_recurse(txt, file_path, self.curdir)
Build.BuildContext.PROCESS_SEPARATE_RULE = PROCESS_SEPARATE_RULE
ConfigurationContext.PROCESS_SEPARATE_RULE = PROCESS_SEPARATE_RULE
def AD_DC_BUILD_IS_ENABLED(self):
if self.CONFIG_SET('AD_DC_BUILD_IS_ENABLED'):
return True
return False
Build.BuildContext.AD_DC_BUILD_IS_ENABLED = AD_DC_BUILD_IS_ENABLED

View File

@ -413,6 +413,9 @@ def SAMBA_MODULE(bld, modname, source,
source = bld.SUBDIR(subdir, source)
if internal_module or BUILTIN_LIBRARY(bld, modname):
# Do not create modules for disabled subsystems
if subsystem and GET_TARGET_TYPE(bld, subsystem) == 'DISABLED':
return
bld.SAMBA_SUBSYSTEM(modname, source,
deps=deps,
includes=includes,
@ -430,6 +433,10 @@ def SAMBA_MODULE(bld, modname, source,
SET_TARGET_TYPE(bld, modname, 'DISABLED')
return
# Do not create modules for disabled subsystems
if subsystem and GET_TARGET_TYPE(bld, subsystem) == 'DISABLED':
return
obj_target = modname + '.objlist'
realname = modname

View File

@ -436,7 +436,7 @@ const char *dns_errstr(DNS_ERROR err);
/* from dnsgss.c */
#ifdef HAVE_KRB5
#ifdef HAVE_GSSAPI
void display_status( const char *msg, OM_uint32 maj_stat, OM_uint32 min_stat );
DNS_ERROR dns_negotiate_sec_ctx( const char *target_realm,
@ -450,6 +450,6 @@ DNS_ERROR dns_sign_update(struct dns_update_request *req,
const char *algorithmname,
time_t time_signed, uint16 fudge);
#endif /* HAVE_KRB5 */
#endif /* HAVE_GSSAPI */
#endif /* _DNS_H */

View File

@ -26,7 +26,7 @@
#include <ctype.h>
#ifdef HAVE_KRB5
#ifdef HAVE_GSSAPI
/*********************************************************************
*********************************************************************/
@ -331,4 +331,4 @@ DNS_ERROR dns_sign_update(struct dns_update_request *req,
return err;
}
#endif /* HAVE_KRB5 */
#endif /* HAVE_GSSAPI */

View File

@ -2,6 +2,6 @@
bld.SAMBA_LIBRARY('addns',
source='dnsquery.c dnsrecord.c dnsutils.c dnssock.c dnsgss.c dnsmarshall.c error.c',
public_deps='DNS_HOSTS_FILE samba-util krb5 gssapi_krb5 uuid resolv',
public_deps='DNS_HOSTS_FILE samba-util gssapi uuid resolv',
private_library=True,
vars=locals())

View File

@ -1,7 +1,11 @@
#!/usr/bin/env python
add_deps = ''
if bld.CONFIG_SET('SAMBA4_USES_HEIMDAL'):
add_deps = ' asn1'
bld.SAMBA_LIBRARY('krb5samba',
source='krb5_samba.c keytab_util.c',
deps='samba-util asn1util talloc krb5 com_err',
private_library=True
)
deps='samba-util asn1util talloc krb5 com_err' + add_deps,
private_library=True
)

View File

@ -27,7 +27,7 @@
*/
#ifdef HAVE_LIBGSSAPI
#ifdef HAVE_GSSAPI
#ifdef HAVE_GSSAPI_GSSAPI_EXT_H
#include <gssapi/gssapi_ext.h>

View File

@ -104,5 +104,5 @@ bld.SAMBA3_MODULE('auth_samba4',
source='auth_samba4.c',
init_function='',
deps='auth4 samba_server_gensec gensec',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('auth_samba4'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('auth_samba4'))
internal_module=bld.SAMBA3_IS_STATIC_MODULE('auth_samba4') and bld.AD_DC_BUILD_IS_ENABLED(),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('auth_samba4') and bld.AD_DC_BUILD_IS_ENABLED())

View File

@ -3547,7 +3547,7 @@ if test x"$with_ads_support" != x"no"; then
AC_MSG_WARN([Samba cannot be supported without GSSAPI])
use_ads=no
else
AC_DEFINE(HAVE_LIBGSSAPI, , [Whether the platform has GSSAPI support])
AC_DEFINE(HAVE_GSSAPI, , [Whether the platform has GSSAPI support])
fi
AC_CHECK_FUNC_EXT(krb5_set_real_time, $KRB5_LIBS)

View File

@ -7,7 +7,7 @@ bld.SAMBA3_SUBSYSTEM('NDR_LIBNETAPI',
bld.SAMBA3_SUBSYSTEM('NDR_LIBNET_JOIN',
source='gen_ndr/ndr_libnet_join.c',
public_deps='ndr'
public_deps='ndr krb5samba'
)
bld.SAMBA3_SUBSYSTEM('NDR_MESSAGING',

View File

@ -13,7 +13,7 @@
You should have received a copy of the GNU General Public License
along with this program; if not, see <http://www.gnu.org/licenses/>. */
#if HAVE_CONFIG_H
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif

View File

@ -188,8 +188,8 @@ bld.SAMBA3_MODULE('vfs_posix_eadb',
source='vfs_posix_eadb.c',
deps='tdb-wrap posix_eadb',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_posix_eadb'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_posix_eadb'))
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_posix_eadb') and bld.AD_DC_BUILD_IS_ENABLED(),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_posix_eadb') and bld.AD_DC_BUILD_IS_ENABLED())
bld.SAMBA3_MODULE('vfs_posixacl',
subsystem='vfs',
@ -457,8 +457,8 @@ bld.SAMBA3_MODULE('vfs_dfs_samba4',
source='vfs_dfs_samba4.c',
deps='samba-util dfs_server_ad samdb tevent',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_dfs_samba4'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_dfs_samba4'))
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_dfs_samba4') and bld.AD_DC_BUILD_IS_ENABLED(),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_dfs_samba4') and bld.AD_DC_BUILD_IS_ENABLED())
PERFCOUNT_TEST_SRC = 'perfcount_test.c'

View File

@ -51,8 +51,8 @@ bld.SAMBA3_MODULE('pdb_samba4',
source='pdb_samba4.c',
init_function='',
deps='IDMAP samdb',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_samba4'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_samba4'))
internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_samba4') and bld.AD_DC_BUILD_IS_ENABLED(),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_samba4') and bld.AD_DC_BUILD_IS_ENABLED())
bld.SAMBA3_PYTHON('pypassdb',
source='py_passdb.c',

View File

@ -37,7 +37,7 @@ bld.SAMBA3_SUBSYSTEM('IDMAP_ADEX',
bld.SAMBA3_SUBSYSTEM('IDMAP_HASH',
source=IDMAP_HASH_SRC,
deps='samba-util',
deps='samba-util krb5samba',
vars=locals())
bld.SAMBA3_SUBSYSTEM('IDMAP_AD',
@ -142,7 +142,7 @@ bld.SAMBA3_LIBRARY('nss_info',
bld.SAMBA3_MODULE('nss_info_template',
subsystem='nss_info',
source=NSS_INFO_TEMPLATE_SRC,
deps='samba-util',
deps='samba-util krb5samba',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('nss_info_template'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('nss_info_template'))

View File

@ -28,7 +28,6 @@ def set_options(opt):
opt.SAMBA3_ADD_OPTION('winbind')
opt.SAMBA3_ADD_OPTION('swat')
opt.SAMBA3_ADD_OPTION('ads')
opt.SAMBA3_ADD_OPTION('mit-krb5-checks', default=False)
opt.SAMBA3_ADD_OPTION('ldap')
opt.SAMBA3_ADD_OPTION('cups', with_name="enable", without_name="disable")
opt.SAMBA3_ADD_OPTION('iprint', with_name="enable", without_name="disable")
@ -1396,7 +1395,8 @@ main() {
default_shared_modules.extend(TO_LIST('vfs_skel_opaque vfs_skel_transparent vfs_shadow_copy_test'))
default_shared_modules.extend(TO_LIST('auth_skel pdb_test'))
default_static_modules.extend(TO_LIST('pdb_samba4 auth_samba4 vfs_dfs_samba4'))
if conf.CONFIG_SET('AD_DC_BUILD_IS_ENABLED'):
default_static_modules.extend(TO_LIST('pdb_samba4 auth_samba4 vfs_dfs_samba4'))
if Options.options.with_acl_support and conf.CONFIG_SET('HAVE_POSIX_ACLS'):
default_static_modules.extend(TO_LIST('vfs_posixacl'))

View File

@ -869,7 +869,7 @@ bld.SAMBA3_SUBSYSTEM('LIBADS_SERVER',
bld.SAMBA3_SUBSYSTEM('LIBADS_PRINTER',
source=LIBADS_PRINTER_SRC,
deps='samba-util',
deps='samba-util krb5samba',
vars=locals())
bld.SAMBA3_SUBSYSTEM('LIBAFS',
@ -1025,7 +1025,8 @@ bld.SAMBA3_SUBSYSTEM('PASSCHANGE',
source=PASSCHANGE_SRC,
deps='''LIBCLI_SAMR
INIT_LSA
msrpc3''',
msrpc3
krb5samba''',
vars=locals())
bld.SAMBA3_SUBSYSTEM('SAMBA_VERSION',
@ -1103,7 +1104,7 @@ bld.SAMBA3_SUBSYSTEM('LIBCLI_WINREG_INTERNAL',
bld.SAMBA3_SUBSYSTEM('RPC_CLIENT_SCHANNEL',
source=RPC_CLIENT_SCHANNEL_SRC,
deps='samba-util',
deps='samba-util krb5samba',
vars=locals())
bld.SAMBA3_SUBSYSTEM('INIT_LSA',
@ -1421,7 +1422,8 @@ bld.SAMBA3_BINARY('smbcacls',
talloc
popt_samba3
msrpc3
libcli_lsa3''',
libcli_lsa3
krb5samba''',
vars=locals())
bld.SAMBA3_BINARY('smbcquotas',

View File

@ -11,6 +11,7 @@ bld.SAMBA_MODULE('gensec_krb5',
init_function='gensec_krb5_init',
deps='samba-credentials authkrb5 com_err gensec_util',
internal_module=False,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)

View File

@ -16,7 +16,7 @@ bld.SAMBA_LIBRARY('authkrb5',
bld.SAMBA_SUBSYSTEM('KERBEROS_UTIL',
autoproto='kerberos_util.h',
source='kerberos_util.c',
deps='authkrb5 com_err CREDENTIALS_KRB5',
deps='authkrb5 krb5samba com_err CREDENTIALS_KRB5',
)
bld.SAMBA_SUBSYSTEM('KERBEROS_SRV_KEYTAB',

View File

@ -7,6 +7,7 @@ bld.SAMBA_MODULE('service_dns',
deps='samba-hostconfig LIBTSOCKET LIBSAMBA_TSOCKET ldbsamba LIBCLI_DNS',
local_include=False,
internal_module=False,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
# a bind9 dlz module giving access to the Samba DNS SAM
@ -17,7 +18,8 @@ bld.SAMBA_LIBRARY('dlz_bind9',
link_name='modules/bind9/dlz_bind9.so',
realname='dlz_bind9.so',
install_path='${MODULESDIR}/bind9',
deps='samba-hostconfig samdb-common gensec popt')
deps='samba-hostconfig samdb-common gensec popt',
enabled=bld.AD_DC_BUILD_IS_ENABLED())
bld.SAMBA_LIBRARY('dlz_bind9_9',
source='dlz_bind9.c',
@ -26,4 +28,5 @@ bld.SAMBA_LIBRARY('dlz_bind9_9',
link_name='modules/bind9/dlz_bind9_9.so',
realname='dlz_bind9_9.so',
install_path='${MODULESDIR}/bind9',
deps='samba-hostconfig samdb-common gensec popt')
deps='samba-hostconfig samdb-common gensec popt',
enabled=bld.AD_DC_BUILD_IS_ENABLED())

View File

@ -24,7 +24,6 @@
#include "includes.h"
#include "librpc/gen_ndr/drsuapi.h"
#include "lib/events/events.h"
#include "rpc_server/common/common.h"
#include <ldb.h>
#include <ldb_errors.h>
#include "auth/kerberos/kerberos.h"

View File

@ -18,358 +18,5 @@ bld.SAMBA_SUBSYSTEM('DSDB_MODULE_HELPER_RIDALLOC',
deps='MESSAGING',
)
bld.SAMBA_MODULE('ldb_samba_dsdb',
source='samba_dsdb.c',
subsystem='ldb',
init_function='ldb_samba_dsdb_module_init',
module_init_name='ldb_init_module',
deps='samdb talloc ndr DSDB_MODULE_HELPERS',
internal_module=False,
)
bld.SAMBA_MODULE('ldb_samba_secrets',
source='samba_secrets.c',
subsystem='ldb',
init_function='ldb_samba_secrets_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='samdb talloc ndr'
)
bld.SAMBA_MODULE('ldb_objectguid',
source='objectguid.c',
subsystem='ldb',
init_function='ldb_objectguid_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='samdb talloc ndr DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_repl_meta_data',
source='repl_meta_data.c',
subsystem='ldb',
init_function='ldb_repl_meta_data_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='samdb talloc ndr NDR_DRSUAPI NDR_DRSBLOBS ndr DSDB_MODULE_HELPERS security'
)
bld.SAMBA_MODULE('ldb_schema_load',
source='schema_load.c',
subsystem='ldb',
init_function='ldb_schema_load_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='samdb talloc DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_schema_data',
source='schema_data.c',
subsystem='ldb',
init_function='ldb_schema_data_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='samdb talloc DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_samldb',
source='samldb.c',
subsystem='ldb',
init_function='ldb_samldb_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samdb DSDB_MODULE_HELPERS DSDB_MODULE_HELPER_RIDALLOC'
)
bld.SAMBA_MODULE('ldb_samba3sam',
source='samba3sam.c',
subsystem='ldb',
init_function='ldb_samba3sam_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc ldb smbpasswdparser security NDR_SECURITY'
)
bld.SAMBA_MODULE('ldb_samba3sid',
source='samba3sid.c',
subsystem='ldb',
init_function='ldb_samba3sid_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc ldb security NDR_SECURITY ldbsamba DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_simple_ldap_map',
source='simple_ldap_map.c',
subsystem='ldb',
init_function='ldb_simple_ldap_map_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc ldb ndr ldbsamba samdb-common'
)
bld.SAMBA_MODULE('ldb_rootdse',
source='rootdse.c',
subsystem='ldb',
init_function='ldb_rootdse_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samdb MESSAGING security DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_password_hash',
source='password_hash.c',
subsystem='ldb',
init_function='ldb_password_hash_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samdb LIBCLI_AUTH NDR_DRSBLOBS authkrb5 krb5 DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_local_password',
source='local_password.c',
subsystem='ldb',
init_function='ldb_local_password_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc ndr samdb'
)
bld.SAMBA_MODULE('ldb_extended_dn_in',
source='extended_dn_in.c',
subsystem='ldb',
init_function='ldb_extended_dn_in_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='ldb talloc samba-util DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_extended_dn_out',
source='extended_dn_out.c',
init_function='ldb_extended_dn_out_module_init',
module_init_name='ldb_init_module',
subsystem='ldb',
deps='talloc ndr samba-util samdb DSDB_MODULE_HELPERS',
internal_module=False,
)
bld.SAMBA_MODULE('ldb_extended_dn_store',
source='extended_dn_store.c',
subsystem='ldb',
init_function='ldb_extended_dn_store_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-util samdb DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_show_deleted',
source='show_deleted.c',
subsystem='ldb',
init_function='ldb_show_deleted_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-util DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_partition',
source='partition.c partition_init.c partition_metadata.c',
autoproto='partition_proto.h',
subsystem='ldb',
init_function='ldb_partition_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samdb DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_new_partition',
source='new_partition.c',
subsystem='ldb',
init_function='ldb_new_partition_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samdb DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_update_keytab',
source='update_keytab.c',
subsystem='ldb',
init_function='ldb_update_keytab_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-credentials ldb com_err KERBEROS_SRV_KEYTAB SECRETS DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_objectclass',
source='objectclass.c',
subsystem='ldb',
init_function='ldb_objectclass_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samdb DSDB_MODULE_HELPERS samba-util'
)
bld.SAMBA_MODULE('ldb_objectclass_attrs',
source='objectclass_attrs.c',
subsystem='ldb',
init_function='ldb_objectclass_attrs_module_init',
module_init_name='ldb_init_module',
deps='talloc samdb samba-util',
internal_module=False,
)
bld.SAMBA_MODULE('ldb_subtree_rename',
source='subtree_rename.c',
subsystem='ldb',
init_function='ldb_subtree_rename_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-util ldb samdb-common'
)
bld.SAMBA_MODULE('ldb_subtree_delete',
source='subtree_delete.c',
subsystem='ldb',
init_function='ldb_subtree_delete_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-util DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_linked_attributes',
source='linked_attributes.c',
subsystem='ldb',
init_function='ldb_linked_attributes_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samdb DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_ranged_results',
source='ranged_results.c',
subsystem='ldb',
init_function='ldb_ranged_results_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-util ldb'
)
bld.SAMBA_MODULE('ldb_anr',
source='anr.c',
subsystem='ldb',
init_function='ldb_anr_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-util samdb'
)
bld.SAMBA_MODULE('ldb_instancetype',
source='instancetype.c',
subsystem='ldb',
init_function='ldb_instancetype_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-util samdb DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_operational',
source='operational.c',
subsystem='ldb',
init_function='ldb_operational_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-util samdb-common DSDB_MODULE_HELPERS samdb'
)
bld.SAMBA_MODULE('ldb_descriptor',
source='descriptor.c',
subsystem='ldb',
init_function='ldb_descriptor_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc security NDR_SECURITY samdb DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_resolve_oids',
source='resolve_oids.c',
subsystem='ldb',
init_function='ldb_resolve_oids_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='samdb talloc ndr'
)
bld.SAMBA_MODULE('ldb_acl',
source='acl.c',
subsystem='ldb',
init_function='ldb_acl_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc security samdb DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_lazy_commit',
source='lazy_commit.c',
subsystem='ldb',
internal_module=False,
module_init_name='ldb_init_module',
init_function='ldb_lazy_commit_module_init',
deps='samdb DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_aclread',
source='acl_read.c',
subsystem='ldb',
init_function='ldb_aclread_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc security samdb DSDB_MODULE_HELPERS',
)
bld.SAMBA_MODULE('ldb_simple_dn',
source='simple_dn.c',
subsystem='ldb',
init_function='ldb_simple_dn_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_dirsync',
source='dirsync.c',
subsystem='ldb',
init_function='ldb_dirsync_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc security samdb DSDB_MODULE_HELPERS'
)
if bld.AD_DC_BUILD_IS_ENABLED():
bld.PROCESS_SEPARATE_RULE("server")

View File

@ -0,0 +1,357 @@
#!/usr/bin/env python
bld.SAMBA_MODULE('ldb_samba_dsdb',
source='samba_dsdb.c',
subsystem='ldb',
init_function='ldb_samba_dsdb_module_init',
module_init_name='ldb_init_module',
deps='samdb talloc ndr DSDB_MODULE_HELPERS',
internal_module=False,
)
bld.SAMBA_MODULE('ldb_samba_secrets',
source='samba_secrets.c',
subsystem='ldb',
init_function='ldb_samba_secrets_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='samdb talloc ndr'
)
bld.SAMBA_MODULE('ldb_objectguid',
source='objectguid.c',
subsystem='ldb',
init_function='ldb_objectguid_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='samdb talloc ndr DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_repl_meta_data',
source='repl_meta_data.c',
subsystem='ldb',
init_function='ldb_repl_meta_data_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='samdb talloc ndr NDR_DRSUAPI NDR_DRSBLOBS ndr DSDB_MODULE_HELPERS security'
)
bld.SAMBA_MODULE('ldb_schema_load',
source='schema_load.c',
subsystem='ldb',
init_function='ldb_schema_load_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='samdb talloc DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_schema_data',
source='schema_data.c',
subsystem='ldb',
init_function='ldb_schema_data_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='samdb talloc DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_samldb',
source='samldb.c',
subsystem='ldb',
init_function='ldb_samldb_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samdb DSDB_MODULE_HELPERS DSDB_MODULE_HELPER_RIDALLOC'
)
bld.SAMBA_MODULE('ldb_samba3sam',
source='samba3sam.c',
subsystem='ldb',
init_function='ldb_samba3sam_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc ldb smbpasswdparser security NDR_SECURITY'
)
bld.SAMBA_MODULE('ldb_samba3sid',
source='samba3sid.c',
subsystem='ldb',
init_function='ldb_samba3sid_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc ldb security NDR_SECURITY ldbsamba DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_simple_ldap_map',
source='simple_ldap_map.c',
subsystem='ldb',
init_function='ldb_simple_ldap_map_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc ldb ndr ldbsamba samdb-common'
)
bld.SAMBA_MODULE('ldb_rootdse',
source='rootdse.c',
subsystem='ldb',
init_function='ldb_rootdse_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samdb MESSAGING security DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_password_hash',
source='password_hash.c',
subsystem='ldb',
init_function='ldb_password_hash_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samdb LIBCLI_AUTH NDR_DRSBLOBS authkrb5 krb5 DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_local_password',
source='local_password.c',
subsystem='ldb',
init_function='ldb_local_password_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc ndr samdb'
)
bld.SAMBA_MODULE('ldb_extended_dn_in',
source='extended_dn_in.c',
subsystem='ldb',
init_function='ldb_extended_dn_in_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='ldb talloc samba-util DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_extended_dn_out',
source='extended_dn_out.c',
init_function='ldb_extended_dn_out_module_init',
module_init_name='ldb_init_module',
subsystem='ldb',
deps='talloc ndr samba-util samdb DSDB_MODULE_HELPERS',
internal_module=False,
)
bld.SAMBA_MODULE('ldb_extended_dn_store',
source='extended_dn_store.c',
subsystem='ldb',
init_function='ldb_extended_dn_store_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-util samdb DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_show_deleted',
source='show_deleted.c',
subsystem='ldb',
init_function='ldb_show_deleted_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-util DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_partition',
source='partition.c partition_init.c partition_metadata.c',
autoproto='partition_proto.h',
subsystem='ldb',
init_function='ldb_partition_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samdb DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_new_partition',
source='new_partition.c',
subsystem='ldb',
init_function='ldb_new_partition_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samdb DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_update_keytab',
source='update_keytab.c',
subsystem='ldb',
init_function='ldb_update_keytab_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-credentials ldb com_err KERBEROS_SRV_KEYTAB SECRETS DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_objectclass',
source='objectclass.c',
subsystem='ldb',
init_function='ldb_objectclass_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samdb DSDB_MODULE_HELPERS samba-util'
)
bld.SAMBA_MODULE('ldb_objectclass_attrs',
source='objectclass_attrs.c',
subsystem='ldb',
init_function='ldb_objectclass_attrs_module_init',
module_init_name='ldb_init_module',
deps='talloc samdb samba-util',
internal_module=False,
)
bld.SAMBA_MODULE('ldb_subtree_rename',
source='subtree_rename.c',
subsystem='ldb',
init_function='ldb_subtree_rename_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-util ldb samdb-common'
)
bld.SAMBA_MODULE('ldb_subtree_delete',
source='subtree_delete.c',
subsystem='ldb',
init_function='ldb_subtree_delete_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-util DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_linked_attributes',
source='linked_attributes.c',
subsystem='ldb',
init_function='ldb_linked_attributes_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samdb DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_ranged_results',
source='ranged_results.c',
subsystem='ldb',
init_function='ldb_ranged_results_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-util ldb'
)
bld.SAMBA_MODULE('ldb_anr',
source='anr.c',
subsystem='ldb',
init_function='ldb_anr_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-util samdb'
)
bld.SAMBA_MODULE('ldb_instancetype',
source='instancetype.c',
subsystem='ldb',
init_function='ldb_instancetype_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-util samdb DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_operational',
source='operational.c',
subsystem='ldb',
init_function='ldb_operational_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc samba-util samdb-common DSDB_MODULE_HELPERS samdb'
)
bld.SAMBA_MODULE('ldb_descriptor',
source='descriptor.c',
subsystem='ldb',
init_function='ldb_descriptor_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc security NDR_SECURITY samdb DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_resolve_oids',
source='resolve_oids.c',
subsystem='ldb',
init_function='ldb_resolve_oids_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='samdb talloc ndr'
)
bld.SAMBA_MODULE('ldb_acl',
source='acl.c',
subsystem='ldb',
init_function='ldb_acl_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc security samdb DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_lazy_commit',
source='lazy_commit.c',
subsystem='ldb',
internal_module=False,
module_init_name='ldb_init_module',
init_function='ldb_lazy_commit_module_init',
deps='samdb DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_aclread',
source='acl_read.c',
subsystem='ldb',
init_function='ldb_aclread_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc security samdb DSDB_MODULE_HELPERS',
)
bld.SAMBA_MODULE('ldb_simple_dn',
source='simple_dn.c',
subsystem='ldb',
init_function='ldb_simple_dn_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc DSDB_MODULE_HELPERS'
)
bld.SAMBA_MODULE('ldb_dirsync',
source='dirsync.c',
subsystem='ldb',
init_function='ldb_dirsync_module_init',
module_init_name='ldb_init_module',
internal_module=False,
deps='talloc security samdb DSDB_MODULE_HELPERS'
)

View File

@ -12,7 +12,6 @@ bld.SAMBA_LIBRARY('samdb',
deps='ndr NDR_DRSUAPI NDR_DRSBLOBS auth_system_session LIBCLI_AUTH ndr SAMDB_SCHEMA ldbsamba samdb-common LIBCLI_DRSUAPI cli-ldap-common samba-util com_err authkrb5 samba-credentials ldbwrap errors krb5samba',
)
bld.SAMBA_LIBRARY('samdb-common',
source='common/util.c common/util_groups.c common/util_samr.c common/dsdb_dn.c common/dsdb_access.c',
autoproto='common/proto.h',
@ -35,6 +34,7 @@ bld.SAMBA_MODULE('service_drepl',
init_function='server_service_drepl_init',
deps='samdb process_model RPC_NDR_DRSUAPI',
internal_module=False,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
@ -45,6 +45,7 @@ bld.SAMBA_MODULE('service_kcc',
init_function='server_service_kcc_init',
deps='samdb process_model RPC_NDR_IRPC RPC_NDR_DRSUAPI UTIL_RUNCMD',
internal_module=False,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
@ -53,7 +54,8 @@ bld.SAMBA_MODULE('service_dns_update',
subsystem='service',
init_function='server_service_dnsupdate_init',
deps='samdb UTIL_RUNCMD samba-util ldb samdb-common errors talloc auth_system_session samba-hostconfig',
internal_module=False
internal_module=False,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
bld.SAMBA_PYTHON('python_dsdb',

View File

@ -5,5 +5,6 @@ bld.SAMBA_MODULE('ECHO',
subsystem='service',
init_function='server_service_echo_init',
deps='samba-hostconfig LIBTSOCKET LIBSAMBA_TSOCKET',
local_include=False
local_include=False,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)

View File

@ -89,7 +89,7 @@ conf.define('HAVE_GSSKRB5_GET_SUBKEY', 1)
conf.define('HAVE_GSS_KRB5_EXPORT_LUCID_SEC_CONTEXT', 1)
conf.define('HAVE_GSS_IMPORT_CRED', 1)
conf.define('HAVE_GSS_EXPORT_CRED', 1)
conf.define('HAVE_LIBGSSAPI', 1)
conf.define('HAVE_GSSAPI', 1)
conf.define('HAVE_ADDR_TYPE_IN_KRB5_ADDRESS', 1)
conf.define('HAVE_CHECKSUM_IN_KRB5_CHECKSUM', 1)
conf.define('HAVE_DECL_KRB5_AUTH_CON_SET_REQ_CKSUMTYPE', 0)

View File

@ -8,5 +8,6 @@ bld.SAMBA_MODULE('service_ldap',
init_function='server_service_ldap_init',
deps='samba-credentials cli-ldap samdb process_model gensec samba-hostconfig samba_server_gensec',
internal_module=False,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)

View File

@ -17,5 +17,6 @@ bld.SAMBA_PYTHON('python_net',
bld.SAMBA_PYTHON('python_dckeytab',
source='py_net_dckeytab.c libnet_export_keytab.c',
deps='pyrpc_util HDB_SAMBA4 com_err',
realname='samba/dckeytab.so'
realname='samba/dckeytab.so',
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)

View File

@ -3,7 +3,8 @@
bld.SAMBA_SUBSYSTEM('WINSDB',
source='wins/winsdb.c wins/wins_hook.c',
autoproto='wins/winsdb_proto.h',
public_deps='ldb ldbsamba'
public_deps='ldb ldbsamba',
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
@ -14,27 +15,31 @@ bld.SAMBA_MODULE('ldb_wins_ldb',
module_init_name='ldb_init_module',
deps='ldb netif samba-hostconfig samba-util',
internal_module=False,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
bld.SAMBA_SUBSYSTEM('NBTD_WINS',
source='wins/winsserver.c wins/winsclient.c wins/winswack.c wins/wins_dns_proxy.c',
autoproto='wins/winsserver_proto.h',
deps='cli-nbt WINSDB'
deps='cli-nbt WINSDB',
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
bld.SAMBA_SUBSYSTEM('NBTD_DGRAM',
source='dgram/request.c dgram/netlogon.c dgram/browse.c',
autoproto='dgram/proto.h',
deps='LIBCLI_DGRAM CLDAPD'
deps='LIBCLI_DGRAM CLDAPD',
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
bld.SAMBA_SUBSYSTEM('NBT_SERVER',
source='interfaces.c register.c query.c nodestatus.c defense.c packet.c irpc.c',
autoproto='nbt_server_proto.h',
deps='cli-nbt NBTD_WINS NBTD_DGRAM'
deps='cli-nbt NBTD_WINS NBTD_DGRAM service',
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
@ -44,5 +49,6 @@ bld.SAMBA_MODULE('service_nbtd',
init_function='server_service_nbtd_init',
deps='NBT_SERVER process_model',
internal_module=False,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)

View File

@ -6,5 +6,6 @@ bld.SAMBA_MODULE('service_ntp_signd',
init_function='server_service_ntp_signd_init',
deps='samdb NDR_NTP_SIGND LIBTSOCKET LIBSAMBA_TSOCKET',
internal_module=False,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)

View File

@ -4,13 +4,15 @@ bld.SAMBA_MODULE('ntptr_simple_ldb',
source='simple_ldb/ntptr_simple_ldb.c',
subsystem='ntptr',
init_function='ntptr_simple_ldb_init',
deps='ldb NDR_SPOOLSS DCERPC_COMMON ldbsamba'
deps='ldb NDR_SPOOLSS DCERPC_COMMON ldbsamba',
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
bld.SAMBA_SUBSYSTEM('ntptr',
source='ntptr_base.c ntptr_interface.c',
autoproto='ntptr_proto.h',
public_deps='DCERPC_COMMON'
public_deps='DCERPC_COMMON',
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)

View File

@ -50,7 +50,7 @@ bld.SAMBA_LIBRARY('posix_eadb',
source='posix_eadb.c',
deps='tdb tdb-wrap',
autoproto='posix_eadb_proto.h',
private_library=True)
private_library=True)
bld.SAMBA_PYTHON('python_posix_eadb',
source='python/pyposix_eadb.c',

View File

@ -1,9 +1,18 @@
#!/usr/bin/env python
bld.RECURSE('posix')
bld.RECURSE('common')
bld.RECURSE('unixuid')
bld.RECURSE('sysdep')
bld.SAMBA_LIBRARY('ntvfs',
source='ntvfs_base.c ntvfs_generic.c ntvfs_interface.c ntvfs_util.c',
autoproto='ntvfs_proto.h',
deps='tevent samba-modules',
private_library=True,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
if bld.AD_DC_BUILD_IS_ENABLED():
bld.RECURSE('posix')
bld.RECURSE('common')
bld.RECURSE('unixuid')
bld.RECURSE('sysdep')
bld.SAMBA_MODULE('ntvfs_cifs',
source='cifs/vfs_cifs.c',
@ -64,10 +73,3 @@ bld.SAMBA_MODULE('ntvfs_nbench',
)
bld.SAMBA_LIBRARY('ntvfs',
source='ntvfs_base.c ntvfs_generic.c ntvfs_interface.c ntvfs_util.c',
autoproto='ntvfs_proto.h',
deps='tevent samba-modules',
private_library=True
)

View File

@ -29,7 +29,6 @@
#include "includes.h"
#include "lib/param/param.h"
#include "libcli/raw/libcliraw.h"
#include "rpc_server/common/common.h"
void lpcfg_smbcli_options(struct loadparm_context *lp_ctx,
struct smbcli_options *options)
@ -54,15 +53,3 @@ void lpcfg_smbcli_session_options(struct loadparm_context *lp_ctx,
options->plaintext_auth = lpcfg_client_plaintext_auth(lp_ctx);
}
_PUBLIC_ struct dcerpc_server_info *lpcfg_dcerpc_server_info(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx)
{
struct dcerpc_server_info *ret = talloc_zero(mem_ctx, struct dcerpc_server_info);
ret->domain_name = talloc_reference(mem_ctx, lpcfg_workgroup(lp_ctx));
ret->version_major = lpcfg_parm_int(lp_ctx, NULL, "server_info", "version_major", 5);
ret->version_minor = lpcfg_parm_int(lp_ctx, NULL, "server_info", "version_minor", 2);
ret->version_build = lpcfg_parm_int(lp_ctx, NULL, "server_info", "version_build", 3790);
return ret;
}

View File

@ -0,0 +1,45 @@
/*
Unix SMB/CIFS implementation.
DCERPC server info param function
Moved into rpc_server/common to break dependencies to rpc_server from param
Copyright (C) Karl Auer 1993-1998
Largely re-written by Andrew Tridgell, September 1994
Copyright (C) Simo Sorce 2001
Copyright (C) Alexander Bokovoy 2002
Copyright (C) Stefan (metze) Metzmacher 2002
Copyright (C) Jim McDonough (jmcd@us.ibm.com) 2003.
Copyright (C) James Myers 2003 <myersjj@samba.org>
Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2007
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "includes.h"
#include "lib/param/param.h"
#include "rpc_server/common/common.h"
_PUBLIC_ struct dcerpc_server_info *lpcfg_dcerpc_server_info(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx)
{
struct dcerpc_server_info *ret = talloc_zero(mem_ctx, struct dcerpc_server_info);
ret->domain_name = talloc_reference(mem_ctx, lpcfg_workgroup(lp_ctx));
ret->version_major = lpcfg_parm_int(lp_ctx, NULL, "server_info", "version_major", 5);
ret->version_minor = lpcfg_parm_int(lp_ctx, NULL, "server_info", "version_minor", 2);
ret->version_build = lpcfg_parm_int(lp_ctx, NULL, "server_info", "version_build", 3790);
return ret;
}

View File

@ -3,15 +3,27 @@
bld.SAMBA_SUBSYSTEM('DCERPC_SHARE',
source='common/server_info.c common/share_info.c',
autoproto='common/share.h',
deps='ldb'
deps='ldb',
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
bld.SAMBA_SUBSYSTEM('DCERPC_COMMON',
source='common/forward.c common/reply.c dcesrv_auth.c',
source='common/forward.c common/reply.c dcesrv_auth.c common/loadparm.c',
autoproto='common/proto.h',
deps='ldb DCERPC_SHARE samba_server_gensec'
deps='ldb DCERPC_SHARE samba_server_gensec',
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
bld.SAMBA_LIBRARY('dcerpc_server',
source='dcerpc_server.c dcesrv_mgmt.c handles.c',
pc_files='dcerpc_server.pc',
deps='LIBCLI_AUTH ndr samba_server_gensec dcerpc_remote service',
public_deps='dcerpc',
autoproto='dcerpc_server_proto.h',
public_headers='dcerpc_server.h',
vnum='0.0.1',
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
bld.SAMBA_MODULE('dcerpc_rpcecho',
source='echo/rpc_echo.c',
@ -144,15 +156,6 @@ bld.SAMBA_MODULE('dcerpc_dnsserver',
deps='DCERPC_COMMON'
)
bld.SAMBA_LIBRARY('dcerpc_server',
source='dcerpc_server.c dcesrv_mgmt.c handles.c',
pc_files='dcerpc_server.pc',
deps='LIBCLI_AUTH ndr samba_server_gensec dcerpc_remote service',
public_deps='dcerpc',
autoproto='dcerpc_server_proto.h',
public_headers='dcerpc_server.h',
vnum='0.0.1'
)
bld.SAMBA_MODULE('service_dcerpc',
source='service_rpc.c',

View File

@ -1,8 +1,7 @@
#!/usr/bin/env python
bld.SAMBA_SCRIPT('samba_dnsupdate', pattern='samba_dnsupdate', installdir='.')
bld.SAMBA_SCRIPT('samba_spnupdate', pattern='samba_spnupdate', installdir='.')
bld.SAMBA_SCRIPT('samba_kcc', pattern='samba_kcc', installdir='.')
bld.SAMBA_SCRIPT('upgradeprovision', pattern='upgradeprovision', installdir='.')
if bld.CONFIG_SET('AD_DC_BUILD_IS_ENABLED'):
for script in ['samba_dnsupdate', 'samba_spnupdate', 'samba_kcc', 'upgradeprovision', 'samba_upgradedns']:
bld.SAMBA_SCRIPT(script, pattern=script, installdir='.')
bld.SAMBA_SCRIPT('samba-tool', pattern='samba-tool', installdir='.')
bld.SAMBA_SCRIPT('samba_upgradedns', pattern='samba_upgradedns', installdir='.')

View File

@ -2,12 +2,19 @@
from samba_utils import MODE_755
bld.INSTALL_FILES('${SBINDIR}',
'bin/upgradeprovision bin/samba_dnsupdate bin/samba_spnupdate bin/samba_upgradedns',
chmod=MODE_755, python_fixup=True, flat=True)
sbin_files = None
bin_files = 'bin/samba-tool'
if bld.CONFIG_SET('AD_DC_BUILD_IS_ENABLED'):
sbin_files = 'bin/upgradeprovision bin/samba_dnsupdate bin/samba_spnupdate bin/samba_upgradedns'
bin_files = bin_files + ' bin/samba_kcc'
if sbin_files:
bld.INSTALL_FILES('${SBINDIR}',
'bin/upgradeprovision bin/samba_dnsupdate bin/samba_spnupdate bin/samba_upgradedns',
chmod=MODE_755, python_fixup=True, flat=True)
bld.INSTALL_FILES('${BINDIR}',
'bin/samba-tool bin/samba_kcc',
bin_files,
chmod=MODE_755, python_fixup=True, flat=True)
bld.RECURSE('bin')

View File

@ -4,6 +4,7 @@ bld.SAMBA_SUBSYSTEM('SMB_PROTOCOL',
source='receive.c negprot.c nttrans.c reply.c request.c search.c service.c sesssetup.c srvtime.c trans2.c signing.c',
autoproto='smb_proto.h',
deps='dfs_server_ad',
public_deps='ntvfs LIBPACKET samba-credentials samba_server_gensec'
public_deps='ntvfs LIBPACKET samba-credentials samba_server_gensec',
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)

View File

@ -3,6 +3,7 @@
bld.SAMBA_SUBSYSTEM('SMB2_PROTOCOL',
source='receive.c negprot.c sesssetup.c tcon.c fileio.c fileinfo.c find.c keepalive.c',
autoproto='smb2_proto.h',
public_deps='ntvfs LIBPACKET LIBCLI_SMB2 samba_server_gensec NDR_DFSBLOBS'
public_deps='ntvfs LIBPACKET LIBCLI_SMB2 samba_server_gensec NDR_DFSBLOBS',
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)

View File

@ -7,12 +7,14 @@ bld.SAMBA_MODULE('service_smb',
init_function='server_service_smb_init',
deps='SMB_SERVER netif shares samba-hostconfig',
internal_module=False,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
bld.SAMBA_SUBSYSTEM('SMB_SERVER',
source='handle.c tcon.c session.c blob.c management.c smb_server.c',
autoproto='smb_server_proto.h',
public_deps='share LIBPACKET SMB_PROTOCOL SMB2_PROTOCOL'
public_deps='share LIBPACKET SMB_PROTOCOL SMB2_PROTOCOL',
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
bld.RECURSE('smb')

View File

@ -4,7 +4,8 @@ bld.SAMBA_LIBRARY('service',
source='service.c service_stream.c service_named_pipe.c service_task.c',
autoproto='service_proto.h',
deps='tevent MESSAGING samba_socket RPC_NDR_IRPC NDR_NAMED_PIPE_AUTH npa_tstream gssapi samba-credentials LIBTSOCKET LIBSAMBA_TSOCKET process_model',
private_library=True
private_library=True,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
@ -14,6 +15,13 @@ bld.SAMBA_SUBSYSTEM('PIDFILE',
autoproto='pidfile.h'
)
bld.SAMBA_LIBRARY('process_model',
source='process_model.c',
autoproto='process_model_proto.h',
deps='samba-util samba-hostconfig samba-modules',
private_library=True,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
bld.SAMBA_BINARY('samba',
source='server.c',
@ -22,12 +30,10 @@ bld.SAMBA_BINARY('samba',
deps='''events process_model service samba-hostconfig samba-util POPT_SAMBA PIDFILE
popt gensec registry ntptr ntvfs share cluster COMMON_SCHANNEL SECRETS''',
pyembed=True,
install_path='${SBINDIR}'
install_path='${SBINDIR}',
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
bld.SAMBA_MODULE('process_model_single',
source='process_single.c',
subsystem='process_model',
@ -73,10 +79,3 @@ bld.SAMBA_MODULE('process_model_onefork',
)
bld.SAMBA_LIBRARY('process_model',
source='process_model.c',
autoproto='process_model_proto.h',
deps='samba-util samba-hostconfig samba-modules',
private_library=True
)

View File

@ -437,6 +437,8 @@ static bool test_PACVerify_workstation_des(struct torture_context *tctx,
struct samr_SetUserInfo r;
union samr_UserInfo user_info;
struct dcerpc_pipe *samr_pipe = torture_join_samr_pipe(join_ctx);
#ifdef AD_DC_BUILD_IS_ENABLED
struct smb_krb5_context *smb_krb5_context;
krb5_error_code ret;
@ -448,6 +450,9 @@ static bool test_PACVerify_workstation_des(struct torture_context *tctx,
"allow_weak_crypto", NULL) == FALSE) {
torture_skip(tctx, "Cannot test DES without [libdefaults] allow_weak_crypto = yes");
}
#else
torture_skip(tctx, "Skipping DES test in non-AD DC build");
#endif
/* Mark this workstation with DES-only */
user_info.info16.acct_flags = ACB_USE_DES_KEY_ONLY | ACB_WSTRUST;

View File

@ -478,8 +478,10 @@ NTSTATUS torture_rpc_init(void)
torture_suite_add_suite(suite, torture_rpc_object_uuid(suite));
torture_suite_add_suite(suite, torture_rpc_winreg(suite));
torture_suite_add_suite(suite, torture_rpc_spoolss(suite));
#ifdef AD_DC_BUILD_IS_ENABLED
torture_suite_add_suite(suite, torture_rpc_spoolss_notify(suite));
torture_suite_add_suite(suite, torture_rpc_spoolss_win(suite));
#endif
torture_suite_add_suite(suite, torture_rpc_spoolss_driver(suite));
torture_suite_add_suite(suite, torture_rpc_spoolss_access(suite));
torture_suite_add_simple_test(suite, "samr", torture_rpc_samr);

View File

@ -37,7 +37,8 @@ heimdal_specific['ndr'] = ('','')
heimdal_specific['rpc'] = ('','')
if bld.CONFIG_SET('SAMBA4_USES_HEIMDAL'):
heimdal_specific['ndr'] = (' ndr/backupkey.c','')
heimdal_specific['rpc'] = (' rpc/backupkey.c',' RPC_NDR_BACKUPKEY')
heimdal_specific['rpc'] = (' rpc/backupkey.c rpc/spoolss_notify.c rpc/spoolss_win.c',
' RPC_NDR_BACKUPKEY SMB_SERVER dcerpc_server ntvfs')
bld.SAMBA_SUBSYSTEM('TORTURE_NDR',
source='ndr/ndr.c ndr/winreg.c ndr/atsvc.c ndr/lsa.c ndr/epmap.c ndr/dfs.c ndr/netlogon.c ndr/drsuapi.c ndr/spoolss.c ndr/samr.c ndr/dfsblob.c ndr/drsblobs.c ndr/nbt.c ndr/ntlmssp.c ndr/string.c'+heimdal_specific['ndr'][0],
@ -47,11 +48,11 @@ bld.SAMBA_SUBSYSTEM('TORTURE_NDR',
bld.SAMBA_MODULE('torture_rpc',
source='rpc/join.c rpc/lsa.c rpc/forest_trust.c rpc/lsa_lookup.c rpc/session_key.c rpc/echo.c rpc/dfs.c rpc/drsuapi.c rpc/drsuapi_cracknames.c rpc/dsgetinfo.c rpc/spoolss.c rpc/spoolss_notify.c rpc/spoolss_win.c rpc/spoolss_access.c rpc/unixinfo.c rpc/samr.c rpc/samr_accessmask.c rpc/samr_priv.c rpc/wkssvc.c rpc/srvsvc.c rpc/svcctl.c rpc/atsvc.c rpc/eventlog.c rpc/epmapper.c rpc/winreg.c rpc/initshutdown.c rpc/oxidresolve.c rpc/remact.c rpc/mgmt.c rpc/scanner.c rpc/autoidl.c rpc/countcalls.c rpc/testjoin.c rpc/schannel.c rpc/netlogon.c rpc/remote_pac.c rpc/samlogon.c rpc/samsync.c rpc/multi_bind.c rpc/dssetup.c rpc/alter_context.c rpc/bench.c rpc/samba3rpc.c rpc/rpc.c rpc/async_bind.c rpc/handles.c rpc/frsapi.c rpc/object_uuid.c rpc/ntsvcs.c rpc/browser.c rpc/bind.c '+heimdal_specific['rpc'][0],
source='rpc/join.c rpc/lsa.c rpc/forest_trust.c rpc/lsa_lookup.c rpc/session_key.c rpc/echo.c rpc/dfs.c rpc/drsuapi.c rpc/drsuapi_cracknames.c rpc/dsgetinfo.c rpc/spoolss.c rpc/spoolss_access.c rpc/unixinfo.c rpc/samr.c rpc/samr_accessmask.c rpc/samr_priv.c rpc/wkssvc.c rpc/srvsvc.c rpc/svcctl.c rpc/atsvc.c rpc/eventlog.c rpc/epmapper.c rpc/winreg.c rpc/initshutdown.c rpc/oxidresolve.c rpc/remact.c rpc/mgmt.c rpc/scanner.c rpc/autoidl.c rpc/countcalls.c rpc/testjoin.c rpc/schannel.c rpc/netlogon.c rpc/remote_pac.c rpc/samlogon.c rpc/samsync.c rpc/multi_bind.c rpc/dssetup.c rpc/alter_context.c rpc/bench.c rpc/samba3rpc.c rpc/rpc.c rpc/async_bind.c rpc/handles.c rpc/frsapi.c rpc/object_uuid.c rpc/ntsvcs.c rpc/browser.c rpc/bind.c '+heimdal_specific['rpc'][0],
autoproto='rpc/proto.h',
subsystem='smbtorture',
init_function='torture_rpc_init',
deps='ndr-table RPC_NDR_UNIXINFO dcerpc-samr RPC_NDR_WINREG RPC_NDR_INITSHUTDOWN RPC_NDR_OXIDRESOLVER RPC_NDR_EVENTLOG RPC_NDR_ECHO RPC_NDR_SVCCTL RPC_NDR_NETLOGON dcerpc-atsvc RPC_NDR_DRSUAPI RPC_NDR_LSA RPC_NDR_EPMAPPER RPC_NDR_DFS RPC_NDR_FRSAPI RPC_NDR_SPOOLSS RPC_NDR_SRVSVC RPC_NDR_WKSSVC RPC_NDR_ROT RPC_NDR_DSSETUP RPC_NDR_REMACT RPC_NDR_OXIDRESOLVER RPC_NDR_NTSVCS WB_HELPER samba-net LIBCLI_AUTH POPT_CREDENTIALS TORTURE_LDAP TORTURE_UTIL TORTURE_RAP dcerpc_server service process_model ntvfs RPC_NDR_BROWSER LIBCLI_DRSUAPI TORTURE_DFS SMB_SERVER'+heimdal_specific['rpc'][1],
deps='ndr-table RPC_NDR_UNIXINFO dcerpc-samr RPC_NDR_WINREG RPC_NDR_INITSHUTDOWN RPC_NDR_OXIDRESOLVER RPC_NDR_EVENTLOG RPC_NDR_ECHO RPC_NDR_SVCCTL RPC_NDR_NETLOGON dcerpc-atsvc RPC_NDR_DRSUAPI RPC_NDR_LSA RPC_NDR_EPMAPPER RPC_NDR_DFS RPC_NDR_FRSAPI RPC_NDR_SPOOLSS RPC_NDR_SRVSVC RPC_NDR_WKSSVC RPC_NDR_ROT RPC_NDR_DSSETUP RPC_NDR_REMACT RPC_NDR_OXIDRESOLVER RPC_NDR_NTSVCS WB_HELPER samba-net LIBCLI_AUTH POPT_CREDENTIALS TORTURE_LDAP TORTURE_UTIL TORTURE_RAP service process_model RPC_NDR_BROWSER LIBCLI_DRSUAPI TORTURE_DFS'+heimdal_specific['rpc'][1],
internal_module=True
)

View File

@ -5,6 +5,7 @@ bld.SAMBA_SUBSYSTEM('WEB_WSGI',
source='wsgi.c',
pyext=True,
deps='talloc LIBTSOCKET',
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)
@ -15,4 +16,5 @@ bld.SAMBA_MODULE('service_web',
deps='LIBTLS process_model LIBPYTHON WEB_WSGI',
pyembed=True,
internal_module=False,
enabled=bld.AD_DC_BUILD_IS_ENABLED()
)

15
wscript
View File

@ -32,6 +32,14 @@ def set_options(opt):
opt.RECURSE('source3')
opt.RECURSE('lib/util')
opt.add_option('--with-system-mitkrb5',
help='enable system MIT krb5 build (includes Samba 4 client and Samba 3 code base)',
action='store_true', dest='with_system_mitkrb5', default=False)
opt.add_option('--without-ad-dc',
help='disable AD DC functionality (enables Samba 4 client and Samba 3 code base). Requires system MIT krb5',
action='store_true', dest='with_system_mitkrb5', default=False)
gr = opt.option_group('developer options')
gr.add_option('--enable-build-farm',
help='enable special build farm options',
@ -84,8 +92,11 @@ def configure(conf):
conf.RECURSE('dynconfig')
conf.RECURSE('lib/ldb')
if Options.options.with_mit_krb5_checks:
conf.PROCESS_SEPARATE_RULE('krb5')
if Options.options.with_system_mitkrb5:
conf.PROCESS_SEPARATE_RULE('system_mitkrb5')
else:
conf.DEFINE('AD_DC_BUILD_IS_ENABLED', 1)
# Only process heimdal_build for non-MIT KRB5 builds
# When MIT KRB5 checks are done as above, conf.env.KRB5_VENDOR will be set
# to the lowcased output of 'krb5-config --vendor'.

View File

@ -124,7 +124,8 @@ else:
bld.RECURSE('libcli/smbreadline')
bld.RECURSE('codepages')
bld.RECURSE('source4/setup')
if bld.AD_DC_BUILD_IS_ENABLED():
bld.RECURSE('source4/setup')
bld.RECURSE('source4/scripting')
bld.RECURSE('pidl')
bld.RECURSE('lib')

View File

@ -3,24 +3,40 @@ import Logs, Options
# Check for kerberos
have_gssapi=False
conf.check_cfg(args="--cflags --libs", package="com_err", uselib_store="com_err")
conf.CHECK_FUNCS_IN('_et_list', 'com_err')
conf.CHECK_HEADERS('com_err.h', lib='com_err')
def krb5_define_syslib(conf, lib, deps):
found = 'FOUND_SYSTEMLIB_' + lib
if found in conf.env:
return
conf.SET_TARGET_TYPE(lib, 'SYSLIB')
conf.SET_SYSLIB_DEPS(lib, deps)
conf.env[found] = True
Logs.info("Looking for kerberos features")
conf.find_program('krb5-config.heimdal', var='HEIMDAL_KRB5_CONFIG')
conf.find_program('krb5-config', var='KRB5_CONFIG')
if conf.env.KRB5_CONFIG:
conf.check_cfg(path="krb5-config", args="--cflags --libs",
package="gssapi", uselib_store="KRB5")
package="", uselib_store="KRB5")
krb5_define_syslib(conf, "krb5", conf.env['LIB_KRB5'])
for lib in conf.env['LIB_KRB5']:
krb5_define_syslib(conf, lib, lib)
conf.check_cfg(path="krb5-config", args="--cflags --libs",
package="gssapi", uselib_store="GSSAPI")
krb5_define_syslib(conf, "gssapi", conf.env['LIB_GSSAPI'])
vendor = conf.cmd_and_log("%(path)s --vendor" % dict(path=conf.env.KRB5_CONFIG), dict())
conf.env.KRB5_VENDOR = vendor.strip().lower()
if conf.env.KRB5_VENDOR != 'heimdal':
conf.define('USING_SYSTEM_KRB5', 1)
del conf.env.HEIMDAL_KRB5_CONFIG
conf.check_cfg(args="--cflags --libs", package="com_err", uselib_store="com_err")
conf.CHECK_FUNCS_IN('_et_list', 'com_err')
conf.CHECK_HEADERS('com_err.h', lib='com_err')
conf.CHECK_HEADERS('krb5.h krb5/locate_plugin.h', lib='krb5')
conf.CHECK_HEADERS('gssapi.h gssapi/gssapi_generic.h gssapi/gssapi.h gssapi/gssapi_ext.h gssapi/gssapi_krb5.h', lib='krb5')
conf.CHECK_HEADERS('gssapi.h gssapi/gssapi_generic.h gssapi/gssapi.h gssapi/gssapi_ext.h gssapi/gssapi_krb5.h', lib='gssapi')
conf.CHECK_FUNCS_IN('krb5_encrypt_data', 'k5crypto')
conf.CHECK_FUNCS_IN('des_set_key','crypto')