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

174 Commits

Author SHA1 Message Date
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
Andrew Bartlett
847102c6ca r21736: Fix the smbclient test to do something more interesting with the last
few authentication tests.  Now that the tests correctly 'fail', I was
able to fix the credentials subsystem to honour USER and PASSWD.

To get --machine-pass working, I needed ldb to always load it's static
modules, so I put this in ldb_connect().

Andrew Bartlett
(This used to be commit 3430d8c072407a1c33c32229095fc9db2142b6fa)
2007-10-10 14:49:20 -05:00
Jelmer Vernooij
72d88d158a r21707: Finally merge my (long-living) perlselftest branch.
This changes the main selftest code to be in perl rather than in shell script.

The selftest script is now no longer a black box but a regular executable that takes
--help.

This adds the following features:

 * "make test TESTS=foo" will run only the tests that match the regex "foo"
 * ability to deal with expected failures. the suite will not warn about tests
   that fail and are known to fail, but will warn about other failing tests and
   tests that are succeeding tests but incorrectly marked as failing.
 * ability to print a summary with all failures at the end of the run

It also opens up the way to the following features, which I hope to implement later:
 * "environments", for example having a complete domains with DCs and domain members
 in a testenvironment
 * only set up smbd if necessary (not when running LOCAL tests, for example)
 * different mktestsetup scripts per target. except for the mktestsetup script, we can
   use the same infrastructure for samba 3 or windows.
(This used to be commit 38f867880beb40c691e9713f854426031310629c)
2007-10-10 14:49:15 -05:00
Jelmer Vernooij
000a094318 r21700: Run mktestsetup as an external program. This guarantees that it can be used for other selftest implementations (in particular the perl one I've been working on).
(This used to be commit aa29907327a91a64c769b1f2712f553e13964418)
2007-10-10 14:49:15 -05:00
Andrew Bartlett
7dc7156bd7 r21496: A number of ldb control and LDAP changes, surrounding the
'phantom_root' flag in the search_options control

- Add in support for LDB controls to the js layer
- Test the behaviour
- Implement support for the 'phantom_root' flag in the partitions module
- Make the LDAP server set the 'phantom_root' flag in the search_options control
  - This replaces the global_catalog flag passed down as an opaque pointer
- Rework the string-format control parsing function into
  ldb_parse_control_strings(), returning errors by ldb_errorstring()
  method, rather than with printf to stderr
- Rework some of the ldb_control handling logic

Andrew Bartlett
(This used to be commit 2b3df7f38d7790358dbb4de1b8609bf794a351fb)
2007-10-10 14:48:44 -05:00
Stefan Metzmacher
2b086ac63e r21361: let samba3sam.js pass when we'll use unicodePwd for storing the nt hash
jelmer: what should this test really test?

metze
(This used to be commit c8d903b606afb5dd11b8f1048a36943db02370e0)
2007-10-10 14:48:19 -05:00
Simo Sorce
7ca399c075 r21351: Change ldb ejs bindings return codes.
We were returning just true/false and discarding error number and string.

This checking probably breaks swat, will fix it in next round as swat
is what made me look into this as I had no way to get back error messages
to show to the users.

Simo.
(This used to be commit 35886b4ae68be475b0fc8b2689ca04d766661261)
2007-10-10 14:48:18 -05:00
Jelmer Vernooij
48bb9bc6cd r21017: Actually run tests during test phase rather than when generating the recipe.
(This used to be commit b975ce3a471d29fb2c0691c65993f9dfeb066d79)
2007-10-10 14:44:20 -05:00