1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-27 14:04:05 +03:00

397 Commits

Author SHA1 Message Date
Andrew Bartlett
d471e52d23 r20149: Remove the smb.conf distinction between PDC and BDC. Now the correct
way to setup a Samba4 DC is to set 'server role = domain controller'.

We use the fSMORoleOwner attribute in the base DN to determine the PDC.

This patch is quite large, as I have corrected a number of places that
assumed taht we are always the PDC, or that used the smb.conf
lp_server_role() to determine that.

Also included is a warning fix in the SAMR code, where the IDL has
seperated a couple of types for group display enumeration.

We also now use the ldb database to determine if we should run the
global catalog service.

In the near future, I will complete the DRSUAPI
DsGetDomainControllerInfo server-side on the same basis.

Andrew Bartlett
(This used to be commit 67d8365e831adf3eaecd8b34dcc481fc82565893)
2007-10-10 14:29:15 -05:00
Simo Sorce
ea212eb00f r20034: Start using ldb_search_exp_fmt()
(This used to be commit 4f07542143ddf5066f0360d965f26a8470504047)
2007-10-10 14:28:51 -05:00
Simo Sorce
353b968025 r19869: fix memleaks
(This used to be commit 3a662a2d985bf801284c5dc1123dec6705e6d092)
2007-10-10 14:28:28 -05:00
Simo Sorce
a9e31b33b5 r19832: better prototypes for the linearization functions:
- ldb_dn_get_linearized
  returns a const string

- ldb_dn_alloc_linearized
  allocs astring with the linearized dn
(This used to be commit 3929c086d5d0b3f08b1c4f2f3f9602c3f4a9a4bd)
2007-10-10 14:28:22 -05:00
Simo Sorce
4889eb9f7a r19831: Big ldb_dn optimization and interfaces enhancement patch
This patch changes a lot of the code in ldb_dn.c, and also
removes and add a number of manipulation functions around.

The aim is to avoid validating a dn if not necessary as the
validation code is necessarily slow. This is mainly to speed up
internal operations where input is not user generated and so we
can assume the DNs need no validation. The code is designed to
keep the data as a string if possible.

The code is not yet 100% perfect, but pass all the tests so far.
A memleak is certainly present, I'll work on that next.

Simo.
(This used to be commit a580c871d3784602a9cce32d33419e63c8236e63)
2007-10-10 14:28:22 -05:00
Andrew Bartlett
c9035c6633 r19757: Don't do the strrchr twice. Pointed out by Martin Kuhl.
Andrew Bartlett
(This used to be commit c4bf9cc09b36d8dcc465608b55bbf5dc07aed9e4)
2007-10-10 14:28:19 -05:00
Andrew Bartlett
84138215ca r19732: The 'res' from ldb_search is only valid if the call returns LDB_SUCCESS.
This seems to show up (as an abort() from talloc) particularly under
ldb_ildap.

Andrew Bartlett
(This used to be commit 9890af534d845d471d2a98268c408a907b29e016)
2007-10-10 14:28:15 -05:00
Andrew Bartlett
adae413042 r19731: Modify the ldb_map infrustructure to always map from requested
attributes to backend (remote) attributes.

We can't do a reverse mapping safely where the remote attribute may be
a source for multiple local attributes.  (We end up with the wrong
attributes returned).

In doing this, I've modified the samba3sam.js test to be more
realistic, and fixed some failures in the handling of primaryGroupID.

I've added a new (private) helper function ldb_msg_remove_element() to
avoid a double lookup of the element name.

I've also re-formatted many of the function headers, to fit into
standard editor widths.

Andrew Bartlett
(This used to be commit 186766e3095e71ba716c69e681592e217a3bc420)
2007-10-10 14:28:15 -05:00
Stefan Metzmacher
76d0193bf3 r19726: when a client explicit asks for the 'netlogon' attriubute on LDAP
the result entry is skipped!

metze
(This used to be commit 62aa73f3d56596780fc82fecbc99c688ecbf5b08)
2007-10-10 14:28:14 -05:00
Andrew Bartlett
3c1e780ec7 r19604: This is a massive commit, and I appologise in advance for it's size.
This merges Samba4 with lorikeet-heimdal, which itself has been
tracking Heimdal CVS for the past couple of weeks.

This is such a big change because Heimdal reorganised it's internal
structures, with the mechglue merge, and because many of our 'wishes' have been granted:  we now have DCE_STYLE GSSAPI, send_to_kdc hooks and many other features merged into the mainline code.  We have adapted to upstream's choice of API in these cases.

