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

347 Commits

Author SHA1 Message Date
Jelmer Vernooij
713b296441 r13210: Revert my named pipes patch until it passes not just 'make quicktest' but
also 'make test'
(This used to be commit e3d0676aee)
2007-10-10 13:51:35 -05:00
Jelmer Vernooij
ad6303f82f r13208: Clearly separate named pipes from the IPC$ NTVFS type.
This allows the easy addition of additional named pipes and removes the
circular dependencies between the CIFS, RPC and RAP servers.

Simple tests for a custom named pipe included.
(This used to be commit 898d15acbd)
2007-10-10 13:51:34 -05:00
Jelmer Vernooij
e53f420552 r13182: Add first bits of browsing testsuite.
(This used to be commit 841fb3d4e7)
2007-10-10 13:51:32 -05:00
Volker Lendecke
53091bf83e r12764: Add a test for lsa_lookup. This will be expanded when I get around to add
trusted domains.

Volker
(This used to be commit 8b8bb85ad3)
2007-10-10 13:49:51 -05:00
Jelmer Vernooij
78c50015bb r12694: Move some headers to the directory of the subsystem they belong to.
(This used to be commit c722f665c9)
2007-10-10 13:49:39 -05:00
Jelmer Vernooij
046a54f963 r12622: Move table.c prototypes to seperate header to prevent circular dependencies
with proto.h
(This used to be commit 9e0ba38037)
2007-10-10 13:49:06 -05:00
Jelmer Vernooij
aa9f67163c r12620: Get rid of automatically generated lists of init functions of subsystems.
This allows Samba libraries to be used by other projects (and parts of
Samba to be built as shared libraries).
(This used to be commit 44f0aba715)
2007-10-10 13:49:06 -05:00
Jelmer Vernooij
d4de4c2d21 r12608: Remove some unused #include lines.
(This used to be commit 70e7449318)
2007-10-10 13:49:03 -05:00
Jelmer Vernooij
46aa296cc9 r12592: Remove some useless dependencies
(This used to be commit ca8db1a0cd)
2007-10-10 13:49:00 -05:00
Jelmer Vernooij
19d606ce18 r12584: Move NDR tests from rpc/ to local/, add to list of tests
to run for 'make all'
(This used to be commit e71cd4778b)
2007-10-10 13:48:59 -05:00
Jelmer Vernooij
b9fa7bc48e r12558: Support [flag(NULLTERM)] on [charset()] arrays
(This used to be commit 2e5a6eb219)
2007-10-10 13:47:57 -05:00
Jelmer Vernooij
2cd5ca7d25 r12542: Move some more prototypes out to seperate headers
(This used to be commit 0aca5fd513)
2007-10-10 13:47:55 -05:00
Jelmer Vernooij
acd6a086b3 r12510: Change the DCE/RPC interfaces to take a pointer to a
dcerpc_interface_table struct rather then a tuple of interface
name, UUID and version.

This removes the requirement for having a global list of DCE/RPC interfaces,
except for these parts of the code that use that list explicitly
(ndrdump and the scanner torture test).

This should also allow us to remove the hack that put the authservice parameter
in the dcerpc_binding struct as it can now be read directly from
dcerpc_interface_table.

I will now modify some of these functions to take a dcerpc_syntax_id
structure rather then a full dcerpc_interface_table.
(This used to be commit 8aae0f168e)
2007-10-10 13:47:48 -05:00
Jelmer Vernooij
6aafed9600 r12499: Move smb_build.h out of includes.h
(This used to be commit c92ace494f)
2007-10-10 13:47:45 -05:00
Volker Lendecke
cfea76ac9b r12405: I'm afraid I can't take care of the xplogin test in the near future, so remove
it.

I'll add it again later when I have more time for it.

Volker
(This used to be commit 84ae166e91)
2007-10-10 13:47:34 -05:00
Stefan Metzmacher
37cc5873e0 r12075: remove NBT-WINSREPLICATION-QUICK test, as we now pass the NBT-WINSREPLICATION
test

metze
(This used to be commit 224dab45ab)
2007-10-10 13:47:06 -05:00
Andrew Tridgell
3aaa6ff496 r12008: added a simple LOCAL-SDDL test suite. Only one example so far. Will be
filled in with more examples as I expand the sddl parsing code.
(This used to be commit 8f80e483a3)
2007-10-10 13:46:58 -05:00
Andrew Tridgell
3294bf59aa r11850: added a test suite for the SMB2 find calls
(This used to be commit 3ac32d802b)
2007-10-10 13:46:38 -05:00
Andrew Tridgell
c7c4dc5b98 r11838: lower the default numops in smbtorture. When people want lots of
repeated operations they should manually specify --num-ops=XX

this should speed up a few of the build farm tests
(This used to be commit d91506e1ce)
2007-10-10 13:46:37 -05:00
Andrew Tridgell
fc04e3e795 r11801: - added basic SMB2 find support
- added SMB2-SCANFIND test

- cleaned up continue flags in EAs and find requests
(This used to be commit 8792bc07d9)
2007-10-10 13:46:29 -05:00
Andrew Tridgell
c8c7fb2492 r11775: added support for creating files on SMB2 with initial EA lists and an ACL
(This used to be commit ff19709298)
2007-10-10 13:46:25 -05:00
Andrew Tridgell
d931455e6e r11773: added a SMB2-SETINFO test suite. This tests the following levels:
BASIC_INFORMATION
DISPOSITION_INFORMATION
ALLOCATION_INFORMATION
END_OF_FILE_INFORMATION
POSITION_INFORMATION
MODE_INFORMATION
(This used to be commit 8804b6a7eb)
2007-10-10 13:46:24 -05:00
Andrew Tridgell
b51703baf1 r11730: added parsing and tests for a bunch more SMB2 getinfo levels
(This used to be commit ca65bf0235)
2007-10-10 13:46:18 -05:00
Andrew Tridgell
67a85b3f1b r11697: - added a generic SMB2 getinfo call
- added a SMB2-SCANGETINFO test for scanning for available info levels

- added names for the info levels I recognise to smb2.h
(This used to be commit fe5986067e)
2007-10-10 13:46:15 -05:00
Andrew Tridgell
4d74d259d8 r11695: added SMB2-SCAN torture test for scanning for active SMB2 opcodes
(This used to be commit aa3bcf952c)
2007-10-10 13:46:14 -05:00
Andrew Tridgell
686070a147 r11663: start of a SMB2 torture test. Just does a negprot and prints some fields for now.
test name is SMB2-CONNECT
(This used to be commit 13f27fadca)
2007-10-10 13:46:09 -05:00
Andrew Tridgell
b18ed75a75 r11660: - the libcli/raw/ lib no longer uses the SMBCLI_REQUEST_SEND state, or
the associated send queue

