1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-27 03:21:53 +03:00
Commit Graph

47 Commits

Author SHA1 Message Date
Alexander Bokovoy
2ddf89a2bc 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.
2012-05-23 17:51:50 +03:00
Michael Adam
e945511aae move the dbwrap library to the top level
Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Mon May 14 04:04:55 CEST 2012 on sn-devel-104
2012-05-14 04:04:55 +02:00
Michael Adam
e75a9c1ad8 s4:lib: remove unused wscript_build file
This only contains a "GENCACHE" subsystem that is not
referenced anywhere.
2012-05-11 20:16:38 +02:00
Günther Deschner
5f05eacd27 allow to use system iniparser library.
Guenther

Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Wed May  9 17:38:33 CEST 2012 on sn-devel-104
2012-05-09 17:38:33 +02:00
Andrew Bartlett
9712912dfc testsuite/libsmbclient: Remove unused and expensive-to-link testsuite
This testsuite never got off the ground, and unlike the other
libsmbclient tests, it is not integrated into make test, has no driver
script we could integrate.

As it has been in this state for 10 years, and adding it to the compile
did not find any link-time issues (particularly in comparison to the
link-time cost for so many individual binaries), I am now removing them.

The libsmbclient examples are seperate to this, and remain in
examples/libsmbclient.

Andrew Bartlett
2012-05-02 10:53:51 +10:00
Simo Sorce
08c733d75f Make krb5 wrapper library common so they can be used all over 2012-04-23 19:20:38 -04:00
Alexander Bokovoy
4291fdcf39 waf: move krb5 checks to a separate waf file
With PROCESS_SEPARATE_RULE in wafsamba it is now possible to simplify
configuration and checks for MIT/Heimdal Kerberos implementations.

1. Move MIT krb5 checks from source3/wscript to wscript_configure_krb5
2. Make sure they are called same way (--with-mit-krb5-checks)
3. If no configure checks identified MIT krb5 in system (or were disabled),
   make sure Heimdal build is selected, embedded (default) or system-provided.

This makes logic of configuration unchanged for Heimdal builds but adds
less hacky way to use MIT krb5 builds. The latter does not work yet as we
need to untangle more subsystems from HDB/Heimdal-specific details but
lays out a foundation for that.

Signed-off-by: Simo Sorce <idra@samba.org>
2012-04-23 16:38:43 -04:00
Alexander Bokovoy
89e998412f waf: samba-specific methods should have capitalized names, change process_separate_rule to follow
Changing process_separate_rule to PROCESS_SEPARATE_RULE.

Thanks Thomas Nagy for review.

Autobuild-User: Alexander Bokovoy <ab@samba.org>
Autobuild-Date: Sat Apr 14 08:55:43 CEST 2012 on sn-devel-104
2012-04-14 08:55:43 +02:00
Alexander Bokovoy
1a8405c320 wafsamba: add support for separate rules in stages
bld.process_separate_rule(rule) and conf.process_separate_rule(rule)
will cause WAF to import wscript_<stage>_<rule> script into current
context.

Files wscript_<configure|build>_<rule> should exist in the current
directory.

This can be used to provide rules specific for alternative
implementations of certain libraries

Autobuild-User: Alexander Bokovoy <ab@samba.org>
Autobuild-Date: Fri Apr 13 18:34:39 CEST 2012 on sn-devel-104
2012-04-13 18:34:39 +02:00
Günther Deschner
d82aab6c70 waf: when building with system krb5, we do not need to build local heimdal.
Guenther

Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-12 12:06:41 +02:00
Kai Blin
10b14fa1c0 s4 dns: Add a simple dns lookup helper 2012-03-27 16:03:15 +02:00
Kai Blin
7566e6a534 s4 dns: Add a simple async client library 2012-03-27 16:03:07 +02:00
Jelmer Vernooij
ce4531ee31 tdb_wrap: Move to specific directory.
It's a bit confusing to mix low-level and high-level libraries.  We had
multiple libraries in one directory, and there were have circular
dependencies with other libraries outside that directory (in this case,
samba-hostconfig).

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sat Mar 10 23:13:01 CET 2012 on sn-devel-104
2012-03-10 23:13:01 +01:00
Andrew Tridgell
8db121be42 s3fs: added file_server directory
this contains a file server backend that forks and starts smbd

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2012-02-28 12:01:08 +01:00
Andrew Bartlett
c9d929af8b s4-lsarpc handle more info levels in SetInfoTrustedDomain calls
This uses the very helpful conversion functions written for the s3 lsa server
and places these in common.