In gensec_gssapi and gensec_krb5, we either expect a valid PAC, or NO
PAC.  This matches windows behavour.  We also have an option to
require the PAC to be present (which allows us to automate the testing
of this code).

This also includes a restructure of how the kerberos dependencies are
handled, due to the fallout of the merge.

Andrew Bartlett
(This used to be commit 4826f1735197c2a471d771495e6d4c1051b4c471)
2007-10-10 14:25:03 -05:00
Andrew Bartlett
13dbee3ffe r19598: Ahead of a merge to current lorikeet-heimdal:
Break up auth/auth.h not to include the world.

Add credentials_krb5.h with the kerberos dependent prototypes.

Andrew Bartlett
(This used to be commit 2b569c42e0fbb596ea82484d0e1cb22e193037b9)
2007-10-10 14:25:00 -05:00
Simo Sorce
b7774527fa r19531: Make struct ldb_dn opaque and local to ldb_dn.c
(This used to be commit 889fb983ba1cf8a11424a8b3dc3a5ef76e780082)
2007-10-10 14:24:44 -05:00
Andrew Bartlett
899ae849e8 r19522: Remove gensec and credentials dependency from the rootdse module (less
dependency loops).

This moves the evaluation of the SASL mechansim list to display in the
rootDSE to the ldap server.

Andrew Bartlett
(This used to be commit 379da475e224d93c05d91b37902c121eb4007d97)
2007-10-10 14:24:44 -05:00
Jelmer Vernooij
4fa24df98d r19507: Merge my DSO fixes branch. Building Samba's libraries as shared libraries
works again now, by specifying --enable-dso to configure.
(This used to be commit 7a01235067a4800b07b8919a6a475954bfb0b04c)
2007-10-10 14:24:41 -05:00
Simo Sorce
7f833458ca r19489: Change ldb_msg_add_value and ldb_msg_add_empty to take a foruth argument.
This is a pointer to an element pointer. If it is not null it will be
filled with the pointer of the manipulated element.
Will avoid double searches on the elements list in some cases.
(This used to be commit 0fa5d4bc225b83e9f63ac6d75bffc4c08eb6b620)
2007-10-10 14:24:38 -05:00
Andrew Bartlett
9542481727 r19464: Reject passwords that cannot be converted into UCS2.
Andrew Bartlett
(This used to be commit c843fce7a0e9b91c4d2de44e7a9ad9599b33ec5c)
2007-10-10 14:21:37 -05:00
Simo Sorce
fd82e3f39b r19337: never alloc on module unless you mean to attach a context to
it to keep the data around as long as the module lives
(This used to be commit d2073c1f7e1bc674358df5da0dc09e183b4b8712)
2007-10-10 14:21:12 -05:00
Simo Sorce
d9cb938dcd r19333: commit module changes I made some time ago before I loose them
(This used to be commit 524ec78086597e0507cb6ce307155ef1b6a47836)
2007-10-10 14:21:11 -05:00
Simo Sorce
549dd10f0f r19332: ldb_parse_tree leaks
(This used to be commit 3e0e2787c1da1c3831e21b163e1370001d725a3d)
2007-10-10 14:21:11 -05:00
Simo Sorce
56bacd2b44 r19330: Fix memleaks
(This used to be commit f163f422e3f201d8b0e22538949eccf0f7e62143)
2007-10-10 14:21:10 -05:00
Andrew Tridgell
8b60b7fa2a r19329: fixed a leak in the password hash module
(This used to be commit 3f48bcb0585684686ba7601eb7614589a1bc2f5d)
2007-10-10 14:21:10 -05:00
Andrew Tridgell
86a549eaca r19328: another leak plugged ....
(This used to be commit f57535b9c2214e58c71084fcb9d74848e7d26b89)
2007-10-10 14:21:10 -05:00
Andrew Bartlett
bd8f63a617 r19321: Merge from release branch:
Always set the krb5key from the ntPwdHash, even if we don't have the
cleartext password in sambaPassword.  This fixes kerberos after a
vampire.

