1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-15 05:57:49 +03:00

90 Commits

Author SHA1 Message Date
Jelmer Vernooij
bf300c8687 r11300: Treat libraries as a special kind of subsystem
(one that can also be built as a library and installed).
(This used to be commit 98d1f9b1dc523ed88c5aa8d066030b33d74f62bf)
2007-10-10 13:45:15 -05:00
Jelmer Vernooij
4c5a4a7e02 r11244: Relative path names in .mk files
(This used to be commit 24e10300906c380919d2d631bfb3b8fd6b3f54ba)
2007-10-10 13:45:06 -05:00
Andrew Tridgell
c8978cb1f1 r10918: - fixed standalone ldb build
- added note about allowedAttributesEffective (will be needed for mmc)

- fixed some more ldb warnings
(This used to be commit e9e4d81b6976549db8a7668572a5da466fbec4a9)
2007-10-10 13:39:43 -05:00
Andrew Tridgell
a599edf04c r10913: This patch isn't as big as it looks ...
most of the changes are fixes to make all the ldb code compile without
warnings on gcc4. Unfortunately That required a lot of casts :-(

I have also added the start of an 'operational' module, which will
replace the timestamp module, plus add support for some other
operational attributes

In ldb_msg_*() I added some new utility functions to make the
operational module sane, and remove the 'ldb' argument from the
ldb_msg_add_*() functions. That argument was only needed back in the
early days of ldb when we didn't use the hierarchical talloc and thus
needed a place to get the allocation function from. Now its just a
pain to pass around everywhere.

Also added a ldb_debug_set() function that calls ldb_debug() plus sets
the result using ldb_set_errstring(). That saves on some awkward
coding in a few places.
(This used to be commit f6818daecca95760c12f79fd307770cbe3346f57)
2007-10-10 13:39:41 -05:00
Jelmer Vernooij
f9447d2a17 r9786: Move ldb_map into ldb/modules/
Move samba3sam to dsdb/
(This used to be commit eb9d615bcd49328131613f64745760a90553b7f2)
2007-10-10 13:35:01 -05:00
Jelmer Vernooij
7e3838dd2d r9685: Add tests for samba3sam mapping module
Fix a couple of bugs
Move samba3sam backend to lib/ldb/
Remove some more unused parameters
(This used to be commit 7f864d446d6af7cfd9fb8dbc496a29b36ec57ce9)
2007-10-10 13:34:41 -05:00
Jelmer Vernooij
98b303e2eb r9595: Add ldb map module
(This used to be commit e0a0d3f092d601a22b7549a0278735e66239b301)
2007-10-10 13:34:33 -05:00
Simo Sorce
5c16371daa r9447: Add a new tool to convert openLdap schema files into an ldif
My first test with nis.schema seem to confirm it works properly

Use a command line like:
oLschema2ldif -I tests/schema/nis.schema -O nis_schema.ldif -b "dc=sambadom,dc=samba,dc=org"
to see how it works.

SSS
(This used to be commit fc373fd4631420c9d8d4087a2c698b08e18372d7)
2007-10-10 13:34:16 -05:00
Jelmer Vernooij
9f611ffdde r8966: Simplify the makefile generation system a bit.
Autogenerate list of binaries (rather then having them hardcoded in build/smb_build/makefile.pm)
Add INSTALLDIR keyword to .mk files
(This used to be commit ce0935112b846486cf705ec69f12350be9c4c89d)
2007-10-10 13:31:00 -05:00
Andrew Bartlett
4396d0d148 r8669: The objectguid module belongs in Samba's ldb module collection, not in
ldb, as it can't build without the NDR and GUID code.

Also make it properly use the NDR encoding for the GUID (I forgot last
time, and used a string), as well as set the dependencies on the
module correctly.

Andrew Bartlett
(This used to be commit 8054abc76e5e3588cebc7fc01062a1223b7f140b)
2007-10-10 13:29:52 -05:00
Andrew Bartlett
2a0cf520e3 r8667: Further simply the provision script, by removing the 'name' attribute.
This is now calculated on the fly for every add and modify.

Andrew Bartlett
(This used to be commit ed1f2e029c840d2b3ecb49dbe6e8cd67588eeeed)
2007-10-10 13:29:52 -05:00
Andrew Bartlett
24d2107324 r8650: Use the timestamps and a new objectguid module rather than placing
boilerplate attributes in every entry in provision.ldif.

The next step will be to use templates.

Andrew Bartlett
(This used to be commit 940ed9827f5ab83b668a60a2b0110567dd54c3e2)
2007-10-10 13:29:50 -05:00
Andrew Tridgell
338c3f8523 r8625: move the ldb_wrap logic into the ldb code. This logic is meant to
avoid the horrors of posix locking, but it was preventing us having an
ldb open twice with different options. Now each ldb open of the same
file shares the same underlying tdb, but uses a different ldb
structure
(This used to be commit 4e090c66dfa1d2764e4693578d3845be3b8893f6)
2007-10-10 13:29:45 -05:00
Andrew Tridgell
a06d66a3a6 r8037: a fairly major update to the internals of ldb. Changes are:
- moved the knowledge of attribute types out of ldb_tdb and into the
   generic ldb code. This allows the ldb_match() message match logic
   to be generic, so it can be used by other backend

 - added the generic ability to load attribute handlers, for
   canonicalisation, compare, ldif read and ldif write. In the future
   this will be used by the schema module to allow us to correctly
   obey the attributetype schema elements

 - added attribute handlers for some of the core ldap attribute types,
   Integer, DirectoryString, DN, ObjectClass etc

 - added automatic registration of attribute handlers for well-known
   attribute names 'cn', 'dc', 'dn', 'ou' and 'objectClass'

 - converted the objectSid special handlers for Samba to the new system

 - added more correct handling of indexing in tdb backend based on the
   attribute canonicalisation function

 - added generic support for subclasses, moving it out of the tdb
   backend. This will be used in future by the schema module

 - fixed several bugs in the dn_explode code. It still needs more
   work, but doesn't corrupt ldb dbs any more.
(This used to be commit 944c5844ab441b96d8e5d7b2d151982139d1fab9)
2007-10-10 13:19:01 -05:00
Jelmer Vernooij
65cc3f5d5c r7958: More debian packaging updates; packages build now with
a few minor issues.

Move ldb manpages one level higher - there is no longer a need to have
subdirectories.
(This used to be commit e8e3524b2394f4107230715ea38fb619332e0251)
2007-10-10 13:18:54 -05:00
Jelmer Vernooij
fa8d539e0f r7943: Add 'make manpages', fix 'make installman' and 'make uninstallman'.
Not part of the "all" make target yet, as it requires xsltproc
(This used to be commit fd3f4636438cf1d9c0dd802064033271b9e4d935)
2007-10-10 13:18:53 -05:00
Simo Sorce
1702f52498 r7936: new ldb_dn_explode and ldb_dn_casefold functions and co
(This used to be commit 7ccf21ab4eeb9821e457308a239f2103a106fb12)
2007-10-10 13:18:52 -05:00
Andrew Tridgell
bdee131f30 r7860: switch our ldb storage format to use a NDR encoded objectSid. This is
quite a large change as we had lots of code that assumed that
objectSid was a string in S- format.

metze and simo tried to convince me to use NDR format months ago, but
I didn't listen, so its fair that I have the pain of fixing all the
code now :-)

