1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-22 16:23:49 +03:00
Commit Graph

59 Commits

Author SHA1 Message Date
Simo Sorce
692e35b779 r9391: Convert all the code to use struct ldb_dn to ohandle ldap like distinguished names
Provide more functions to handle DNs in this form
2007-10-10 13:33:32 -05:00
Simo Sorce
fac8ff6237 r9385: Remove unused functions 2007-10-10 13:33:31 -05:00
Stefan Metzmacher
83d65d0d7e r9240: - move struct security_token to the idl file, with this we can
the ndr_pull/push/print functions for it in the ntacl-lsm module

- fix compiler warnings in the ldap_encode_ndr_* code

metze
2007-10-10 13:31:37 -05:00
Stefan Metzmacher
f8a25ac239 r9208: fix a crash bug
metze
2007-10-10 13:31:31 -05:00
Jelmer Vernooij
fac77f5fa2 r8811: Fix the build.. 2007-10-10 13:30:07 -05:00
Rafal Szczesniak
bc638cc3d6 r8810: Fix missing headers. Still doesn't fix the build but getting closer there.
rafal
2007-10-10 13:30:07 -05:00
Andrew Bartlett
5f51d806d7 r8791: (missing from previous commit)
Add templating support for foreignSecurityPrincipal to the samdb
module.

Andrew Bartltt
2007-10-10 13:30:06 -05:00
Andrew Bartlett
0cc58f5c3c r8740: Extend the rdn_name module to handle adding the rdn as an attribute. ie:
dn: cn=foo,ou=bar
objectClass: person

implies

dn: cn=foo,ou=bar
objectClass: person
cn: foo
(as well as a pile more default attributes)

We also correct the case in the attirbute to match that in the DN
(win2k3 behaviour) and I have a testsuite (in ejs) to prove it.

This module also found a bug in our provision.ldif, so and reduces
code complexity in the samdb module.

Andrew Bartlett
2007-10-10 13:30:00 -05:00
Andrew Tridgell
c6bae3e87e r8715: - revert the %PRIi64 stuff. Tim, we explicitly check for %llu support
in configure, and replace snprintf if the system doesn't support
  it. Our replacement code does not handle the "%PRIi64" stuff, so
  using it would break us on lots of platforms

- fixed constant array initialisers to work on HPUX.
2007-10-10 13:29:58 -05:00
Tim Potter
1d2b708da6 r8714: Oops - get it right this time! 2007-10-10 13:29:58 -05:00
Tim Potter
7b316f119b r8713: Experiment to try and fix warnings on 64-bit machines without breaking
32-bit ones.  Yes, this weird looking macros are part of C99.
2007-10-10 13:29:57 -05:00
Andrew Bartlett
da48e77e7c r8674: With the rdn_name module, we don't need this duplication in the samdb
module any more.

Andrew Bartlett
2007-10-10 13:29:53 -05:00
Andrew Bartlett
8054abc76e 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
2007-10-10 13:29:52 -05:00
Andrew Bartlett
e03e00fe60 r8666: The same fix as the last commit, I was caught out on a move from a
BOOL to int function return.

Andrew Bartlett
2007-10-10 13:29:51 -05:00
Andrew Bartlett
1982fdb6f3 r8664: I got caught out not testing...
I replaced these function calls, and they went from BOOL to int return
values, so naturally failed.

Andrew Bartlett
2007-10-10 13:29:51 -05:00
Andrew Bartlett
2408f32276 r8663: Since simo constructed the samdb module, he and tridge have worked on
a DN parsing system.  Leverage that in the dsdb module.

Andrew Bartlett
2007-10-10 13:29:51 -05:00
Andrew Bartlett
4a8ef7197f r8660: Use templates for the initial provision of user and computer accounts.
This ensures the templating code is used, and also makes it clearer
what I need to duplicate in the vampire area.

Also fix a silly bug in the template application code (the samdb
module) that caused templates to be compleatly unused (my fault, from
my commit last night).