Andrew Bartlett
(This used to be commit 1d4d2271c9b944db3a9a2eba971aec5bcd9cf100)
2007-10-10 14:21:08 -05:00
Simo Sorce
b0fadb51b2 r19313: Don't mess with hierarchies!!
There is a reason why we use them :-)
(This used to be commit e3b7e91299559ddc7f300be53785d313a4aa90fc)
2007-10-10 14:21:07 -05:00
Andrew Bartlett
379e6598e1 r19308: Merge samsync fixes from SAMBA_4_0_RELEASE
Andrew Bartlett
(This used to be commit 331003239972d80864211377e864f7e469bd3d77)
2007-10-10 14:21:06 -05:00
Simo Sorce
59b66744f7 r19299: Fix possible memleaks
(This used to be commit 6fad80bb09113a60689061a2de67711c9924708b)
2007-10-10 14:21:04 -05:00
Stefan Metzmacher
ce02a7e9dc r18945: fix compiler warnings and end-of-non-void function bugs
metze
(This used to be commit ed195999c0c7d89cdc61e980576d191fc05d65d7)
2007-10-10 14:20:23 -05:00
Simo Sorce
7a1c1a1fd8 r18908: Store the schema structure into an opaque pointer so that it can be reused by multiple connections
(This used to be commit ca8827d8f9a9f6ec60afed29b0b85f491d725d1c)
2007-10-10 14:20:19 -05:00
Andrew Bartlett
77db3973c4 r18781: Move the usnCreated and usnChanged handling around again.
This moves these attributes from objectguid into an optional backend
(objectguid), used by ltdb.  For OpenLDAP, the entryUUID module
converts entryCSN into usnChanged.

This also changes the sequence number API, and uses 'time based'
sequence numbers, when an LDAP or similar backend is detected.

To assist this, we also store the last modified time in the TDB,
whenever we change a value.

Andrew Bartlett
(This used to be commit 72858f859483c0c532dddb2c146d6bd7b9be5072)
2007-10-10 14:19:11 -05:00
Günther Deschner
8153859fb4 r18636: Excessive testing with pam_winbind within Samba3 revealed a new samr
reject reason code while password changing: SAMR_REJECT_IN_HISTORY which
is different from SAMR_REJECT_COMPLEXITY.

torture test to follow as well.

Guenther
(This used to be commit 7513748208214339e764cc990aa1dbbcf864975a)
2007-10-10 14:18:59 -05:00
Andrew Bartlett
595c141a69 r18504: Handle mappings for RENAME and KEEP attributes better. We don't need
to mess with the values in these cases.

Where we do convert the values, try and convert substrings.  This
isn't going to be perfect, but we should try rather than segfault.

This also avoids using the wrong arm of the union for the attribute
name

The change in the entryUUID module is to correct the case of
sAMAccountName, due to the case sensitive ldap.js test.

Andrew Bartlett
(This used to be commit 81d9a692c1e74ec9078bf718003eafdba85b4324)
2007-10-10 14:18:40 -05:00
Andrew Bartlett
1e4f5a096c r18495: More work on the LDAP backend (which now passes a lot of our tests!)
This adds a list of attributes that are in our wildcard seaches, but
the remote server requires to be explicitly listed.  This also cleans
up the handling of wildcards in ldb_map to be more consistant.

Also fix the partitions module to rebase the search, if on the GC
port, we do a subtree search.  (Otherwise backends can rightly
complain that the search is not in their scope).

Andrew Bartlett
(This used to be commit bc58792b7102f086b19353635d5d5ef9d40a0aae)
2007-10-10 14:18:38 -05:00
Andrew Bartlett
918db36213 r18441: Allow searching for the high bit in these bitfields, when the client
asks for them as large integers, rather than a negative integer.

Due to an OpenLDAP bug, this only works reliably against OpenLDAP CVS
as of today.  (but mostly works in older versions, depending on a
thread-specific value fo errno in the server).

Andrew Bartlett
(This used to be commit 3b5354aededc619ac6656611eacd43888e74260a)
2007-10-10 14:18:30 -05:00
Andrew Bartlett
35d30de095 r18368: Don't list GENSEC mechs that only have client implementations in our
supportedSASLMechanism list.

Andrew Bartlett
(This used to be commit 3e69637b5f79e4132026ebaf9d57cf67ef3826c1)
2007-10-10 14:18:20 -05:00
Andrew Bartlett
a41b696346 r18367: When converting to entryUUID, ensure we don't double-convert a
string-format GUID.