This builds on the ldb_register_samba_handlers() and ldif handlers
code I did earlier this week. There are still three parts of this
conversion I have not finished:

 - the ltdb index records need to use the string form of the objectSid
   (to keep the DNs sane). Until that it done I have disabled indexing on
   objectSid, which is a big performance hit, but allows us to pass
   all our tests while I rejig the indexing system to use a externally
   supplied conversion function

 - I haven't yet put in place the code that allows client to use the
   "S-xxx-yyy" form for objectSid in ldap search expressions. w2k3
   supports this, presumably by looking for the "S-" prefix to
   determine what type of objectSid form is being used by the client. I
   have been working on ways to handle this, but am not happy with
   them yet so they aren't part of this patch

 - I need to change pidl to generate push functions that take a
   "const void *" instead of a "void*" for the data pointer. That will
   fix the couple of new warnings this code generates.

Luckily it many places the conversion to NDR formatted records
actually simplified the code, as it means we no longer need as many
calls to dom_sid_parse_talloc(). In some places it got more complex,
but not many.
(This used to be commit d40bc2fa8ddd43560315688eebdbe98bdd02756c)
2007-10-10 13:18:44 -05:00
Andrew Tridgell
5be159f304 r7804: added the samba specific ldif handlers into the tree, but don't enable
them just yet. I have tested them, and they work fine, but enabling
them will break code in rpc_server/ and samdb, so we need to fix that
first
(This used to be commit 07d459406b4c63e49141e0e533e1274b4052abf9)
2007-10-10 13:18:37 -05:00
Andrew Tridgell
c4e7c6e2da r7767: fixed ldb dependencies
(This used to be commit 97e4ba84fb4cf4b95270c5d49b6bb8a9a92feaac)
2007-10-10 13:18:33 -05:00
Andrew Tridgell
f8b60c8b1a r7712: ldb/common/util.c is gone
(This used to be commit aec0544962483b3cd8507b2de6d1552691e72932)
2007-10-10 13:18:25 -05:00
Andrew Tridgell
ed3d8091ce r7709: - convert ldb to use popt, so that it can interact with the samba
cmdline credentials code (which will be done soon)

