1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-01 05:47:28 +03:00

431 Commits

Author SHA1 Message Date
Andrew Bartlett
9d4d41f65d r26419: Add a module to implement 'ambigious name resolution' by munging the
incoming LDAP filter.

Warning: Any anr search will perform a full index search.  Untill ldb
gets substring indexes, this is unavoidable.

Also implement a testsutie to show we match AD behaviour for this
important extension (used in the Active Directory Users and Computers
MMC plugin, as a genereral 'find').

This will also be useful to OpenChange, as their server needs to
implement this.

Andrew Bartlett
(This used to be commit 044b50947254ccd516c21cb156ab60ab9e3a582d)
2007-12-21 05:49:48 +01:00
Andrew Bartlett
364266e22a r26192: Handle, test and implement the style of extended_dn requiest that MMC uses.
It appears that the control value is optional, implying type 0 responses.

Failing to parse this was causing LDAP disconnects with 'unavailable
critical extension'.

Andrew Bartlett
(This used to be commit 833dfc2f2af84c45f954e428c9ea6babf100ba92)
2007-12-21 05:46:44 +01:00
Andrew Bartlett
37fdef233e r26182: Extend our linked attribute testsuite to cover many more possible
modifications, and then extend our implementation to match.

Andrew Bartlett
(This used to be commit 65d17f0ad7ead438333abcccb0bd56b038ffb88e)
2007-12-21 05:46:38 +01:00
Andrew Bartlett
470043bf7a r26140: Add a new test for searches by distinguieshedName and dn, and
implement these in the simple ldap mapping module.

We still don't pass this test, because we must get linked attributes
into OpenLDAP.

Andrew Bartlett
(This used to be commit d41f34e979bb119f71ab3cc2fdb3c08e4b92849c)
2007-12-21 05:46:20 +01:00
Andrew Bartlett
3b6ff04631 r25961: Add new tests to verify basedn validation in LDAP searches.
Andrew Bartlett
(This used to be commit e178df4a180e7ce3eba1a14fb45b2fcc582f06c3)
2007-12-21 05:45:19 +01:00
Andrew Bartlett
58f9b5702a r25948: Fix up the samba3sam test (which is very fragile) to work with the new
restrictions imposed by the samldb module.

This module is worth keeping, because when we go back to do more
extensive backend mapping, the testing of this module shows it is
still possible.

Andrew Bartlett
(This used to be commit a10d2554dc1f9b57ce2a98ea20969b3b3c8aec53)
2007-12-21 05:45:13 +01:00
Andrew Bartlett
27c9f6c235 r25891: Test that we get the correct return value when we attempt to reference
invalid entries with a linked attribute.

Make Samba4 pass that test, by fixing a silly bug in the
linked_attributes module.  (By passing down the 'original' request
structure, tdb would override our handle, and therefore we would never
be called for the 'wait', which collects the errors).

Fix up the provision templates to handle the newly required
referential integrity.

Andrew Bartlett
(This used to be commit 0377d85bbdcb2c4f110b0519005f0d1d10bc0c0b)
2007-12-21 05:44:41 +01:00
Andrew Bartlett
c112597ba7 r25826: Prove that adding a user or computer via LDAP doesn't magicly give
them any more group memberships.

Andrew Bartlett
(This used to be commit c805934017af2c983b31738cb888103a5f972fdc)
2007-12-21 05:44:15 +01:00
Andrew Bartlett
b98169884b r25788: Use a single routine to handle the creation of modify requests in the
linked_attributs code.

This drasticly reduces the code duplication here.

Andrew Bartlett
(This used to be commit c66e188e6729a8e12854017d62067b4ae4a23af8)
2007-12-21 05:43:59 +01:00
Andrew Bartlett
96116b7f84 r25787: Assert that we handle the group membership updating correctly,
including when we delete members from the DB.

Andrew Bartlett
(This used to be commit 2c95274e257da1d392a8a91bc291debc41c18f30)
2007-12-21 05:43:58 +01:00
Andrew Bartlett
8a8948a17a r25781: Handle and test linked attribute renames.
Andrew Bartlett
(This used to be commit 56d9dd5140b6d7d7bbaa2f59ecdff7ee70c4faac)
2007-12-21 05:43:56 +01:00
Andrew Bartlett
a4c79f06ae r25762: This test belongs best with the other checks for a valid parent, in
the objectclass module.

Andrew Bartlett
(This used to be commit 16a292fcb134adec110cbc4c8f0fb03323750a45)
2007-12-21 05:43:47 +01:00
Andrew Bartlett
464dd2ada1 r25761: Rename to be a DN to be a child of itself wasn't being checked for.
This prevents CN=test,dc=samba,dc=example,dc=com being renamed into
CN=test2,cn=test,dc=samba,dc=example,dc=com