Andrew Bartlett
2011-12-12 12:57:07 +01:00
Andrew Bartlett
3ae478be0f build: compile (but do not install) all the libsmbclient tests
Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Thu Oct 20 13:49:39 CEST 2011 on sn-devel-104
2011-10-20 13:49:39 +02:00
Stefan Metzmacher
f697956dcb dfs_server: add generic dfs_server_ad_get_referrals() call
This is a generic function to implement the domain, dc and sysvol
DFS referrals.

metze
2011-10-08 01:43:38 +02:00
Andrew Bartlett
36b2227eca ldb: use ldb directly rather than via a copy
This avoids needing to manually sync the two files, which due to the
top level build must be API compatible at all times anyway.

The most important recent change was:

commit e3b76bd620
Author: Andrew Tridgell <tridge@samba.org>
Date:   Thu Jul 28 15:51:31 2011 +1000

    ldb: fixed a search expression parse bug

However, as we always control the search expression in the callers to
this code, no backport to other releases is required.

Andrew Bartlett
2011-10-07 17:45:20 +11:00
Andrew Bartlett
055f017b36 build: Reduce build systems to just top level waf and autoconf
The s3-waf build system is a key component of the top level build, but
with this commit is is no longer available directly.  This reduces the
number of build system combinations in master as we prepare for the
Samba 4.0 release.

Andrew Bartlett
2011-10-07 17:42:03 +11:00
Günther Deschner
bd5445ee4f waf: restore libsmbclient handling.
This is a temporary solution to get libsmbclient installed properly as a library
(including symlinks and proper symbols). I was not able to make the old internal
library name 'libsmb/smbclient' work together with "realname" and/or "link_name".
Maybe one of the waf gurus has more ideas here.

Guenther

Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Thu Sep 15 15:31:59 CEST 2011 on sn-devel-104
2011-09-15 15:31:59 +02:00
Andrew Bartlett
30e11d55b5 build: Add duplicate symbol checking as part of make test
This ensures we do not get duplicate symbols again, when run as
./configure.developer on non-build farm machines.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Thu Sep  8 13:37:40 CEST 2011 on sn-devel-104
2011-09-08 13:37:40 +02:00
Amitay Isaacs
e2af384151 samba-tool: Remove C version of samba-tool
Python version of samba-tool has now implemented all the commands
from C version and more.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2011-08-03 14:26:11 +10:00
Stefan Metzmacher
c6ece60405 dynconfig: rework the logic to support --enable-fhs
This reorders the data structure which represents the options
to build a more useful hierachy. This makes it more obvious
which defaults values are used in the 'STD' and 'FHS' flavors.

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Wed Jul 13 09:33:21 CEST 2011 on sn-devel-104
2011-07-13 09:33:21 +02:00
Stefan Metzmacher
008757de43 Revert "s4-build Change default paths and --with flags for a 4.0 release"
This reverts commit edd3e8b03a.
2011-07-13 08:22:37 +02:00
Andrew Bartlett
cda8686940 lib/param: Merge struct loadparm_service into common
This is handled by a common header and a .c file that is included into
both loadparm.c files.

In the process, _lp functions were renamed to lp__ to allow the common
function definition declarations to be used by source3 and source4
(which have different macro definitions).