- fixed negnowait to not watch for the SMBCLI_REQUEST_SEND state
(This used to be commit d19235ede5)
2007-10-10 13:46:08 -05:00
Stefan Metzmacher
f8a3335cb4 r11091: add a NBT-WINSREPLICATION-QUICK test that passed the current samba4 server
metze
(This used to be commit 772467c8d4)
2007-10-10 13:44:47 -05:00
Stefan Metzmacher
2d29354a35 r10865: merge branches/SOC/SAMBA_4_0 into main the main SAMBA_4_0 tree
metze

 r8017@SERNOX:  metze | 2005-06-30 13:44:23 +0200
 create the SAMBA_4_0 branch for the Summer Of Code Project

 metze

 r8730@SERNOX:  brad | 2005-07-24 03:09:48 +0200
 Branching Samba 4
 r8731@SERNOX:  brad | 2005-07-24 06:39:00 +0200
 added 'make installmisc' to howto.txt
 added existing 'compression' option to level8 drsuapi torture test
 added new 'neighbour_writeable' option to level8 drsuapi torture test
 r8732@SERNOX:  brad | 2005-07-24 06:42:38 +0200
 added metze's dssync patch as source/torture/rpc/dssync.c
 r8739@SERNOX:  brad | 2005-07-25 00:24:46 +0200
 added a test called RPC-DSSYNC to config.mk
 hacking at dssync.c in an attempt to make it compile
 r8754@SERNOX:  brad | 2005-07-25 15:19:21 +0200
 Changing dssync.c to use ldb routines for accessing ldap rather than raw ldap calls.

 r8765@SERNOX:  brad | 2005-07-26 03:35:38 +0200
 more ldb changes to test_CompleteJoin(), it mostly kind of almost works now!

 r8766@SERNOX:  brad | 2005-07-26 03:56:00 +0200
 Trying to fix the crazy nesting in the branch
 r8769@SERNOX:  brad | 2005-07-26 04:48:29 +0200
 merging latest changes
 r8770@SERNOX:  brad | 2005-07-26 04:53:43 +0200
 removing nested branch
 r8793@SERNOX:  jerry | 2005-07-27 05:04:57 +0200
 merging on of Brad missing changes from the nested 4.0 branch debacle
 r8794@SERNOX:  jerry | 2005-07-27 05:14:42 +0200
 syncing up with the main 4_0 branch for Brad
 r8842@SERNOX:  brad | 2005-07-29 00:26:30 +0200
 merging changes from branches/SAMBA_4_0
 r8850@SERNOX:  brad | 2005-07-29 21:07:57 +0200
 Bringing my tree up to date
 r8851@SERNOX:  brad | 2005-07-30 00:48:04 +0200
 making dssync.c more ldb-centric, reverted samlogon.c from rev. 8845 to get my branch to compile again.
 r8856@SERNOX:  brad | 2005-07-30 03:20:33 +0200
 I think I have the ldb code down in test_CompleteJoin (not complete yet though)
 r8860@SERNOX:  brad | 2005-07-30 07:08:13 +0200
 Changed comments to C style /**/ (thanks Richard), some more changes to test_CompleteJoin().
 r8862@SERNOX:  brad | 2005-07-31 04:45:32 +0200
 Bringing the SOC/SAMBA_4_0 branch up to date.
 r8863@SERNOX:  brad | 2005-07-31 20:00:41 +0200
 Updated some missing files from the branch
 r8864@SERNOX:  brad | 2005-07-31 20:25:50 +0200
 Removing autogenerated files from branch
 r8865@SERNOX:  brad | 2005-07-31 20:43:58 +0200
 last of the unneeded files in SOC/SAMBA_4_0
 r9004@SERNOX:  brad | 2005-08-03 18:51:23 +0200
  r5214@buttercup:  j0j0 | 2005-08-03 10:44:30 -0600
   r@buttercup:  j0j0 | 2005-08-02 22:54:13 -0600
   creating a local branch of branches/SAMBA_4_0

 r9013@SERNOX:  brad | 2005-08-03 20:57:48 +0200
  r5228@buttercup:  j0j0 | 2005-08-03 13:00:11 -0600
  Fixing differences between this branch and /branches/SAMBA_4_0

 r9014@SERNOX:  brad | 2005-08-03 21:18:05 +0200
  r5231@buttercup:  j0j0 | 2005-08-03 13:23:12 -0600
  Updating config.mk so that smbtorture builds again

 r9061@SERNOX:  brad | 2005-08-04 18:17:36 +0200
  r5249@buttercup:  j0j0 | 2005-08-03 21:01:02 -0600
  Start using libnet_Join() for DC join.

 r9062@SERNOX:  brad | 2005-08-04 18:17:47 +0200
  r5250@buttercup:  j0j0 | 2005-08-04 10:21:34 -0600
  Some more work towards performing a dc join.

 r9064@SERNOX:  brad | 2005-08-04 18:53:51 +0200
  r5253@buttercup:  j0j0 | 2005-08-04 10:53:00 -0600
  Fixed a bug (passing a TALLOC_CTX to libnet_context_init() )

 r9069@SERNOX:  brad | 2005-08-04 21:59:55 +0200
  r5279@buttercup:  j0j0 | 2005-08-04 14:04:55 -0600
  Some more work on the domain join

 r9117@SERNOX:  brad | 2005-08-05 16:50:26 +0200
  r5281@buttercup:  j0j0 | 2005-08-05 08:55:58 -0600
  Committing minor changes before merge

 r9180@SERNOX:  brad | 2005-08-07 17:25:25 +0200
  r5314@buttercup:  j0j0 | 2005-08-07 09:30:12 -0600
  Reworked libnet_join to use two join levels, AUTOMATIC and SPECIFIED.

 r9181@SERNOX:  brad | 2005-08-07 17:25:36 +0200
  r5315@buttercup:  j0j0 | 2005-08-07 09:31:22 -0600
  Working with libnet_Join(), code cleanup needed in the near future.

 r9192@SERNOX:  brad | 2005-08-07 21:40:22 +0200
  r5373@buttercup:  j0j0 | 2005-08-07 13:46:09 -0600
  Some code cleanup to make things a little more readable.

 r9249@SERNOX:  brad | 2005-08-12 01:31:48 +0200
  r5375@buttercup:  j0j0 | 2005-08-11 17:38:44 -0600
  Split libnet_JoinDomain() into libnet_JoinDomain() and libnet_JoinADSDomain().

 r9256@SERNOX:  brad | 2005-08-12 04:55:11 +0200
  r5413@buttercup:  j0j0 | 2005-08-11 21:02:27 -0600
  Clean up libnet_JoinADSDomain() a little, added a comment to the test_join struct.

 r9314@SERNOX:  brad | 2005-08-16 03:53:20 +0200
  r5436@buttercup:  j0j0 | 2005-08-15 20:01:21 -0600
  libnet_JoinDomain() should honour LIBNET_JOIN_TORTURE now.
  torture_join_domain() should properly use libnet_JoinDomain().
  dssync.c uses torture_join_domain() again.

 r9351@SERNOX:  brad | 2005-08-17 07:15:31 +0200
  r5438@buttercup:  j0j0 | 2005-08-16 23:23:58 -0600
  Removed LIBNET_JOIN_TORTURE level, as it became unnecessary once libnet_Join_primary_domain() handled netbios names better.
  Corrected libnet_JoinDomain() and libnet_JoinADSDomain().

 r9352@SERNOX:  brad | 2005-08-17 07:24:49 +0200
  r5440@buttercup:  j0j0 | 2005-08-16 23:33:25 -0600
  Fixed a typo.

 r9354@SERNOX:  metze | 2005-08-17 10:28:25 +0200
 remove object files from svn

 metze
 r9376@SERNOX:  brad | 2005-08-18 05:15:48 +0200
  r5476@buttercup:  j0j0 | 2005-08-17 21:24:33 -0600
  Proof that I shouldn't code when i'm tired (silly bugfixes).

 r9405@SERNOX:  brad | 2005-08-19 22:50:10 +0200
  r5500@buttercup:  j0j0 | 2005-08-19 14:56:25 -0600
  Get dssync.c compiling again after merge (ldb_dn changes from rev. 9391).

 r9407@SERNOX:  brad | 2005-08-20 03:22:42 +0200
  r5502@buttercup:  j0j0 | 2005-08-19 19:28:22 -0600
  libnet/libnet_join.c
  Some more fixes so ldb uses ldb_dn's.

  torture/rpc/dssync.c
  Some debugging printf()'s.
  ldb_dn fixes.

  torture/rpc/testjoin.c
  Change torture_join_domain() to use libnet_JoinDomain() rather than libnet_Join().
  Some more debugging statements.

  I'm not sure why, but GUID_all_zero(user_handle.uuid) is returning true in torture_leave_domain() when called it from torture_destroy_context() in torture/rpc/dssync.c.
  That's what i'm working out now.

 r9427@SERNOX:  brad | 2005-08-20 18:38:29 +0200
  r5504@buttercup:  j0j0 | 2005-08-20 10:44:52 -0600
  Some bugfixes.
  Removed a bunch of debugging code.
  torture_leave_domain() works again! not 100% perfect yet though...

 r9428@SERNOX:  brad | 2005-08-20 19:09:26 +0200
  r5506@buttercup:  j0j0 | 2005-08-20 11:15:54 -0600
  Restructure torture_join_domain() so that it joins itself, removes itself, and joins itself to the domain again to ensure that its account information is all current and as expected.

 r9452@SERNOX:  brad | 2005-08-21 19:33:51 +0200
  r5508@buttercup:  j0j0 | 2005-08-21 11:40:36 -0600
  Bugfixes, trying to get things straight between contexts.

 r9467@SERNOX:  brad | 2005-08-22 04:00:48 +0200
  r5510@buttercup:  j0j0 | 2005-08-21 20:06:55 -0600
  Another round of bugfixing.

 r9521@SERNOX:  brad | 2005-08-23 15:26:44 +0200
  r5596@buttercup:  j0j0 | 2005-08-23 07:33:06 -0600
  Merging changes

 r9524@SERNOX:  metze | 2005-08-23 16:09:42 +0200
 - fix the build caused by changes in the main samba4 tree,
 - add an option "dssync:german=yes" to allow me to run against my german w2k3 server
   this should be replaces by CLDAP calls to get the Default-First-Site-Name dynamicly
 - remove some temporary comments, as DsAddEntry works now

 metze
 r9528@SERNOX:  metze | 2005-08-23 18:22:22 +0200
 the RPC-DSSYNC test is now able to fetch the whole tree,
 including the unicodePwd, ntPwdHistory fields

 metze
 r9559@SERNOX:  brad | 2005-08-24 04:11:47 +0200
  r5612@buttercup:  j0j0 | 2005-08-23 20:19:12 -0600
  Some fixes around using talloc in a hierarchical fashion.
  Still not right, but better.

 r9564@SERNOX:  brad | 2005-08-24 05:43:11 +0200
  r5614@buttercup:  j0j0 | 2005-08-23 21:50:38 -0600
  Gave libnet_JoinADSDomain() its own tmp_ctx rather than passing it from libnet_JoinDomain() as a parameter (yuk).

  As a side effect, it proves that my bug lies in libnet_JoinDomain(), not libnet_JoinADSDomain().

 r9565@SERNOX:  brad | 2005-08-24 06:09:46 +0200
  r5616@buttercup:  j0j0 | 2005-08-23 22:17:12 -0600
  Small fix, if r->out.error_string and r2->samr_handle.out.error_string weren't set to NULL, torture_join_domain() would segfault on the second join.

 r9630@SERNOX:  brad | 2005-08-26 06:42:50 +0200
 Commented out the parts of the dssync test which perform the dc join and create/remove associated ldap entries.

 Commented out the test for the 'german' dssync option, because now we detect the Site-Name using CLDAP. If cldap_netlogon() does not return ok, the code defaults to 'Default-First-Site-Name'.
 r9670@SERNOX:  brad | 2005-08-27 02:30:11 +0200
 Added a patch from metze.

 To showcase what i've learned today, i've created two new parameters which can be set at runtime, drsuapi:last_usn and drsuapi:partition.

 drsuapi:last_usn takes an integer representing the USN of the last recieved replication update for a particular partition (uses the domain dn if drsuapi:parition isn't set).

 That value is passed in the DsGetNCChanges() call so that only info which has been updated since that point in time is returned. If this option is not set, 0 is used by default, and all updates for that partition are returned.

 drsuapi:partition takes a string dn and uses that as the name of the AD partition to replicate.

 Some debugging output was also added.

 r9723@SERNOX:  brad | 2005-08-29 01:07:51 +0200
 Added some copyright notices.

 Changed some things in net_join.c to try and figure out why 'net join <domain> bdc' segfaults.
 It occurs when the last talloc_free() happens, so i'm sure it's something to do with the memory fiddling i'm doing in libnet_join.

 Added some drsuapi attribute ids that I figured out today.
 I put some (many, dry) notes together while doing that, so i'll try to put them up on a blog at samba.org a little later tonight.

 r9740@SERNOX:  metze | 2005-08-29 16:58:03 +0200
 fix up the DsGetNCchanges loop,
 and remove misleading comments

 metze
 r9743@SERNOX:  metze | 2005-08-29 17:26:45 +0200
 make the logic a bit clearer

 metze
 r9815@SERNOX:  brad | 2005-08-31 02:36:21 +0200
 Added cldap_netlogon() AD Site-Name lookup into libnet/libnet_join.c.
 Bugfixing rampage in libnet_join.c to resolve misunderstanding of talloc_steal().
 libnet_join now creates the CN=<netbios name>,CN=Servers,CN=<site name>,CN=Sites,CN=Configuration,<domain dn> container on a dc join.

 r9858@SERNOX:  brad | 2005-09-01 03:17:17 +0200
 Removed extraneous NDR_ALL subsystem requirement from torture/config.mk.
 Added lots of error checking as per metze's advice.
 Removed commented out code.
 More bug chasing.

 r9863@SERNOX:  brad | 2005-09-01 05:53:19 +0200
 Cleaned up dssync.c, removed the unneeded DsCrackNames() call, removed DC join/leave related stuff.
 It no longer looks like my house does!

 r9887@SERNOX:  metze | 2005-09-01 11:34:03 +0200
 - fix dssync:highest_usn parameter handling
 - ask for LINKED_ATTRIBUTE replication

 metze
 r9891@SERNOX:  metze | 2005-09-01 14:13:18 +0200
 make the code more readable, and fix a few bugs

 metze
 r9911@SERNOX:  brad | 2005-09-01 20:36:27 +0200
 Bugfixes in libnet_join.c.
 Cleaned up comments.
 Added domain_dn_str and account_dn_str to struct libnet_JoinDomain.
 Removed struct dcerpc_pipe *samr_pipe and struct policy_handle user_handle from struct libnet_Join.

 r9920@SERNOX:  brad | 2005-09-01 23:34:13 +0200
 Added disclaimer (I can't seem to get libnet_JoinDomain() to keep the samr_pipe and u_handle open past the function call, grrrr....).

 r9921@SERNOX:  brad | 2005-09-01 23:37:54 +0200
 Added copyright statement.
 Cleaned up unneeded variables from torture_join_domain().

 r9932@SERNOX:  brad | 2005-09-02 01:49:42 +0200
 Really rushed project notes.

 r10841@SERNOX:  metze | 2005-10-08 20:01:45 +0200
 remove diff to main SAMBA_4_0 branch

 metze
 r10862@SERNOX:  metze | 2005-10-10 10:31:52 +0200
 remove the differences between SAMBA_4_0 and SOC/SAMBA_4_0

 metze
 r10863@SERNOX:  metze | 2005-10-10 10:34:26 +0200
 fix the build

 metze
 r10864@SERNOX:  metze | 2005-10-10 11:10:08 +0200
 remove README file to reduce, diffs to main SAMBA_4_0 branch:

 metze

 README:
 This project was centered around adding a torture test to Samba 4, which used drsuapi_DsGetNCChanges() to retrieve the contents of an Active Directory in the same manner as an Active Directory DC replication event.

 As the project unfolded, I also applied some changes to the functionality of the libnet library related to joining a machine account to a domain.

 One of the first things that I implemented in this project was a 'neighbour_writeable' option for the RPC-DRSUAPI torture test. The command line to execute this torture test is as follows:

 smbtorture --option=drsuapi:neighbour_writeable=True -W <domain name> -U <admin username>%<password> ncacn_ip_tcp:<domain controller dns name> RPC-DRSUAPI

 This option provides us with runtime control over the DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE flag in the struct drsuapi_DsGetNCChanges.in.req.req<level>.replica_flags, allowing us to easily test for differences in the behaviour of AD replication with the switch on or off.

 In the course of the project, I also implemented two more flags for the RPC-DSSYNC test. dssync:last_usn takes an integer representing the USN (Universal Serial Number) of the last recieved replication update for a particular partition (uses the domain DN if drsuapi:parition isn't set).   That value is passed in the DsGetNCChanges() call so that only info which has been updated since that point in time is returned. If this option is not set, 0 is used by default, and all updates for that partition are returned.  dssync:partition takes a string DN and uses that as the name of the AD partition to replicate.

 Based initially on a patch provided to me by one of my mentors, Stephan (metze) Metzmacher, the RPC-DSSYNC test was implemented for this project. Initially functionality was included to perform a DC join prior to initiating replication, but the code was removed when it was realized that replication could indeed take place without being a member of the domain in any way. It has been recently suggested that we may need a DC join after all to get all of the information we may want from the AD replication. This is probably best added using a torture_join_domain() call once the libnet code is able to keep the user policy handle and SAMR RPC pipe open.

 The DC join code was taken out of the RPC-DSSYNC and implemented for the most part in the libnet libraries. To test this, the RPC-NETLOGON test was modified to perform a domain join, leave and rejoin. Currently, the test has a fault in that it is unable to leave the domain using the same SAMR RPC pipe and user_policy information as was used for the first join. This is because I was unable to get the code working properly in libnet to provide that functionality. Currently missing from the DC join in libnet is the code to create the CN=NTDS Settings,CN=<DC NETBIOS NAME>,CN=<Site-Name>,CN=Sites,CN=Configuration,<domain DN> container using the dcerpc_drsuapi_DsAddEntry() call. I did not want to implement this functionality in libnet while there were still problems with the code.

 I also provided the ability in libnet and the RPC-DSSYNC test to look up the proper site name using the cldap library.

 In my investigations, I was unable to find out any information regarding the UnicodePwd attribute, except that the same password is represented differently for two different users in the same directory.

 I was also able to resolve and confirm the meaning of some DRSUAPI_ATTRIBUTE ID's.
 	DRSUAPI_OBJECTCLASS_domain 	(0xA0042)
 	DRSUAPI_OBJECTCLASS_domainDNS 	(0xA0043)
 	wellKnownObjects 		(0x9026A)
 	fSMORoleOwner 			(0x90171)
 	name or dc			(0x90001)
 	whenCreated 			(0x20002)
 	instanceType 			(0x20001)
 	gPLink				(0x9037B)
 These were added to the IDL for drsuapi (source/librpc/idl/drsuapi.idl).

 I would like to thank everyone on the Samba team who worked with me and assisted me with this project, specifically all the work done by Stephan Metzmacher, Andrew Bartlett and Jerry Carter. Working on this project with the Samba team really has been a life changing experience, as corny as that sounds.

 I've realized that I was born to be a systems developer, and it has helped confirm in my mind that Open Source (specifically Samba) development is exactly what i've been missing!

 I would also like to take this opportunity to thank Chris Dibona and Google for the amazing opportunity. I don't know if I would have taken the leap in other circumstances.

 I know these notes sound a little rushed, but it is 23:55 after all! :)
(This used to be commit 55552b41cb)
2007-10-10 13:39:37 -05:00
Jelmer Vernooij
3b12c3bd34 r10594: Add initial framework for lib/registry torture tests
(This used to be commit 985c6a8fcc)
2007-10-10 13:39:09 -05:00
Jelmer Vernooij
87af8061c7 r10592: Add "adfgets()" function, which allocates and reads a line from a fd.
Also add torture tests for this function and file_{load,save}. I've hardcoded
a file name here.. should I handle that neater somehow?
(This used to be commit 8fa383f182)
2007-10-10 13:39:08 -05:00
Jelmer Vernooij
85abc86b21 r10514: Add str_list_make_shell() and str_list_join_shell()
(This used to be commit 8b86a5da73)
2007-10-10 13:38:59 -05:00
Andrew Bartlett
5a522b3100 r10486: This is a merge of Brad Henry's 'net join' rework, to better perform
an ADS join, particularly as a DC.  This represents the bulk of his
Google SOC work, and I'm very pleased to intergrate it into the tree.
(Metze will intergrate the DRSUAPI work later).

Both metze and myself have also put a lot of time into this patch, and
in mentoring Brad in general.  In return, Brad has been a very good
student, and has taken the comments well.

Since it's last appearance on samba-technical@, I have made
correctness and valgrind fixups, as well as adding a new 'BINDING'
mode to the libnet_rpc routines.  This allows the exact binding string
to be passed down from the torture code, including options and exact
target host.

Andrew Bartlett
(This used to be commit d6fa105fda)
2007-10-10 13:38:53 -05:00
Jelmer Vernooij
f3b412fbd6 r10438: Move portability functions to lib/replace/; replace now simply ensures
that a given set of (working) POSIX functions are available (without
prefixes to their names, etc). See lib/replace/README for a list.

Functions that behave different from their POSIX specification
(such as sys_select, sys_read, etc) have kept the sys_ prefix.
(This used to be commit 29919a7105)
2007-10-10 13:38:45 -05:00
Jelmer Vernooij
349294d358 r10315: Remove use of fstring and pstring in dynconfig.c
Remove unused includes of dynconfig.h
(This used to be commit 59083b7ba6)
2007-10-10 13:38:17 -05:00
Andrew Tridgell
6bfea63356 r10199: added a LOCAL-RESOLVE torture test, useful for measuring the overhead of
the async name resolution mechanisms
(This used to be commit b3a9d759bb)
2007-10-10 13:38:08 -05:00
Andrew Bartlett
1a316fd8c5 r9727: A simplier test I can aim at passing when I get the cracknames code done.
Andrew Bartlett
(This used to be commit b1b0e26e53)
2007-10-10 13:34:53 -05:00
Volker Lendecke
11f4803d00 r9584: Fix a race condition in Samba 3. If two files are opened simultaneously with
NTCREATEX_DISP_CREATE (create if not exists, else fail) they might end up with
two or more times NT_STATUS_OK as EEXIST is not correctly handled.

Jeremy, please look closely at this. You can easily verify this by adding a
smb_msleep(100) to the top of open_file_ntcreate and run the new samba4
torture test. It does also happen without the msleep, but not as reliably.

Thanks,

Volker
(This used to be commit c803d4c9a5)
2007-10-10 13:34:32 -05:00
Rafal Szczesniak
d1743c93df r8975: Very basic test for delshare function based on code submitted
by Gregory LEOCADIE <gleocadie@idealx.com>.

rafal
(This used to be commit 4d4d1ab37d)
2007-10-10 13:31:02 -05:00
Rafal Szczesniak
2a45ec2049 r8930: Add the libnet share tests based on code submitted by
Gregory Leocadie <gleocadie@idealx.com>. Listing shares passes,
deleting not yet - it's a work in progress.

rafal
(This used to be commit 5c53498a4a)
2007-10-10 13:30:58 -05:00
Andrew Tridgell
c798d287ed r8859: having been successfully mailbombed by build@samba.org, fix the build again
(This used to be commit aac733067a)
2007-10-10 13:30:13 -05:00
Andrew Tridgell
483ab8bfce r8858: just to make sure it works on the main trees, deliberately break the samba4 build
I expect to get a flood of nastygrams from build@samba.org for this ....
(This used to be commit 578b1cad40)
2007-10-10 13:30:13 -05:00
Rafal Szczesniak
6366a8dc2d r8693: Test code for usermod routine.
rafal
(This used to be commit 19f5ea9c9c)
2007-10-10 13:29:54 -05:00
Andrew Tridgell
e835621799 r8520: fixed a pile of warnings from the build farm gcc -Wall output on
S390. This is an attempt to avoid the panic we're seeing in the
automatic builds.

The main fixes are:

 - assumptions that sizeof(size_t) == sizeof(int), mostly in printf formats

 - use of NULL format statements to perform dn searches.

 - assumption that sizeof() returns an int
(This used to be commit a58ea6b385)
2007-10-10 13:29:34 -05:00
Andrew Tridgell
76ecf81428 r8273: fixed some memory leaks in smbscript. This required converting
file_load() to use talloc, which impacted quite a few bits of code,
including our smb.conf processing.

took the opportunity to remove the gloabls in params.c while doing this
(This used to be commit b220756cb4)
2007-10-10 13:19:29 -05:00
Jeremy Allison
3de3d6a02d r8174: Check DOS error codes in torture chkpath test.
Jeremy.
(This used to be commit ff58ecad04)
2007-10-10 13:19:17 -05:00
Andrew Tridgell
8ade96e5e4 r8121: yuck. w2k3 seems to choose ERRDOS:ERRbaduid or
NT_STATUS_INVALID_HANDLE on a per call basis for a bad vuid. That
means it is doing checking for a valid vuid in each backend function,
rather than globally. I don't want to emulate that as it is way too
error prone, and could easily lead to a security hole, so instead
accept either error code in our test suite.
(This used to be commit aefa9e53fa)
2007-10-10 13:19:11 -05:00
Andrew Tridgell
fee56ea900 r8117: fixed a bunch more dos error code handing.
The biggest change was fixing the RAW-CONTEXT test. It was forcing
capabilities to zero in an attempt to not negotiated extended
security, but as a side effect it was forcing negotiation of dos error
codes. This confused the hell out of the test code!

Also fixed a bunch of places incorrectly using NT_STATUS_V() instead
of NT_STATUS_EQUAL() and several places that had the wrong dos status
codes
(This used to be commit 0b22744f40)
2007-10-10 13:19:10 -05:00
Andrew Bartlett
dbd2688c90 r8110: More PAC work. I still can't get WinXP to accept the PAC, but we are
much closer.

This changes PIDL to allow a subcontext to have a pad8 flag, saying to
pad behind to an 8 byte boundary.  This is the only way I can explain
the 4 trainling zeros in the signature struct.

Far more importantly, the PAC code is now under self-test, both in
creating/parsing our own PAC, but also a PAC from my win2k3 server.
This required changing auth_anonymous, because I wanted to reuse the
anonymous 'server_info' generation code.

I'm still having trouble with PIDL, particulary as surrounds value(),
but I'll follow up on the list.

Andrew Bartlett
(This used to be commit 50a54bf4e9)
2007-10-10 13:19:09 -05:00
Andrew Tridgell
e0d521ca79 r8104: - added support for our client library to not negotiate nt status codes, controlled
with 'nt status support' option.

- make nt_errstr() display nice strings for dos status codes encoded
  using NT_STATUS_DOS()

- no longer map between dos and nt status codes in the client library,
  instead return using NT_STATUS_DOS()

- fixed the RAW-CONTEXT test to look for
  NT_STATUS_DOS(ERRSRV, ERRbaduid) instead of NT_STATUS_INVALID_HANDLE
(This used to be commit ff5549e87f)
2007-10-10 13:19:08 -05:00
Volker Lendecke
661a6f7c44 r8099: clean up after BASE-TCON
(This used to be commit 23bff7bf6c)
2007-10-10 13:19:08 -05:00
Rafal Szczesniak
2e419725b0 r8081: Add simple test for RpcConnect function.
rafal
(This used to be commit 0209fc67ad)
2007-10-10 13:19:06 -05:00
Andrew Tridgell
361d126d01 r8051: separate out the MAX EAs test, as it fills disk too much to be run regularly
(This used to be commit dac526845e)
2007-10-10 13:19:03 -05:00
Rafal Szczesniak
cc98a92bb0 r7816: Implementation of "shortcut" function for those (probably many) who
don't like to bother with netbios type names when looking for common
types: hosts (servers) and domain controllers. Also, apropriate tests

rafal
(This used to be commit 50cd94be0f)
2007-10-10 13:18:40 -05:00
Rafal Szczesniak
72acf91d44 r7738: It's actually an API function test.
rafal
(This used to be commit ec29a1ffa7)
2007-10-10 13:18:28 -05:00
Rafal Szczesniak
982b3d7412 r7737: Test for libnet_Lookup function.
rafal
(This used to be commit 4655881fac)
2007-10-10 13:18:28 -05:00
Andrew Tridgell
ee57c76a68 r7704: - fixed open_nbt_connection() to return NULL when the connection failed
- got rid of smbcli_shutdown() and use talloc_free() instead.
(This used to be commit 1011b1bf51)
2007-10-10 13:18:23 -05:00
Andrew Bartlett
b0f5ac8248 r7684: Add a test aimed at checking we have agreement between client and
server as to the CIFS session key.

JRA had pain with this being wrong against NT4 (without spnego), hence
this specific test.

Andrew Bartlett
(This used to be commit 47f433708b)
2007-10-10 13:18:22 -05:00
Andrew Tridgell
af237084ec r7633: this patch started as an attempt to make the dcerpc code use a given
event_context for the socket_connect() call, so that when things that
use dcerpc are running alongside anything else it doesn't block the
whole process during a connect.

Then of course I needed to change any code that created a dcerpc
connection (such as the auth code) to also take an event context, and
anything that called that and so on .... thus the size of the patch.

There were 3 places where I punted:

  - abartlet wanted me to add a gensec_set_event_context() call
    instead of adding it to the gensec init calls. Andrew, my
    apologies for not doing this. I didn't do it as adding a new
    parameter allowed me to catch all the callers with the
    compiler. Now that its done, we could go back and use
    gensec_set_event_context()

  - the ejs code calls auth initialisation, which means it should pass
    in the event context from the web server. I punted on that. Needs fixing.

  - I used a NULL event context in dcom_get_pipe(). This is equivalent
    to what we did already, but should be fixed to use a callers event
    context. Jelmer, can you think of a clean way to do that?

I also cleaned up a couple of things:

 - libnet_context_destroy() makes no sense. I removed it.

 - removed some unused vars in various places
(This used to be commit 3a3025485b)
2007-10-10 13:18:15 -05:00
Andrew Bartlett
2b4791ae73 r7525: Unify lp_load(), load_interfaces and logging setup into popt().
There is now a new --debug-stderr option to enable debug to STDERR.

popt isn't perfect, but the callbacks are used in all the main Samba
binaries, and should be used in the rest.  This avoids duplicated
code, and ensures every binary is setup correctly.

This also ensures the setup happens early enough to have -s function,
and have a correct impact on the credentials code.  (Fixing a bug that
frustrated tridge earlier today).

The only 'subtle' aspect of all this is that I'm pretty sure that the
SAMBA_COMMON popt code must be above the CREDENTIALS code, in the
popt tables.

Andrew Bartlett
(This used to be commit 50f3c2b3a2)
2007-10-10 13:18:06 -05:00
Andrew Tridgell
82da98a1da r7494: added --maximum-runtime to smbtorture as well. I have seen smbtorture
get stuck waiting on no file descriptors, with no timeout, so it sits
forever. I need to fix that bug separately, but to prevent build farm
machines being totally stuck, this timeout will be used.
(This used to be commit 5cccf0a770)
2007-10-10 13:18:00 -05:00
Tim Potter
6412e8eeae r7482: Rename smbcli_send_tconX() to smbcli_tconX() so as not to get it
confused with an async function.
(This used to be commit 340ad67cad)
2007-10-10 13:17:58 -05:00
Rafal Szczesniak
74c5b52962 r7383: Add CreateUser test to torture suite.
rafal
(This used to be commit bac24d9774)
2007-10-10 13:17:49 -05:00
Rafal Szczesniak
4a456f2fbc r7325: Add composite domain open test.
rafal
(This used to be commit 2614aa6934)
2007-10-10 13:17:42 -05:00
Andrew Tridgell
bf1ffa283c r7294: implemented the irpc messaging system. This is the core of the
management system I proposed on samba-technical a couple of days
ago. Essentially it is a very lightweight way for any code in Samba to
make IDL based rpc calls to anywhere else in the code, without the
client or server having to go to the trouble of setting up a full rpc
service.

It can be used with any of our existing IDL, but I expect it will
mostly be used for a new set of Samba specific management calls.

The LOCAL-IRPC torture test demonstrates how it can be used by calling
the echo_AddOne() call over this transport.
(This used to be commit 3d589a0995)
2007-10-10 13:17:37 -05:00
Jeremy Allison
72cc1a1f12 r6975: Test opening filenames with control characters in fails
with INVALID_NAME.
Jeremy.
(This used to be commit ec72d7d614)
2007-10-10 13:17:01 -05:00
Tim Potter
2b7fe67f4d r6933: Add a couple of helper functions for creating nbt names.
(This used to be commit b896daf11c)
2007-10-10 13:16:58 -05:00
Volker Lendecke
283991e1ff r6907: Unixinfo for samba4, not activated by default.
Volker
(This used to be commit 81ddffde36)
2007-10-10 13:16:56 -05:00
Andrew Tridgell
b836187484 r6875: added a BENCH-CLDAP test. Speed of the cldap server isn't all that important, but it does
help find memory leaks (and in fact, there was one, fixed in next commit)
(This used to be commit ab19e38c23)
2007-10-10 13:16:53 -05:00
Andrew Tridgell
f378a9e133 r6869: removed completely bogus BASE-RW2 test
(This used to be commit b3dd5c326e)
2007-10-10 13:16:52 -05:00
Andrew Tridgell
191c8b5082 r6694: a simple CLDAP torture test
interestingly, w2k3 seems to have 4 different varients of the netlogon
cldap response. We decode two of them so far. The other two are tricky
as they aren't distinguished by a command code, they use the same
command codes (0x13 and 0x17) but have quite a different format. Very
strange!
(This used to be commit 58f1c39282)
2007-10-10 13:16:35 -05:00
Andrew Tridgell
1fd59e3d61 r6556: added BENCH-RPC test, useful for simple rpc load testing
(This used to be commit d1e0b7a2e3)
2007-10-10 13:16:25 -05:00
Rafal Szczesniak
adcd33c906 r6415: Added NET-USERDEL torture test which proves something's wrong
with user del function.

rafal
(This used to be commit a6b1911882)
2007-10-10 13:11:36 -05:00
Rafal Szczesniak
3df967fe74 r6406: Include new NET-USERADD test in torture suite.
rafal
(This used to be commit 0dc416b8e4)
2007-10-10 13:11:35 -05:00
Andrew Tridgell
7c6c366150 r6223: added a bit more datagram infrastructure and the beginnings of a test
suite. The NBT-DGRAM test does a UDP/138 netlogon request, to which a
windows server sends a reply, but the windows server sends the reply
to the wrong port (it always sends to 138), so the test suite doesn't
see it.
(This used to be commit a7634625db)
2007-10-10 13:11:27 -05:00
Andrew Bartlett
2eb3d68062 r6028: A MAJOR update to intergrate the new credentails system fully with
GENSEC, and to pull SCHANNEL into GENSEC, by making it less 'special'.

GENSEC now no longer has it's own handling of 'set username' etc,
instead it uses cli_credentials calls.

In order to link the credentails code right though Samba, a lot of
interfaces have changed to remove 'username, domain, password'
arguments, and these have been replaced with a single 'struct
cli_credentials'.

In the session setup code, a new parameter 'workgroup' contains the
client/server current workgroup, which seems unrelated to the
authentication exchange (it was being filled in from the auth info).

This allows in particular kerberos to only call back for passwords
when it actually needs to perform the kinit.

The kerberos code has been modified not to use the SPNEGO provided
'principal name' (in the mechListMIC), but to instead use the name the
host was connected to as.  This better matches Microsoft behaviour,
is more secure and allows better use of standard kerberos functions.

To achieve this, I made changes to our socket code so that the
hostname (before name resolution) is now recorded on the socket.

In schannel, most of the code from librpc/rpc/dcerpc_schannel.c is now
in libcli/auth/schannel.c, and it looks much more like a standard
GENSEC module.  The actual sign/seal code moved to
libcli/auth/schannel_sign.c in a previous commit.

The schannel credentails structure is now merged with the rest of the
credentails, as many of the values (username, workstation, domain)
where already present there.  This makes handling this in a generic
manner much easier, as there is no longer a custom entry-point.

The auth_domain module continues to be developed, but is now just as
functional as auth_winbind.  The changes here are consequential to the
schannel changes.

The only removed function at this point is the RPC-LOGIN test
(simulating the load of a WinXP login), which needs much more work to
clean it up (it contains copies of too much code from all over the
torture suite, and I havn't been able to penetrate its 'structure').

Andrew Bartlett
(This used to be commit 2301a4b38a)
2007-10-10 13:11:15 -05:00
Andrew Bartlett
645711c602 r5941: Commit this patch much earlier than I would normally prefer, but metze needs a working tree...
The main volume of this patch was what I started working on today:
 - Cleans up memory handling around DCE/RPC pipes, to have a parent talloc context.
 - Uses sepereate inner loops for some of the DCE/RPC tests

The other and more important part of this patch fixes issues
surrounding the new credentials framwork:

This makes the struct cli_credentials always a talloc() structure,
rather than on the stack.  Parts of the cli_credentials code already
assumed this.

There were other issues, particularly in the DCERPC over SMB handling,
as well as little things that had to be tidied up before test_w2k3.sh
would start to pass.

Andrew Bartlett
(This used to be commit 0453f9d05d)
2007-10-10 13:11:11 -05:00
Jelmer Vernooij
13b0776f60 r5929: Use cli_credentials for the SMB functions as well.
Fix a couple of bugs in the new cli_credentials code
(This used to be commit 4ad481cfe5)
2007-10-10 13:11:09 -05:00
Jelmer Vernooij
05bc2d7b2c r5928: Use cli_credentials in:
- gtk+ (returned by GtkHostBindingDialog as well now)
 - torture/
 - librpc/
 - lib/com/dcom/
(This used to be commit ccefd78233)
2007-10-10 13:11:08 -05:00
Jelmer Vernooij
02075be0bb r5917: First step in using the new cli_credentials structure. This patch
puts support for it into popt_common, adds a few utility functions
(in lib/credentials.c) and the callback functions for the command-line
(lib/cmdline/credentials.c). Comments are welcome :-)
(This used to be commit 1d49b57c50)
2007-10-10 13:11:08 -05:00
Andrew Bartlett
df64302213 r5902: A rather large change...
I wanted to add a simple 'workstation' argument to the DCERPC
authenticated binding calls, but this patch kind of grew from there.

With SCHANNEL, the 'workstation' name (the netbios name of the client)
matters, as this is what ties the session between the NETLOGON ops and
the SCHANNEL bind.  This changes a lot of files, and these will again
be changed when jelmer does the credentials work.

I also correct some schannel IDL to distinguish between workstation
names and account names.  The distinction matters for domain trust
accounts.

Issues in handling this (issues with lifetime of talloc pointers)
caused me to change the 'creds_CredentialsState' and 'struct
dcerpc_binding' pointers to always be talloc()ed pointers.

In the schannel DB, we now store both the domain and computername, and
query on both.  This should ensure we fault correctly when the domain
is specified incorrectly in the SCHANNEL bind.

In the RPC-SCHANNEL test, I finally fixed a bug that vl pointed out,
where the comment claimed we re-used a connection, but in fact we made
a new connection.

This was achived by breaking apart some of the
dcerpc_secondary_connection() logic.

The addition of workstation handling was also propogated to NTLMSSP
and GENSEC, for completeness.

The RPC-SAMSYNC test has been cleaned up a little, using a loop over
usernames/passwords rather than manually expanded tests.  This will be
expanded further (the code in #if 0 in this patch) to use a newly
created user account for testing.

In making this test pass test_rpc.sh, I found a bug in the RPC-ECHO
server, caused by the removal of [ref] and the assoicated pointer from
the IDL.  This has been re-added, until the underlying pidl issues are
solved.
(This used to be commit 824289dcc2)
2007-10-10 13:11:07 -05:00
Jelmer Vernooij
ef213b0248 r5866: Add InitShutdown IDL and torture test.
Implement push side of NDR_LEN4|NDR_NOTERM strings (pull side was already present)
(This used to be commit ea61ec1122)
2007-10-10 13:11:05 -05:00
Rafal Szczesniak
b55b885f1b r5651: A bit more code in userinfo test and hook up test function to
main torture binary.

rafal
(This used to be commit 94955e5325)
2007-10-10 13:10:56 -05:00
Jelmer Vernooij
80d3047333 r5490: The big (D)COM commit! :-) Contains most of the changes described in the
DCOM paper in lorikeet. This is the result of 1.5 months work (mainly
figuring out how things *really* work) at the end of 2004.

In general:
- Clearer distinction between COM and DCOM. DCOM is now merely
  the glue between DCE/RPC+ORPC and COM. COM can also work without
  DCOM now. This makes the code a lot clearer.
- Clearer distinction between NDR and DCOM. Before, NDR had a couple of
  "if"s to cope with DCOM, which are now gone.
- Use "real" arguments rather then structures for function arguments in
  COM, mainly because most of these calls are local so packing/unpacking
  data for every call is too much overhead (both speed- and code-wise)
- Support several mechanisms to load class objects:
  - from memory (e.g. part of the current executable, registered at start-up)
  - from shared object files
  - remotely
- Most things are now also named COM rather then DCOM because that's what it
  really is. After an object is created, it no longer matters whether it
  was created locally or remotely.

There is a very simple example class that contains
both a class factory and a class that implements the IStream interface.
It can be tested (locally only, remotely is broken at the moment)
by running the COM-SIMPLE smbtorture test.

Still to-do:
 - Autogenerate parts of the class implementation code (using the coclass definitions in IDL)
 - Test server-side
 - Implement some of the common classes, add definitions for common interfaces.
(This used to be commit 71fd3e5c3a)
2007-10-10 13:10:50 -05:00
Jelmer Vernooij
a62ade362f r5487: - Allow disabling modules
- Disable all current DCOM functionality (I hope to commit
	a large bunch of COM and DCOM changes later today)
- Make remact and oxidresolver depend on orpc rather then dcom
(This used to be commit f298f2a547)
2007-10-10 13:10:50 -05:00
Andrew Tridgell
14bd4b8184 r5415: added a NBT-WINSREPLICATION torture test. It asks the server for the
list of partners, and for each partner dumps the complete list of
names
(This used to be commit dacf5f166a)
2007-10-10 13:10:44 -05:00
Andrew Tridgell
82e6a6e46b r5403: a simple WINS benchmarking program
(This used to be commit d0f8b5bc6d)
2007-10-10 13:10:42 -05:00
Andrew Tridgell
75ddf59ea1 r5308: trimmed back a lot of the old macros from smb_macros.h
(This used to be commit bf43c9bdcf)
2007-10-10 13:09:40 -05:00
Andrew Tridgell
e82aad1ce3 r5298: - got rid of pstring.h from includes.h. This at least makes it a bit
less likely that anyone will use pstring for new code

 - got rid of winbind_client.h from includes.h. This one triggered a
   huge change, as winbind_client.h was including system/filesys.h and
   defining the old uint32 and uint16 types, as well as its own
   pstring and fstring.
(This used to be commit 9db6c79e90)
2007-10-10 13:09:38 -05:00
Andrew Tridgell
b9bb7f596d r5294: - added a separate NBT-WINS test for WINS operations (register, refresh, release and query)
- change the iface_n_*() functions to return a "const char *" instead of a "struct ipv4_addr"
  I think that in general we should move towards "const char *" for
  all IP addresses, as this makes IPv6 much easier, and is also easier
  to debug. Andrew, when you get a chance, could you fix some of the
  auth code to use strings for IPs ?

- return a NTSTATUS error on bad name queries and node status instead
  of using rcode. This makes the calling code simpler.

- added low level name release code in libcli/nbt/

- use a real IP in the register and wins nbt torture tests, as w2k3
  WINS server silently rejects some operations that don't come from the
  IP being used (eg. it says "yes" to a release, but does not in fact
  release the name)
(This used to be commit bb1ab11d8e)
2007-10-10 13:09:37 -05:00
Andrew Tridgell
831e06810a r5156: started on test driven development of the nbt server. This adds a
NBT-REGISTER test that tests that a server correctly defends its name
against broadcast name registrations.

Jeremy, you might like to look at this. Samba3 nmbd fails to respond.
(This used to be commit bb1298a2eb)
2007-10-10 13:09:28 -05:00
Andrew Tridgell
75049fb66f r5130: added a single NBT name query benchmark. It keeps 10 queries in flight at a time.
(This used to be commit 2d23c665ff)
2007-10-10 13:09:25 -05:00
Andrew Tridgell
759da3b915 r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for the
large commit. I thought this was worthwhile to get done for
consistency.
(This used to be commit ec32b22ed5)
2007-10-10 13:09:15 -05:00
Tim Potter
8bf94dc7f7 r4973: Add a RAP scanner to smbtorture. win2k has call numbers 0-215 although
the cifs tr lists 250-318 also.
(This used to be commit 37b4d1a676)
2007-10-10 13:09:10 -05:00
Andrew Tridgell
913006fa2e r4899: fixed build
(This used to be commit 852f1e73b4)
2007-10-10 13:09:04 -05:00
Andrew Tridgell
2383787f19 r4891: - added a generic resolve_name() async interface in libcli/resolve/,
which will eventually try all resolution methods setup in smb.conf

 - only resolution backend at the moment is bcast, which does a
   parallel broadcast to all configured network interfaces, and takes
   the first reply that comes in (this nicely demonstrates how to do
   parallel requests using the async APIs)

 - converted all the existing code to use the new resolve_name() api

 - removed all the old nmb code (yay!)
(This used to be commit 239c310f25)
2007-10-10 13:09:03 -05:00
Andrew Tridgell
8783aa8ea5 r4831: added udp support to our generic sockets library.
I decided to incorporate the udp support into the socket_ipv4.c
backend (and later in socket_ipv6.c) rather than doing a separate
backend, as so much of the code is shareable. Basically this adds a
socket_sendto() and a socket_recvfrom() call and not much all.

For udp servers, I decided to keep the call as socket_listen(), even
though dgram servers don't actually call listen(). This keeps the API
consistent.

I also added a simple local sockets testsuite in smbtorture,
LOCAL-SOCKET
(This used to be commit 9f12a45a05)
2007-10-10 13:08:59 -05:00
Andrew Tridgell
61a3d370b9 r4758: - added async support to the session request code
- added async support to the negprot client code

- removed two unused parameters from smbcli_full_connection() code

- converted smbclient to use smbcli_full_connection() rather than
  reinventing everything itself
(This used to be commit 71cbe28734)
2007-10-10 13:08:50 -05:00
Andrew Tridgell
e89fd49df7 r4757: added the ability of the clisocket level of libcli to handle async
socket connections. This was complicated by a few factors:

 - it meant moving the event context from clitransport to clisocket,
   so lots of structures changed

 - we need to asynchronously handle connection to lists of port
   numbers, not just one port number. The code internally tries each
   port in the list in turn, without ever blocking

 - the man page on how connect() is supposed to work asynchronously
   doesn't work in practice (now why doesn't this surprise me?). The
   getsockopt() for SOL_ERROR is supposed to retrieve the error, but
   in fact the next (unrelated) connect() call on the same socket also
   gets an error, though not the right error. To work around this I
   need to tear down the whole socket between each attempted port. I
   hate posix.

Note that clisocket.c still does a blocking name resolution call in
smbcli_sock_connect_byname(). That will be fixed when we add the async
NBT resolution code.

Also note that I arranged things so that every SMB connection is now
async internally, so using plain smbclient or smbtorture tests all the
async features of this new code.
(This used to be commit 468f8ebbfd)
2007-10-10 13:08:50 -05:00
Andrew Tridgell
1d795fa57b r4700: first attempt at a composite async function, smb_composite_loadfile(),
which combineds ntcreatex, readx and close into a single call that
behaves just like a normal libcli async call.
(This used to be commit 516f68fb05)
2007-10-10 13:08:45 -05:00
Andrew Tridgell
ab9ca55926 r4617: basic alter_context requests now work in our client library. The test
just does a simple LSA/DSSETUP combo, which is what w2k does in the
ACL editor rpc calls that triggered this work
(This used to be commit 0129ec947a)
2007-10-10 13:08:34 -05:00
Andrew Tridgell
500d5523d2 r4475: fixed smbd to work with the small changes in the ldb API (the most important
change was in the ldb_msg_add_*() routines, which now use the msg as a context,
and thus it needs to be a talloc ptr)
(This used to be commit 1a4713bfd0)
2007-10-10 13:07:55 -05:00
Andrew Tridgell
dda32aa5ba r4451: added initial RPC-DSSETUP torture test. It works for level1 of
ds_RolerGetPrimaryDomainInformation()
(This used to be commit 7aec3dac6f)
2007-10-10 13:07:52 -05:00
Stefan Metzmacher
00c7f9eed8 r4422: make lp_set_cmdline("torture:dangerous", "Yes") a bool parameter
metze
(This used to be commit 19482a2245)
2007-10-10 13:07:47 -05:00
Stefan Metzmacher
6acf7a782c r4169: add descriptions about binding and unc strings to the
smbtorture --usage --help output

metze
(This used to be commit 26a7f4cf5e)
2007-10-10 13:07:22 -05:00
Stefan Metzmacher
9112a632f6 r4063: - change char * -> uint8_t in struct request_buffer
- change smbcli_read/write to take void * for the buffers to match read(2)/write(2)

all this fixes a lot of gcc-4 warnings

metze
(This used to be commit b94f92bc66)
2007-10-10 13:06:21 -05:00
Andrew Tridgell
58c326809a r4052: fixed a bunch of code to use the type safe _p allocation macros
(This used to be commit 80d15fa340)
2007-10-10 13:06:18 -05:00
Andrew Tridgell
cc8f4358cc r4035: more effort on consistent naming of the access mask bits.
This removes the duplicate named SEC_RIGHTS_MAXIMUM_ALLOWED and
SEC_RIGHTS_FULL_CONTROL, which are just other names for
SEC_FLAG_MAXIMUM_ALLOWED and SEC_RIGHTS_FILE_ALL. The latter names
match the new naming conventions in security.idl

Also added names for the generic->specific mappings for files are
directories
(This used to be commit 17a4e0b3ac)
2007-10-10 13:06:16 -05:00
Andrew Tridgell
607e302238 r4013: got rid of a bunch of unused or unmaintained code
- removed the clitar code. It is unmaintained, and a horribly badly done hack

 - removed client.h as it contained mostly unused definitions

 - removed the unused clidfs.c code
(This used to be commit 31a7bddbb3)
2007-10-10 13:06:15 -05:00
Andrew Tridgell
fdc9f417d8 r4011: get rid of rpc_secdes.h and replace it with a single sane set of
definitions for security access masks, in security.idl

The previous definitions were inconsistently named, and contained many
duplicate and misleading entries. I kept finding myself tripping up
while using them.
(This used to be commit 01c0fa722f)
2007-10-10 13:06:13 -05:00
Andrew Tridgell
9e5bee246f r3945: expanded the BASE-PROPERTIES test to print a nicely formatted list of
the capabilities and filesystem attribute bits of the server.
(This used to be commit 9debe29381)
2007-10-10 13:06:07 -05:00
Jelmer Vernooij
cc368fa69e r3898: Work towards local/server DCOM support, start working
on Simple example server side implementation
(This used to be commit 98afb504d9)
2007-10-10 13:06:02 -05:00
Jelmer Vernooij
d53fd3d8d5 r3891: Add rot (Running Object Table) interface
(This used to be commit 4840eaeed3)
2007-10-10 13:06:02 -05:00
Andrew Tridgell
bbf009b46f r3829: added a RAW-ACLS test suite that tests query/set of ACLs on a file
(This used to be commit 2ff9816ae0)
2007-10-10 13:05:57 -05:00
Andrew Tridgell
4719461a07 r3746: added RAW-STREAMS and RAW-EAS tests to smbtorture
(This used to be commit 5ed3d68d20)
2007-10-10 13:05:50 -05:00
Andrew Tridgell
0e255bb542 r3699: - split the delayed write testing out of RAW-WRITE, as it is not yet
clear what the correct behaviour is for delayed stat info update.

- use a common torture_setup_dir() function for setting up a test
  directory in torture tests.
(This used to be commit f7fb34715b)
2007-10-10 13:05:45 -05:00
Andrew Bartlett
fd5135a63b r3686: The results of some work on the NETLOGON pipe:
Break out the samsync tests from RPC-NETLOGON into a new RPC-SAMSYNC,
that will cross-verify all the values.

Add support for the way netlogon credentials are shared between the
pipe that sets up schannel and the pipe that is encrypted with it.

Test this support, by calling both NETLOGON and SAMR operations in the
RPC-SCHANNEL test.

Move some of the Netlogon NEG flags into the .idl, now we have an idea
what a few of them really are.

Rename the sam_pwd_hash into a name that has meaning (all other crypto
functions were renamed in Samba4 ages ago).

Break out NTLMv2 functionality for operation on the NT hash - I intend
to do NTLMv2 logins in the samsync test in future, and naturally I
only have the hash.

Andrew Bartlett
(This used to be commit 6e6cc6fb98)
2007-10-10 13:05:43 -05:00
Andrew Bartlett
a8db4dcf03 r3677: Seperate the SamLogon tests from the main RPC-NETLOGON test into a
RPC-SAMLOGON of their own.

I have expanded the tests to validate the use of various flags, which
change some of the crypto behaviour.

Andrew Bartlett
(This used to be commit 3a140a3691)
2007-10-10 13:05:43 -05:00
Volker Lendecke
f847f3a3e1 r3660: This simulates the logon sequence of a XP login session I'm currently tuning
Samba3/OpenLDAP for. For a concrete situation you have to adapt the domain,
pdcname and usernames/passwords. Sorry, not parametrized yet, but this should
be doable if necessary.

Volker
(This used to be commit 02f5205872)
2007-10-10 13:05:42 -05:00
Andrew Tridgell
4815480bb6 r3633: - moved module init functions to after smb.conf and command line
parsing, so that module init can take account of lp_ parms (thats
  why gensec:krb5=no wasn't working)

- added a BASE-DISCONNECT torture test that tests server response to
  clients disconnecting with open lock and open requests pending
(This used to be commit 5205f598b8)
2007-10-10 13:05:41 -05:00
Andrew Tridgell
d8565f89b7 r3608: added BASE-DENYDOS test
this test demonstrates how w2k3 handles the special semantics of
DENY_DOS when 2 opens happen on the same connection. The 2nd open
doesn't actually do a NTFS open, it happens as a secondary reference
to the same internal file handle in the CIFS layer. The evidence is
that the 2nd open shares the same POSITION_INFORMATION field as the
first open, but only for the special DENY_DOS cases that would
normally be refused.
(This used to be commit eeec57d4f6)
2007-10-10 13:05:38 -05:00
Jelmer Vernooij
71db46ea66 r3586: Fix some of the issues with the module init functions.
Both subsystems and modules can now have init functions, which can be
specified in .mk files (INIT_FUNCTION = ...)

The build system will define :
 - SUBSYSTEM_init_static_modules that calls the init functions of all statically compiled modules. Failing to load will generate an error which is not fatal
 - BINARY_init_subsystems that calls the init functions (if defined) for the subsystems the binary depends on

This removes the hack with the "static bool Initialised = " and the
"lazy_init" functions
(This used to be commit 7a8244761b)
2007-10-10 13:05:36 -05:00
Andrew Tridgell
a9158e0d47 r3574: the RAW-OPEN test changes broke a couple of the other tests. This
fixes most of them, although RAW-SEARCH still fails (due to an
interaction with the new xattr code)
(This used to be commit 09b4652b40)
2007-10-10 13:05:33 -05:00
Jelmer Vernooij
6d3c74a67b r3513: Add (the infrastructure for) DCOM support. Contents:
- Support for sending over the object UUID in DCERPC calls
 - Simple torture test for the DCOM "Simple" object
 - Generate extra argument for "object" interfaces in pidl
 - Some stubs for common DCOM functions
(This used to be commit c052f2e1ed)
2007-10-10 13:05:23 -05:00
Andrew Tridgell
dde0705807 r3507: - added deferred replies on sharing violation in pvfs open. The
deferred reply is short-circuited immediately when the file is
  closed by another user, allowing it to be opened by the waiting user.

- added a sane set of timeval manipulation routines

- converted all the events code and code that uses it to use struct
  timeval instead of time_t, which allows for microsecond resolution
  instead of 1 second resolution. This was needed for doing the pvfs
  deferred open code, and is why the patch is so big.
(This used to be commit 0d51511d40)
2007-10-10 13:05:23 -05:00
Andrew Tridgell
6f214cc510 r3494: got rid of include/rewrite.h, and split out the dynconfig.h header
(This used to be commit 558de54ec6)
2007-10-10 13:05:22 -05:00
Andrew Tridgell
a99b6219a8 r3481: split out client.h and events.h
(This used to be commit c6f4865744)
2007-10-10 13:05:20 -05:00
Andrew Tridgell
3643fb1109 r3463: separated out some more headers (asn_1.h, messages.h, dlinklist.h and ioctl.h)
(This used to be commit b97e395c81)
2007-10-10 13:05:17 -05:00
Andrew Tridgell
2df2d1b67f r3461: another place where "open" was used as a structure element
(This used to be commit 1087ea830e)
2007-10-10 13:05:16 -05:00
Andrew Tridgell
edbfc0f6e7 r3453: - split out the auth and popt includes
- tidied up some of the system includes

- moved a few more structures back from misc.idl to netlogon.idl and samr.idl now that pidl
  knows about inter-IDL dependencies
(This used to be commit 7b7477ac42)
2007-10-10 13:05:13 -05:00
Andrew Tridgell
ead3508ac8 r3447: more include/system/XXX.h include files
(This used to be commit 264ce91810)
2007-10-10 13:05:12 -05:00
Andrew Tridgell
f20f1f994a r3445: made the gtk tooks use minimal includes. This approximately halves the
total include lines in compiling C files in Samba (the .gch file is
now 5M instead of 12M)

This also gets rid of the silly gtk compile warning for non-gtk code
(This used to be commit 8ebd20cf55)
2007-10-10 13:05:12 -05:00
Andrew Tridgell
9f1210a243 r3419: moved the libcli/raw structures into libcli/raw/libcliraw.h
and made them private
(This used to be commit 386ac565c4)
2007-10-10 13:05:07 -05:00
Jelmer Vernooij
ad4c40b927 r3413: RemoteActivation updates and fixes
Add torture test for RemoteActivation
The request is now send correctly and we get back a valid response
from Windows but r->in.Interfaces is set to 0 somewhere while parsing
the response...
(This used to be commit cabec03422)
2007-10-10 13:05:07 -05:00
Andrew Bartlett
cf97155ab4 r3394: Give the user a clue why we are blasting them with the usage brick.
Andrew Bartlett
(This used to be commit d967569c56)
2007-10-10 13:05:05 -05:00
Andrew Tridgell
cb1cff90f1 r3386: - fixed --seed option in smbtorture
- added new tests BASE-NTDENY1 and BASE-NTDENY2. These are the
  ntcreatex equivalents of the BASE-DENY1 and BASE-DENY2
  tests. Unfortunately, with ntcreatex there are 4 million combination
  and trying each one takes 1 second, so randomised testing is the
  only choice. The BASE-DENY1 test can operate in parallel with
  hundreds of connections, speeding things up a bit (as most time is
  spent waiting 1 second for a sharing violation to come back)
(This used to be commit b95493d3d1)
2007-10-10 13:05:03 -05:00
Andrew Tridgell
ba6d5fcb97 r3324: made the smbtorture code completely warning free
(This used to be commit 7067bb9b52)
2007-10-10 13:04:55 -05:00
Andrew Tridgell
a6ae640313 r3323: more warning reductions
(This used to be commit 5921587ec2)
2007-10-10 13:04:55 -05:00
Andrew Tridgell
d16b621ca9 r3251: - move the openattr test code into basic/attr.c
- cleaned up the RAW-WRITE test so it passes against w2k3, and gives
  more useful error messages
(This used to be commit d4042c4364)
2007-10-10 13:04:46 -05:00
Andrew Tridgell
d200f9385f r3203: moved more test functions into torture/basic/*.c
the idea is that torture/torture.c should eventually be just the
harness code, which will make it easier to read
(This used to be commit eca85d26ed)
2007-10-10 13:04:40 -05:00
Andrew Tridgell
35a11f0e61 r3182: separate out the BASE-RENAME test into torture/basic/rename.c
(This used to be commit c5e72b05d7)
2007-10-10 13:04:37 -05:00
Jelmer Vernooij
f1dd80e74e r3156: Couple of fixes in the conversion functions between binding structs and
protocol towers
(This used to be commit f41dfc6c5a)
2007-10-10 13:02:26 -05:00
Andrew Tridgell
86457e659c r3149: separate the delete on close test into torture/basic/delete.c
(This used to be commit 50379a0a58)
2007-10-10 13:02:26 -05:00
Andrew Tridgell
517238f0aa r3130: - added a LOCAL-IDTREE test suite
- made idtree return a "struct idr_context *" instead of a void*

- more efficient idr_remove for ids that are not present (patch from Jim Houston)
(This used to be commit f8d12d4b4a)
2007-10-10 13:02:24 -05:00
Jelmer Vernooij
a8d4d3c9f6 r3123: Add dcerpc_binding_build_tower()
Add local test for testing the functions dcerpc_parse_binding(),
	dcerpc_binding_string() and dcerpc_binding_build_tower()
(This used to be commit 7a07c2c769)
2007-10-10 13:02:23 -05:00
Andrew Tridgell
c5465ae50f r3053: make the maxfid test use subdirectories, so it doesn't create 64k
files in one directory (running the test was very slow) and can clean
up after itself easily.
(This used to be commit 6dea60e3b9)
2007-10-10 13:01:54 -05:00
Jelmer Vernooij
80a30263aa r3045: Allow object-uuid@... binding strings
(This used to be commit 38e9290bcf)
2007-10-10 13:01:53 -05:00
Andrew Tridgell
6591a22614 r3016: - converted the events code to talloc
- added the new messaging system, based on unix domain sockets. It
  gets over 10k messages/second on my laptop without any socket
  cacheing, which is better than I expected.

- added a LOCAL-MESSAGING torture test
(This used to be commit 3af06478da)
2007-10-10 12:59:57 -05:00
Andrew Tridgell
f6da6a10de r3011: separated the locktest code into a separate module in smbtorture
(This used to be commit f4a91be635)
2007-10-10 12:59:57 -05:00
Jeremy Allison
04767ce906 r2997: Added delete on close tests for readonly files.
Jeremy.
(This used to be commit 93efa87040)
2007-10-10 12:59:56 -05:00