1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-10 13:57:47 +03:00

168 Commits

Author SHA1 Message Date
Andrew Bartlett
48100ca5c6 Remove old ldap.js test, we have replicated it in python now.
This will soon allow the removal of smbscript, once the samba3sam test
conversion is complete.

Andrew Bartlett
(This used to be commit 60c93b9777d9bd7dce89f9024ba767f5404ac72d)
2008-06-19 14:53:14 +10:00
Andrew Bartlett
446748bfe1 Align the Python and EJS ldap tests.
We should now (need to review and compare them once more) be able to
remove ldap.js (and once samba3sam.js is done, smbscript).

Andrew Bartlett
(This used to be commit f65e43e9456e8e951d172779cba53ab417114b20)
2008-06-03 23:27:22 +10:00
Jelmer Vernooij
4e9ca6caf9 Remove unused EJS net bindings.
(This used to be commit 3923414849c5a3b14379e2cd3e61d862150800a6)
2008-05-26 14:00:28 +02:00
Jelmer Vernooij
9e37d25a92 Remove unused scripts.
(This used to be commit 3d22b72bb780065059f45ebeb6025d1bceb1f5b6)
2008-05-26 13:34:36 +02:00
Jelmer Vernooij
fb7e359561 Remove unused echo ejs script.
(This used to be commit 3a6b009d505503b2eb22acadeaac485151ed0173)
2008-05-23 04:20:52 +02:00
Jelmer Vernooij
27005cb7a2 Convert samr test to python.
(This used to be commit 88d473b202e82b462ef82ffdeb4f1710918ffda5)
2008-05-23 04:20:45 +02:00
Jelmer Vernooij
c6132465d1 Remove unused EJS testprogs.
(This used to be commit e14c9302009b371f385612d2fd500773d238006a)
2008-05-23 03:34:57 +02:00
Andrew Bartlett
3cdf0c64dd Extend the ldap.js test to prove faults with the LDAP backend.
Try to provide more information to see why OpenLDAP isn't quite up to
being a Samba4 Backend.

Andrew Bartlett
(This used to be commit 89458c7d8b46cf5cf6c0dc514bb7e658f48c2adf)
2008-03-19 12:12:24 +11:00
Andrew Bartlett
736ae6a566 Don't hardcode objectCategory into the schema, even in the schema.
We now load the schema early enough that we can generate this too!

Andrew Bartlett
(This used to be commit 1adc74c65a3219fc110964ccdf9a9d60a84831da)
2008-03-04 11:27:57 +11:00
Andrew Bartlett
0b2a762519 Extend the ldap.js test
Now we verify sAMAccountType and userAccountControl, as well as rename and
DN mismatch semantics.

Andrew Bartlett
(This used to be commit 0a5fa41dd7ed76e4848fe4a779edff2a12e8ea67)
2008-02-28 08:37:11 +11:00
Jelmer Vernooij
f44dbc296e Reintroduce samba3sam EJS test, at least until the Python test is ready.
(This used to be commit 13deb25214b2711836e243a87166b63a4a87270b)
2008-02-12 01:42:58 +01:00
Jelmer Vernooij
0a6dc21955 Remove tests for Samba 3 EJS code.
(This used to be commit 7aff2ddd8ca1ff68fc704fdb139d81d6daa51115)
2008-02-11 13:38:07 +01:00
Andrew Bartlett
655ec1aa06 A couple more ipsec classes for the schema.
Andrew Bartlett
(This used to be commit 41309dc8627e707cee226a76238b9a70d417a345)
2008-02-09 14:48:56 +11:00
Andrew Bartlett
b2d47f9794 From a request from Peter Huang, include IPsec sechema.
(We may need to include more defaults in the template, but I want to
start small for now).

Andrew Bartlett
(This used to be commit a466dda118f785bf784548106637577a5e25a30e)
2008-02-09 09:59:45 +11:00
Andrew Bartlett
2eab4abf25 Make ranged results tests in ldap.js easier to debug.
This adds some extra information to the failure message, to chase down
which test is failing.

Andrew Bartlett
(This used to be commit 281bc76d3d7605f18ee914cf01dbf09062f5a5f0)
2008-01-23 09:00:00 +11:00
Andrew Bartlett
0ec60cfd83 Make ldap.js test easier to re-run in failure cases, by deleting more
things that we will create later.

Andrew Bartlett
(This used to be commit 9b47b551a3762590fefa5308310d91c6d8b378e5)
2008-01-16 08:57:28 +11: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 91bcb60d31d54e52128d5bd107df4ceb87389889)
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 11c153163c359fd07402daa61b93872387e12568)
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 bf5b2f467f57528aa64d4af0e68ef2dffd00f8f6)
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 044b50947254ccd516c21cb156ab60ab9e3a582d)
2007-12-21 05:49:48 +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
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
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
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
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
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