The only parameter to change type is 'strict_locking' which was a
bool, and is now an int, to accommodate the 'Auto' value from source3.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Fri Jul  8 12:35:56 CEST 2011 on sn-devel-104
2011-07-08 12:35:56 +02:00
Andrew Bartlett
44a016cd89 build: we no longer put #if _SAMBA_BUILD_ == 4 in public headers
Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Wed Jul  6 06:46:50 CEST 2011 on sn-devel-104
2011-07-06 06:46:50 +02:00
Andrew Bartlett
8420a36dc7 ldb: make ldb a top level library for Samba 4.0
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-07-05 17:24:47 +10:00
Andrew Bartlett
35a9c23a01 build: move dynconfig for top level build up
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-06-21 15:54:22 +10:00
Rusty Russell
0e4c358e27 tdb_compat.h: divert every tdb build and includes to tdb_compat
We change all the headers and wscript files to use tdb_compat; this
means we have one place to decide whether to use TDB1 or TDB2.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2011-06-20 11:18:34 +02:00
Rusty Russell
61bf43f5d1 lib/tdb_compat: header for tdb1 vs tdb2.
TDB2's API is slightly different from TDB1.  In particular, all functions
return 0 (TDB_SUCCESS) or a negative error number, rather than -1 or tdb_null
and storing the error in tdb_error() (though TDB2 does that as well).

The simplest fix is to replace all the different functions with a wrapper,
and that is done here.

Compatibility functions:

tdb_null: not used as an error return, so not defined by tdb2.
tdb_fetch_compat: TDB1-style data-returning tdb_fetch.
tdb_firstkey_compat: TDB1-style data-returning tdb_firstkey
tdb_nextkey_compat: TDB1-style data-returning tdb_nextkey, with
	TDB2-style free of old key.
tdb_errorstr_compat: TDB1-style tdb_errorstr() which takes TDB instead of ecode.
TDB_CONTEXT: TDB1-style typedef for struct tdb_context.
tdb_open_compat: Simplified open routine which takes log function, sets
	TDB_ALLOW_NESTING as Samba expects, and adds TDB_CLEAR_IF_FIRST support.

Things defined away in TDB2 wrappers:

tdb_traverse_read: TDB2's tdb_traverse only uses read-locks anyway.
tdb_reopen/tdb_reopen_all: TDB2 detects this error itself.
TDB_INCOMPATIBLE_HASH: TDB2 uses the Jenkins hash already.
TDB_VOLATILE: TDB2 shouldn't have freelist scaling issues.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2011-06-20 11:18:34 +02:00
Rusty Russell
754c677b0b lib: import ccan modules for tdb2
Imported from git://git.ozlabs.org/~ccan/ccan init-1161-g661d41f

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2011-06-20 11:18:34 +02:00
Andrew Bartlett
edd3e8b03a s4-build Change default paths and --with flags for a 4.0 release
The following changes are made since Samba 3.6:

* --with-ncalrpcdir and --with-nmbdsocketdir are replaced with --with-socket-dir
  (with ntp_signd, winbindd, nmbd subdirs)

* This moves the winbind socket out of /tmp.  Distributions have moved
  this out of /tmp for quite some time now, and /var/run in the FHS
  blessed location these days.  --with-socketdir should point to
  /var/run in a distribution package.

* Configuration files are expected in PREFIX/etc instead of PREFIX/lib
  (they need to be moved manually)

* SWAT data files have moved to PREFIX/share/swat (alongside
  PREFIX/share/setup containing samba4 provision templates).