Andrew Bartlett
(This used to be commit 11cc6408c93f46f4d9ae7ae0ee18dac836fe270d)
2007-10-10 14:18:19 -05:00
Andrew Tridgell
30ee8beb93 r18301: I discovered how to load the warnings from a build farm build into
emacs compile mode (hint, paste to a file, and compile as "cat
filename").

This allowed me to fix nearly all the warnings for a IA_64 SuSE build
very quickly.
(This used to be commit eba6c84efff735bb0ca941ac4b755ce2b0591667)
2007-10-10 14:18:04 -05:00
Andrew Bartlett
704327044d r18240: Make it clearer when we store the plaintext password.
Store the plaintext password in userPassword in the LDAP backend so
that the OpenLDAP server can use DIGEST-MD5.

Andrew Bartlett
(This used to be commit 1b02c604b2c55e1c9e15ac1f266e7df74d619dbd)
2007-10-10 14:17:53 -05:00
Jelmer Vernooij
38fdde5d9b r18031: Merge my replace fixes:
* libreplace can now build stand-alone
 * add stub testsuite for libreplace
 * make talloc/tdb/ldb use libreplace
(This used to be commit fe7ca4b1454e01a33ed0d53791ebffdd349298b4)
2007-10-10 14:17:05 -05:00
Simo Sorce
23e6b27d5c r17998: start working on syntaxes
(This used to be commit b49b8f5cb5ffa29a3b63f70a1f437c9720d2228c)
2007-10-10 14:17:03 -05:00
Andrew Bartlett
25f9e52a5d r17955: Don't search for the dnsDomain attribute, it is invented (not in the
AD schema).

Andrew Bartlett
(This used to be commit fac27e4dddc98288dc765e135db6b168fbec760c)
2007-10-10 14:16:56 -05:00
Jelmer Vernooij
0329d755a7 r17930: Merge noinclude branch:
* Move dlinklist.h, smb.h to subsystem-specific directories
 * Clean up ads.h and move what is left of it to dsdb/
   (only place where it's used)
(This used to be commit f7afa1cb77f3cfa7020b57de12e6003db7cfcc42)
2007-10-10 14:16:54 -05:00
Simo Sorce
814582de5a r17898: handle objectcategory and isdefunct for classes
(This used to be commit 7664b52b89bfac6f2db52fae2daa65c856acd1ac)
2007-10-10 14:16:53 -05:00
Simo Sorce
3ddab071eb r17894: better name for the internal syntax type
(This used to be commit 4241a1bb832461ca44ce0f20cb770ea2b6f2d7e3)
2007-10-10 14:16:53 -05:00
Andrew Bartlett
69ecd9538f r17870: This module (for the moment) handles the modifyTimestamp generation. For that, it needs to hook into the modify operation.
Andrew Bartlett
(This used to be commit d22117a53bafa4bb72c854353620099b5a6f81d8)
2007-10-10 14:16:50 -05:00
Simo Sorce
0c34fbe311 r17860: Let's commit the work down up to now on the new schema module.
At the moment it is able to validate an object has no conflicting
objectlasses that it meets the criteria to be inserted as child of
the parent and also sorts and create the objectclass hierarchy so
that the objectclass .c module can be obsoleted.

Not activated by default as we have to completely rework the
current provisioning method. (In my tests I could not activate
it before all other ldif except for the one that create users
were loaded, make test seem to be happy anyway if it is activated
after provisioning).

Next steps will be attribute and attribute syntax checking on add operation.
And then the modify operation will follow.

Simo.
(This used to be commit 0c444ba1adfb9ce5cfa736bf0620aa3bec66050d)
2007-10-10 14:16:49 -05:00
Simo Sorce
88b04ab6e6 r17830: Set the default_basedn (hey, it comes from the "default" naming contex :-)
once at connection time, after modules have been loaded.

Introduce a function to retrieve the value where needed.
(This used to be commit 0caf6a44e03393c645030a9288e7dfd31e97c98b)
2007-10-10 14:16:46 -05:00
Andrew Tridgell
e031bfc41c r17825: I broken cracknames in my last patch - fix it up
(This used to be commit 4ec4f91a437bdfab7b8e0fd1e43c0b8b1927e461)
2007-10-10 14:16:45 -05:00
Andrew Tridgell
b21b119cbc r17824: add a wrapper for the common partitions_basedn calculation
(This used to be commit 09007b0907662a0d147e8eb21d5bdfc90dbffefc)
2007-10-10 14:16:45 -05:00
Andrew Tridgell
0fd9807942 r17823: get rid of most of the samdb_base_dn() calls, as they are no longer
needed in searches
(This used to be commit a5ea749f0ac63bf495a55ee8d9d002208ab93572)
2007-10-10 14:16:45 -05:00
Stefan Metzmacher
6268e2f148 r17788: fix compiler warnings
metze
(This used to be commit 00fcc4f16a01a0c6a70f86c8bd9d1f9801dfd9df)
2007-10-10 14:16:42 -05:00