- added a ldb_init() call, and changed ldb_connect() to take a ldb
  context. This allows for much better error handling in
  ldb_connect(), and also made the popt conversion easier

- fixed up all the existing backends with the new syntax

- improved error handling in *_connect()

- fixed a crash bug in the new case_fold_required() code

- ensured that ltdb_rename() and all ltdb_search() paths get the read lock

- added a ldb_oom() macro to make it easier to report out of memory
  situations in ldb code
(This used to be commit f648fdf187669d6d87d01dd4e786b03cd420f220)
2007-10-10 13:18:24 -05:00
Andrew Tridgell
1f052665f3 r7669: removed ldap from our configure tests
This takes our link dependencies from this:

tridge@blu:~/samba/samba4/source$ ldd bin/ldbsearch
        libdl.so.2 => /lib/tls/libdl.so.2 (0xb7fc9000)
        libldap_r.so.2 => /usr/lib/libldap_r.so.2 (0xb7f92000)
        liblber.so.2 => /usr/local/lib/liblber.so.2 (0xb7f85000)
        libpam.so.0 => /lib/libpam.so.0 (0xb7f7d000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb7e48000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fea000)
        libresolv.so.2 => /lib/tls/libresolv.so.2 (0xb7e36000)
        libcrypt.so.1 => /lib/tls/libcrypt.so.1 (0xb7e09000)
        libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb7df3000)
        libgnutls.so.11 => /usr/lib/libgnutls.so.11 (0xb7d8c000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7d7d000)
        libtasn1.so.2 => /usr/lib/libtasn1.so.2 (0xb7d6d000)
        libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xb7d20000)
        libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0xb7d1c000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7d09000)
        libnsl.so.1 => /lib/tls/libnsl.so.1 (0xb7cf5000)

to this:

tridge@blu:~/samba/samba4/source$ ldd bin/ldbsearch
        libdl.so.2 => /lib/tls/libdl.so.2 (0xb7fc9000)
        libpam.so.0 => /lib/libpam.so.0 (0xb7fc0000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb7e8b000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fea000)

this finally gets rid of the implicit dependency on pthreads! Yay!
(This used to be commit 844d2a20830a4666b6c38f6a58305be64b6b76fa)
2007-10-10 13:18:20 -05:00
Andrew Tridgell
03b0f279ed r7667: added a ldb ildap backend, using our internal ldap client library. Next step is to
remove the check for the ldap libraries in configure
(This used to be commit 74841dbb2a86bb1c584b5c26c4cd24a818a65a34)
2007-10-10 13:18:19 -05:00
Derrell Lipman
ee3f4b12d2 r7438: work in progress
(This used to be commit 2fc5343f0637ef3109b079dbc33d6cf4e58c8d5e)
2007-10-10 13:17:53 -05:00
Derrell Lipman
217a8cfe66 r7282: ldb_sqlite3 work in progress.
(This used to be commit d934c42b00b68e8f4ac9d0583ac307818aeb494f)
2007-10-10 13:17:36 -05:00
Derrell Lipman
a1ba224107 r7276: - moved static tdb function ltdb_dn_fold() into common/ so that it can be
called from multiple backends.  (ldb_sqlite3 needs it too.)  Added parameter
  for a callback function that determines whether an attribute needs case
  folding.
- begin to prepare for sqlite3 in build process
- work-in-progress updates, on ldb_sqlite3
(This used to be commit a80bced0b96ffb655559a43cf7f4d7a34deb5a7d)
2007-10-10 13:17:35 -05:00
Simo Sorce
b92afa3838 r4505: Add a first very basic schema module
To use it you should provide a schema.ldb file where the schema is stored
and load the module in the ldb you want to have schema check activated

more info soon.

currently schema checks are performed only on new object creation not on modifications

Simo.
(This used to be commit b8bb62f14419efd434a344606fb3f753384761a0)
2007-10-10 13:08:16 -05:00
Andrew Tridgell
1a988ec9af r4474: - converted ldb to use talloc internally
- added gcov flags to Makefile.ldb