* The --with-fhs option is no longer available (it was never very
  useful, and major distributions (Debian, OpenSuSE, Fedora) either
  specified every option (overriding the effect) or didn't specify it
  at all.

* PID files are now in PREFIX/var/run, moved from PREFIX/var/locks

* The ncalrpc and nmbd sockets are now in PREFIX/var/run by default

The following changes are made for users of Samba3 binaries built with the top level build in master

* 'state' files are now expected to be in their Samba 3.6 location
  PREFIX/var/locks (and will need to be moved manually)

Andrew Bartlett

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-06-20 14:05:32 +10:00
Andrew Tridgell
d2bc45e7ff build: only use the git version on install, not in the build tree
having the git version in our version.h in the build tree is annoying
for developers, as every time you commit or rebase you need to spend
several minutes re-linking. This changes it to use the git version
only on install, which is much more useful as when you actually
install the binaries you may be using them in a way that reporting the
version is useful

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Fri Jun 17 08:37:06 CEST 2011 on sn-devel-104
2011-06-17 08:37:06 +02:00
Andrew Bartlett
14f99167f6 build: Remove --disable-s3build so we can rely on these subsystems
This will make it easier to write code that uses the whole codebase.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Mon May  9 12:25:33 CEST 2011 on sn-devel-104
2011-05-09 12:25:33 +02:00
Andrew Bartlett
f346a73785 lib/socket move interfaces code to the top level 2011-05-08 12:57:04 +02:00
Andrew Bartlett
f96793142d build: put doserr.c into it's own subsystem, so it's no longer a duplicate
Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Fri Apr 29 10:00:32 CEST 2011 on sn-devel-104
2011-04-29 10:00:32 +02:00
Andrew Bartlett
6ec4306f8c auth/kerberos: Create common helper to get the verified PAC from GSSAPI
This only works for Heimdal and MIT Krb5 1.8, other versions will get
an ACCESS_DEINED error.

We no longer manually verify any details of the PAC in Samba for
GSSAPI logins, as we never had the information to do it properly, and
it is better to have the GSSAPI library handle it.

Andrew Bartlett
2011-04-27 11:56:48 +10:00
Andrew Tridgell
f303db5bfd build: force _SAMBA_BUILD_==4 to be true in public headers
for s4 public headers, this is always true
2011-03-15 12:22:20 +11:00
Andrew Tridgell
c3f04a9f35 build: mark some private includes as OK in public headers
these are includes which are protected by #ifdefs which means they
don't get exposed to public users
2011-03-15 12:22:19 +11:00
Andrew Tridgell
ba9ae79e0b build: added automated testing of our public headers
we generate test_headers.h, which includes all of our public headers,
and check it compiles
2011-03-15 12:22:19 +11:00
Andrew Tridgell
4f52becec1 build: install public headers in the build tree
this symlinks our public headers into the build tree, which will allow
us to refer to the public headers by their public name inside the
source tree.
2011-03-15 12:22:18 +11:00
Andrew Tridgell
11a97d60d9 build: moved util_reg.c into a common subsystem
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Thu Feb 24 05:53:52 CET 2011 on sn-devel-104
2011-02-24 05:53:52 +01:00
Andrew Tridgell
94c04b10db build: moved libds/common/flag_mapping.c into a common subsystem
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-24 11:57:48 +11:00
Andrew Tridgell
1bf4ff2ab2 s4-waf: added --enable-s3build configure option
this enables the build of the s3 binaries in the toplevel build

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-22 02:51:10 +01:00
Andrew Tridgell
ff8762e7fe s3build: recurse into source3/
we can now use common build rules

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-22 02:51:09 +01:00
Andrew Bartlett
4cfee6f88e auth Move auth_sam_reply into the top level.
These functions provide conversions between some netlogon.idl and
auth.idl structures

Andrew Bartlett

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-02-10 06:51:06 +01:00
Andrew Tridgell
72e1a39eff waf: added top level build rules
This adds build rules for the top level directory based on the ones
from source4.

This is an intermediate step towards a combined top level build which
will build both the Samba3 (bin/smbd, bin/nmbd etc) and Samba4
(bin/samba) binaries from a single build

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-07 13:22:00 +11:00