Andrew Bartlett
(This used to be commit 958a92ed0c6bee19d8b86df7c66330d2bba23e46)
2007-12-21 05:43:47 +01:00
Andrew Bartlett
dbb3c74464 r25760: Test out relative distinguished name behaviour under renames.
Andrew Bartlett
(This used to be commit 0019596b715f888e7b7dbd71de832c6e2941c625)
2007-12-21 05:43:47 +01:00
Andrew Bartlett
46210e11f1 r25754: More work on normal forms for ldb input.
This patch is to ensure that all attributes are in the same case as
the schema specifies.  In the process, I ensure that all attributes
are indeed in the schema.

This ensures we use the schema case, not the user supplied case for
future responses, which assists any (incorrect, but possible) case
sensitive processing on a client.

I've also removed more of the subtle 'schema &&' that metze objected
to in the for loops, moving to a much more explicit 'if (schema)'.

Andrew Bartlett
(This used to be commit bfc96fff063e7cc278755c043b9da0ed4b75a615)
2007-12-21 05:43:45 +01:00
Andrew Bartlett
47f6988c6d r25753: Move cn=rootdse to @ROOTDSE to avoid being caught up in schema restrictions.
Andrew Bartlett
(This used to be commit f3390c9054244c0e4381007b36bbac9a17800570)
2007-12-21 05:43:45 +01:00
Andrew Bartlett
16d0395047 r25750: Update the objectclass module to improve consistency in Samba4.
The aim here is to ensure that if we have

CN=Users,DC=samba,DC=example,DC=com

that we cannot have a DN of the form

cn=admin ,cn=useRS,DC=samba,DC=example,DC=com

This module pulls apart the DN, fixes up the relative DN part, and
searches for the parent to copy the base from.

I've used the objectclass module, as I intend to also validate the
placement of child objects, by reading the allowedChildClasses virtual
attribute.

In the future, I'll also force the attribute names to be consistant
(using the case from the schema).

Andrew Bartlett
(This used to be commit c0a0c69ac5a81cfcb7c7d5ba38db59f8686c30ab)
2007-12-21 05:43:43 +01:00
Andrew Bartlett
5cfa773202 r25710: Finally fix subtree renames. Untested code is broken code and in this
case an oddity of the javascript caused the test to 'pass'.

For the same oddity, we have a failure in ldb's handling of spaces in
DNs.  We need to resolve that too.

Andrew Bartlett
(This used to be commit e8cbac1a46f4d3b083e6bb5a509ef1ba47bebff1)
2007-12-21 05:43:24 +01:00
Andrew Bartlett
c64116e158 r25218: After discussion with Simo, remove the subclass support from LDB.
Subclass support was designed to avoid needing to spell out the full
list of objectClasses that an entry was in.  However, Samba4 now
enforces this restriction in the objectClass module, and the way
subclass matching was handled was complex and counter-intuitive in my
opinion (and did not match LDAP).

Andrew Bartlett
(This used to be commit f5ce04b904e14445a2a7e7f92e7e1f64b645c6f2)
2007-10-10 15:06:56 -05:00
Andrew Bartlett
6a9a1bd913 r25204: Patch by Andrew Kroeger <andrew@sprocks.gotdns.com> fixing bug #4958 -
rename of ldb entries for a case change (only).

I've modified the testsuite to verify this.

Andrew Bartlett
(This used to be commit 9cccd00dac44dd9152ec03cecf5ffac24f918445)
2007-10-10 15:06:52 -05:00
Jelmer Vernooij
bf4f1307ab r24876: Use more absolute paths to samba4 binaries.
(This used to be commit 8616bfa0ae5762ae45b8339c84b8e4ae499f5897)
2007-10-10 15:03:26 -05:00
Andrew Bartlett
4e1d0cc8e3 r24761: Permit subtree renames in Samba4.
The module is scary: On a rename, it does a search for all entries
under that entry (including itself), and fires off a seperate rename
call for each result.  This will fail miserably on an LDAP backend,
but I'll need to work on using hdb for OpenLDAP, and hope Fedora DS
can implement subtree renames at some point.