- expanded ldb test suite to get more coverage
(This used to be commit 0ab98f50a7e0fe15347a99e5c29a6590a87729a0)
2007-10-10 13:07:55 -05:00
Stefan Metzmacher
8a18778286 r3783: - don't use make proto for ldb anymore
- split ldh.h out of samba's includes.h

- make ldb_context and ldb_module private to the subsystem

- use ltdb_ prefix for all ldb_tdb functions

metze
(This used to be commit f5ee40d6ce8224e280070975efc9911558fe675c)
2007-10-10 13:05:52 -05:00
Simo Sorce
679e95db03 r3754: merge in ldb modules support from the tmp branch ldbPlugins
(This used to be commit 71323f424b4561af1fdddd2358629049be3dad8c)
2007-10-10 13:05:51 -05:00
Jelmer Vernooij
8e16d8a76f r3733: More build system fixes/features:
- Use .mk files directly (no need for a SMB_*_MK() macro when adding a new SUBSYSTEM, MODULE or BINARY). This allows addition of new modules and subsystems without running configure
 - Add support for generating .dot files with the Samba4 dependency tree (as used by the graphviz and springgraph utilities)
(This used to be commit 64826da834e26ee0488674e27a0eae36491ee179)
2007-10-10 13:05:47 -05:00
Jelmer Vernooij
7367d23713 r3730: More build system fixes and simplifications
the hierarchy in the init functions is correct now
will also make it easier to implement some other features
(This used to be commit cbe819a75568403ac8850ea4d344c607a46d61c2)
2007-10-10 13:05:47 -05:00
Andrew Tridgell
98f9d5cdf6 r3210: split lib/replace.o into a separate build subsystem LIBREPLACE, and
make the ldb tools depend on it. This should help the build of the ldb
tools on platforms without strnlen() or strndup()
(This used to be commit e6ddb9d8f3a218b22b0176a2525b5daaca7170e4)
2007-10-10 13:04:41 -05:00
Stefan Metzmacher
a9bd405497 r3093: - implment ldb_rename() and ldbrename
- add tests for ldbrename

- disable all tests which regenerate the index
  (this is broken for me...the process hangs,
   tridge we need to discuss that)

- link only the needed stuff to the ldb tools

- build ldbtest inside samba

metze
(This used to be commit 18552f4786c24e0019cc87726ef4c05365fe586e)
2007-10-10 13:02:20 -05:00
Stefan Metzmacher
3cd74a3634 r2087: the ldb tools really don't need LIBSMB!
that reduces the size of thet binaries with '-g' and gcc 3.4
from 5.3 MB to 745 KB:-)

metze
(This used to be commit 037a6d95b4a4640059a10dcbb0a266d15eaf42b3)
2007-10-10 12:58:24 -05:00
Stefan Metzmacher
a2273116fb r728: - let libldb_tdb depend on new subsystem LIBTDB
- remove tdb logging helper functions out of LIBTDB subsystem

- build libtdb shared lib with 'make library_libtdb'

the libs are not usable for now,

tridge: please remove the dependecy of CatchSignal() and smb_panic()
        from libtdb
	maybe use function pointers in the TDB_CONTEXT

	then run make library_libtdb
	and then make build/tests/trivial.o
	and then gcc -o trivial -L./bin -ltdb
	and then gcc -o trivial -L./bin -lldb

metze
(This used to be commit 520b9762161d9b5d5223b42910494af80fd5c1e3)
2007-10-10 12:53:45 -05:00
Stefan Metzmacher
ace1c1f816 r697: make use of SMB_EXT_LIB for LDAP and KRB5
metze
(This used to be commit b054f7d4906d1d2b96b352af09c6bdcf96553c2a)
2007-10-10 12:53:43 -05:00
Stefan Metzmacher
d5ba19d008 r690: - ignore source/tags
- add support for shared libraries

- enable libldb shared lib when --enable-experimental

metze
(This used to be commit dcef69dc54a2575e7f57d67d1983482b4ff57bdb)
2007-10-10 12:53:42 -05:00
Stefan Metzmacher
f236700ef6 r665: merge over the new build system from my tmp branch
to the main SAMBA_4_0 tree.

NOTE: that it's not completely ready, but it's functional:-)

metze
(This used to be commit c78a2ddb28ec50d6570a83b1f66f18a5c3621731)
2007-10-10 12:53:36 -05:00