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

186 Commits

Author SHA1 Message Date
Jelmer Vernooij
7b06161904 Remove accidently committed debugging statement.
(This used to be commit 9ad2de6e99)
2008-01-13 04:50:33 +01:00
Jelmer Vernooij
95f83d9040 tests.blackbox: Avoid my local Kerberos setup from interfering with the blackbox.smbclient test.
(This used to be commit 1d703dcf3a)
2008-01-13 02:45:55 +01:00
Andrew Bartlett
dfc27ff863 r26488: Implement tests for the ranged_results module.
Untested code is broken code, so rework the module until it passes...

It turns out that AD puts search attributes onto the wire in the
reverse order to what Samba does.  This complicates exact value
matching, so this is skipped for now.

Andrew Bartlett
(This used to be commit 91bcb60d31)
2007-12-21 05:50:45 +01:00
Andrew Bartlett
449c681d5b r26479: Further test behaviour of 'attribute or value exists'.
Andrew Bartlett
(This used to be commit 11c153163c)
2007-12-21 05:50:37 +01:00
Andrew Bartlett
f8bc24065b r26420: Don't print a blow-by-blow description of every search we do, just the
errors that occour.

Andrew Bartlett
(This used to be commit bf5b2f467f)
2007-12-21 05:49:48 +01:00
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 044b509472)
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 833dfc2f2a)
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 65d17f0ad7)
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 d41f34e979)
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 e178df4a18)
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 a10d2554dc)
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 0377d85bbd)
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 c805934017)
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 c66e188e67)
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 2c95274e25)
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 56d9dd5140)
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 16a292fcb1)
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 958a92ed0c)
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 0019596b71)
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 bfc96fff06)
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 f3390c9054)
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 c0a0c69ac5)
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 e8cbac1a46)
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 f5ce04b904)
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 9cccd00dac)
2007-10-10 15:06:52 -05:00
Jelmer Vernooij
bf4f1307ab r24876: Use more absolute paths to samba4 binaries.
(This used to be commit 8616bfa0ae)
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 13908a8cb4)
2007-10-10 15:03:05 -05:00
Jelmer Vernooij
a73a8d4b9d r24706: Move nmblookup tests to separate blackbox testsuite.
(This used to be commit aeb2e714f2)
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 9f45b5553a)
2007-10-10 15:02:47 -05:00
Jelmer Vernooij
8d6b9f2b88 r24691: All smbclient blackbox tests pass.
(This used to be commit c3a1386274)
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 b474be9507)
2007-10-10 15:01:53 -05:00
Jelmer Vernooij
4da477d4fa r24339: Move output functions to separate files.
(This used to be commit f4ff4c5f61)
2007-10-10 15:01:40 -05:00
Jelmer Vernooij
f1f4f665b0 r24335: Fix -N support.
(This used to be commit 18ea767d39)
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 72f4ae8246)
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 53c248c264)
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 c3554e3ee7)
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 4fab53432a)
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 d0a994d0ce)
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 46abf82675)
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 fcf38a38ac)
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 3f3da9c471)
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 10277f2724)
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 51cf66bb96)
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 dcff83ebe4)
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 ef1899054e)
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 43f9d9ba71)
2007-10-10 14:53:00 -05:00
Jelmer Vernooij
5a74acbb17 r23174: merge text
(This used to be commit a6293ab5cb)
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 1c4d376d54)
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 f86d3b4785)
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 860dfa4ea1)
2007-10-10 14:51:31 -05:00