Andrew Bartlett
(This used to be commit 13908a8cb4dd810503213203efb8d51f77f1f379)
2007-10-10 15:03:05 -05:00
Jelmer Vernooij
a73a8d4b9d r24706: Move nmblookup tests to separate blackbox testsuite.
(This used to be commit aeb2e714f22abe68f89218967a55d7abd2d04ae1)
2007-10-10 15:02:52 -05:00
Andrew Bartlett
666a833d2e r24693: Test search options in ldb blackbox testing.
Andrew Bartlett
(This used to be commit 9f45b5553a53d2e8a1c2643bf58fb90db8217b66)
2007-10-10 15:02:47 -05:00
Jelmer Vernooij
8d6b9f2b88 r24691: All smbclient blackbox tests pass.
(This used to be commit c3a138627487ec0ed5a4c4c4457df35275f4cada)
2007-10-10 15:02:46 -05:00
Andrew Bartlett
0eb3ee3204 r24459: Fix up ldap.js and test_ldb.sh to test the domain_scope control, and
to test the behaviour of objectCategory=user searches.

It turns out (thanks to a hint on
http://blog.joeware.net/2005/12/08/147/) that objectCategory=user maps
into objectCategory=CN=Person,... (by the defaultObjectCategory of
that objectclass).

Simplify the entryUUID module by using the fact that we now set the DN
as the canoncical form of objectCategory.

Andrew Bartlett
(This used to be commit b474be9507df51982a604289215bb1868124fc24)
2007-10-10 15:01:53 -05:00
Jelmer Vernooij
4da477d4fa r24339: Move output functions to separate files.
(This used to be commit f4ff4c5f61189c71ab60a5455272302add9e1d97)
2007-10-10 15:01:40 -05:00
Jelmer Vernooij
f1f4f665b0 r24335: Fix -N support.
(This used to be commit 18ea767d396bf6d956fd83ee3d2687d98897ae36)
2007-10-10 15:01:39 -05:00
Andrew Bartlett
c4e5fcc349 r24263: Fix bug 4846 (unable to copy users in MMC Active Directory Users and
Computers).

We now generate a security descriptor for each object, when it is
created.  This seems to keep MMC happy.  The next step is to honour
it.

Andrew Bartlett
(This used to be commit 72f4ae82463c5c1f9f6b7f18f125c4c8fb56ae4f)
2007-10-10 15:01:32 -05:00
Andrew Bartlett
ae7819d715 r24262: Set the objectCategory by default in the objectclass module, rather than using templates.
Modify the samba3sam test to be less fussy, and not use the
objectclass module (which requires proper schema stuff now).

Andrew Bartlett
(This used to be commit 53c248c2645e86fbc8720860aed92a479483b528)
2007-10-10 15:01:32 -05:00
Andrew Bartlett
63c20026c4 r24076: Make ldap.js pass against Win2k3 again (looks like we don't match AD
on this error code, but allow both for now).

Also prove that bug #4829 needs a different solution: we can't fix
this by changing the template.  I think this fix needs to be in the
SAMR server.

Andrew Bartlett
(This used to be commit c3554e3ee79cdb15f05e7968ccde62c086748c80)
2007-10-10 15:01:22 -05:00
Andrew Bartlett
bb68118840 r23965: Add testing the 'net time' command to the script.
Andrew Bartlett
(This used to be commit 4fab53432a3599cf62a7ebef977bc33ef5a5f734)
2007-10-10 15:01:12 -05:00
Andrew Bartlett
8172bbb7e4 r23964: Update blackbox selftest scripts to cover more code, and to more
consistantly report errors.  (Some were being lost due to the "echo
foo | cmd" calling convention).

Andrew Bartlett
(This used to be commit d0a994d0ce7b1d4a33bbca5348c2da868401971f)
2007-10-10 15:01:12 -05:00
Andrew Bartlett
4955b21f68 r23849: ldap_server: Provide more info in debug traces
blackbox tests:  increase test coverage by running more options.

Andrew Bartlett
(This used to be commit 46abf82675ea0ce06a162be5d733da0c236880c2)
2007-10-10 14:59:24 -05:00
Andrew Tridgell
0479a2f1cb r23792: convert Samba4 to GPLv3
There are still a few tidyups of old FSF addresses to come (in both s3
and s4). More commits soon.
(This used to be commit fcf38a38ac691abd0fa51b89dc951a08e89fdafa)
2007-10-10 14:59:12 -05:00
Andrew Bartlett
2d2cde7d95 r23762: Fix DN renames over LDAP, and instrument the partition module. Add a
test to prove the behaviour of LDAP renames etc.

Fix LDB to return correct error code when failing to rename one DN
onto another.

Andrew Bartlett
(This used to be commit 3f3da9c4710b7752ed97f55c2fc3d32a63d352af)
2007-10-10 14:59:11 -05:00
Andrew Bartlett
b0db52b63a r23737: Validate that we object to duplicate values in an add or replace.
We can't ever allow duplicates, even if the client sends them

Andrew Bartlett
(This used to be commit 10277f27246b9e16ed36fb72eb4c318b43cb9395)
2007-10-10 14:59:09 -05:00
Andrew Bartlett
cc0756c302 r23719: ejs being case sensitive, while LDAP is not is a real pain when
dereferencing attributes.

Fix the case to match between the attributes searched for and the ejs
element.  (Fixes LDAP-backend selftest)

Andrew Bartlett
(This used to be commit 51cf66bb96e5a58693a40d920d78632ac442ca1c)
2007-10-10 14:59:08 -05:00
Andrew Bartlett
e9d19477e4 r23560: - Activate metze's schema modules (from metze's schema-loading-13 patch).
- samba3sam.js: rework the samba3sam test to not use objectCategory,
  as it's has special rules (dnsName a simple match)
- ldap.js: Test the ordering of the objectClass attributes for the baseDN
- schema_init.c: Load the mayContain and mustContain (and system...) attributes when
  reading the schema from ldb
- To make the schema load not suck in terms of performance, write the
  schema into a static global variable
- ldif_handlers.c: Match objectCategory for equality and canonicolisation
  based on the loaded schema, not simple tring manipuation
- ldb_msg.c: don't duplicate attributes when adding attributes to a list
- kludge_acl.c: return allowedAttributesEffective based on schema results
  and privilages

Andrew Bartlett
(This used to be commit dcff83ebe463bc7391841f55856d7915c204d000)
2007-10-10 14:53:27 -05:00
Andrew Bartlett
b0c5367f4f r23558: MMC seems to ask for this, so I think we need to include it in our schema.
Andrew Bartlett
(This used to be commit ef1899054e2532c8975d03810b52a0636d2d5f8c)
2007-10-10 14:53:27 -05:00
Rafal Szczesniak
262dc06b99 r23178: add simple js code I use for testing and which starts to look like
ejsnet command line utility (perhaps to be moved to utils later...)

rafal
(This used to be commit 43f9d9ba71f51007e80b340600a55fb07d89fd4c)
2007-10-10 14:53:00 -05:00
Jelmer Vernooij
5a74acbb17 r23174: merge text
(This used to be commit a6293ab5cb31a73f23adebacc68d2d383fa62e22)
2007-10-10 14:52:59 -05:00
Andrew Bartlett
246f94725a r23026: Add groupPolicyContainer, as we now require this schema element.
Andrew Bartlett
(This used to be commit 1c4d376d547df46cb036f088918562bd2493e087)
2007-10-10 14:52:41 -05:00
Andrew Bartlett
78db3d4307 r22523: Give a hint why this test fails (helped debugging backend issues).
Andrew Bartlett
(This used to be commit f86d3b47850a9f3f773226807bbafd1830182c59)
2007-10-10 14:51:37 -05:00
Andrew Bartlett
3d4c4c5fa3 r22478: Update the LDAP backend code to handle initialisation of multiple
partitions onto the target LDAP server.

Make the LDAP provision run before smbd starts, then stop the LDAP
server.  This ensures this occurs synchronously, We then restart it
for the 'real run' (with slapd's stdin being the FIFO).

This required fixing a few things in the provision scripts, with more
containers being created via a add/modify pair.

Andrew Bartlett
(This used to be commit 860dfa4ea1ab2b62d4d4fe0644e0a9b882fdafa1)
2007-10-10 14:51:31 -05:00
Andrew Bartlett
aacabe9c57 r22284: Make this script executable
(This used to be commit b0cbf169366e3624f4d8c2b1a65e478e72734871)
2007-10-10 14:50:56 -05:00
Andrew Bartlett
b0cbe9ae4a r22235: Test kinit, and PKINIT functionality by means of a new blackbox test.
Andrew Bartlett
(This used to be commit 7f27bfc3568bc09b2b9cb9ba03aae55a03e08f9a)
2007-10-10 14:50:41 -05:00
Andrew Bartlett
f1b2b43ba5 r22187: Test kerberos logins in the smbclient blackbox tests, including with a
machine account.

Andrew Bartlett
(This used to be commit 16a2bb87a80ffb921f267492f453eb3457666315)
2007-10-10 14:50:01 -05:00
Andrew Bartlett
f3303bc8f6 r22170: To get the smbclient blackbox test to pass again, we need to get the
private dir to contain a valid machine account.

It isn't really valid it use the DC's account any more, so extend this
script to also join the domain.  This nicely tests out some previously
untested code too!

Andrew Bartlett
(This used to be commit 12f4e6033ed11a010211a4295424588f44f7e5e0)
2007-10-10 14:49:57 -05:00
Andrew Bartlett
4362ce99ec r21737: Print the error strings in the ejs ldb test.
(This used to be commit fed42cf5a359e8dcbabd82dba5b18058260ddc07)
2007-10-10 14:49:21 -05:00