Andrew Bartlett
2007-10-10 13:29:51 -05:00
Andrew Bartlett
940ed9827f 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
2007-10-10 13:29:50 -05:00
Andrew Tridgell
d8d47bb18f r8568: change missing templates to warnings, so that provisioning with an existing db
doesn't print lots of fatal errors
2007-10-10 13:29:39 -05:00
Andrew Tridgell
a58ea6b385 r8520: fixed a pile of warnings from the build farm gcc -Wall output on
S390. This is an attempt to avoid the panic we're seeing in the
automatic builds.

The main fixes are:

 - assumptions that sizeof(size_t) == sizeof(int), mostly in printf formats

 - use of NULL format statements to perform dn searches.

 - assumption that sizeof() returns an int
2007-10-10 13:29:34 -05:00
Volker Lendecke
126cb3db4b r8321: Fix some uninitalized variable warnings 2007-10-10 13:20:06 -05:00
Stefan Metzmacher
e6c39241bf r8224: - add objectGUID ldif_handler
- fix some compiler warnings

metze
2007-10-10 13:19:21 -05:00
Andrew Tridgell
0bfd91c32a r7925: small tidyup (please keep lines at a reasonable length) 2007-10-10 13:18:51 -05:00
Andrew Tridgell
616f54015f r7864: fixed some const bugs 2007-10-10 13:18:44 -05:00
Andrew Tridgell
d40bc2fa8d 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.
2007-10-10 13:18:44 -05:00
Andrew Tridgell
f267e9d5b7 r7783: the whenChanged attribute is now handled by the timestamps module, and
should not be handled here as well. I had to remove it from here as it
was buggy anyway (it wasn't setting the modify flags, this making an
invalid ldb_modify() request)
2007-10-10 13:18:36 -05:00
Andrew Tridgell
3bdf89b0f7 r7763: fixed some circular dependencies 2007-10-10 13:18:32 -05:00
Simo Sorce
b38bb63175 r7615: fix the build and simplify gendb_search_dn 2007-10-10 13:18:14 -05:00
Simo Sorce
a614466dec r7582: Better way to have a fast path searching for a specific DN.
Old way was ugly and had a bug, you couldn't add an attribute named
dn or distinguishedName and search for it, tdb would change that search in a dn search.
This makes it also possible to search by dn against an ldap server as the old method was
not supported by ldap syntaxes.

sss
2007-10-10 13:18:11 -05:00
Andrew Tridgell
96620ab2ee r7527: - added a ldb_search_bytree() interface, which takes a ldb_parse_tree
instead of a search expression. This allows our ldap server to pass
  its ASN.1 parsed search expressions straight to ldb, instead of going
  via strings.

- updated all the ldb modules code to handle the new interface

- got rid of the separate ldb_parse.h now that the ldb_parse
  structures are exposed externally

- moved to C99 structure initialisation in ldb

- switched ldap server to using ldb_search_bytree()
2007-10-10 13:18:06 -05:00
Simo Sorce
4f0948dab0 r6470: Remove ldb_search_free() it is not needed anymore.
Just use talloc_free() to release the memory after an ldb_search().
2007-10-10 13:11:40 -05:00
Simo Sorce
fb9afcaf53 r6084: - Introduce the samldb module dependency on samba4
- This module will take care of properly filling an user or group object
  with required fields. You just need to provide the dn and the objectclass
  and a user/group get created

  Simo.
2007-10-10 13:11:18 -05:00
Andrew Bartlett
e13c671619 r5988: Fix the -P option (use machine account credentials) to use the Samba4
secrets system, and not the old system from Samba3.

This allowed the code from auth_domain to be shared - we now only
lookup the secrets.ldb in lib/credentials.c.

In order to link the resultant binary, samdb_search() has been moved
from deep inside rpc_server into lib/gendb.c, along with the existing
gendb_search_v().  The vast majority of this patch is the simple
rename that followed,

(Depending on the whole SAMDB for just this function seemed pointless,
and brought in futher dependencies, such as smbencrypt.c).

Andrew Bartlett
2007-10-10 13:11:12 -05:00
Simo Sorce
b67512c513 r5588: We currently use a string representing an hex number so conform to that.
But we should move to a signed integer in future to be AD compatible.
2007-10-10 13:10:55 -05:00
Simo Sorce
acb99e63d4 r5587: more work around the samldb module
fix the provision.ldif the layout of the @MODULES dn has changed since last commit
2007-10-10 13:10:55 -05:00
Simo Sorce
d58be9e74b r5585: LDB interfaces change:
changes:
- ldb_wrap disappears from code and become a private structure of db_wrap.c
  thanks to our move to talloc in ldb code, we do not need to expose it anymore

- removal of ldb_close() function form the code
  thanks to our move to talloc in ldb code, we do not need it anymore
  use talloc_free() to close and free an ldb database

- some minor updates to ldb modules code to cope with the change and fix some
  bugs I found out during the process
2007-10-10 13:10:55 -05:00
Simo Sorce
e77a070c84 r5584: add new experimental ldb module 2007-10-10 13:10:55 -05:00
Andrew Tridgell
196c45b834 r5309: removed ads.h from includes.h 2007-10-10 13:09:40 -05:00
Andrew Tridgell
826baec7b3 r5307: removed db_wrap.h from includes.h 2007-10-10 13:09:40 -05:00
Andrew Tridgell
9db6c79e90 r5298: - got rid of pstring.h from includes.h. This at least makes it a bit
less likely that anyone will use pstring for new code

 - got rid of winbind_client.h from includes.h. This one triggered a
   huge change, as winbind_client.h was including system/filesys.h and
   defining the old uint32 and uint16 types, as well as its own
   pstring and fstring.
2007-10-10 13:09:38 -05:00
Andrew Tridgell
ec32b22ed5 r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for the
large commit. I thought this was worthwhile to get done for
consistency.
2007-10-10 13:09:15 -05:00
Andrew Bartlett
a43f7392f7 r4766: Add another useful helper function: samdb_msg_set_value()
Andrew Bartlett
2007-10-10 13:08:51 -05:00
Andrew Bartlett
271c8faadf r4698: - Initial implementation of trusted domains in LSA.
- Use templates for Secrets and the new trusted domains

 - Auto-add modifiedTime, createdTime and objectGUID to records in the
   samdb layer.

Andrew Bartlett
2007-10-10 13:08:44 -05:00
Andrew Bartlett
f40e794902 r4679: Remove the void* from samdb. We now use structures without full
declarations all the time, and the struture the void* is hiding here
is even a declared one, so there is no excuse.  This also causes the
compiler to warn on bugs.

Andrew Bartlett
2007-10-10 13:08:42 -05:00
Stefan Metzmacher
b6543a6e30 r4650: - make more use of bitmap and enum's
- move some structs out of misc.idl

metze
2007-10-10 13:08:39 -05:00
Andrew Tridgell
6e7754abd0 r4591: - converted the other _p talloc functions to not need _p
- added #if TALLOC_DEPRECATED around the _p functions

- fixes the code that broke from the above

while doing this I fixed quite a number of places that were
incorrectly using the non type-safe talloc functions to use the type
safe ones. Some were even doing multiplies for array allocation, which
is potentially unsafe.
2007-10-10 13:08:30 -05:00
Stefan Metzmacher
c2523adc0a r4568: make use of SidType and move it to lsa.idl
metze
2007-10-10 13:08:28 -05:00
Andrew Tridgell
89b74b5354 r4549: got rid of a lot more uses of plain talloc(), instead using
talloc_size() or talloc_array_p() where appropriate.

also fixed a memory leak in pvfs_copy_file() (failed to free a memory
context)
2007-10-10 13:08:25 -05:00
Andrew Tridgell
e6c81d7c9f r4547: - added talloc_new(ctx) macro that is a neater form of the common talloc(ctx, 0) call.
- cleaned up some talloc usage in various files

I'd like to get to the point that we have no calls to talloc(), at
which point we will rename talloc_p() to talloc(), to encourage
everyone to use the typesafe functions.
2007-10-10 13:08:20 -05:00
Stefan Metzmacher
bd06a85cb7 r4532: - rename bitmap -> bits
the next commit is support for typedef bitmap {...}; in pidl

metze
2007-10-10 13:08:19 -05:00