1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-25 06:04:04 +03:00

106 Commits

Author SHA1 Message Date
Volker Lendecke
2333ea56f3 r4375: Implement samr_OpenAlias, samr_QueryAliasInfo and samr_SetAliasInfo. Fix IDL
for samr_SetAliasInfo.

Volker
(This used to be commit d70e2371903fb21e24ab2e23d04ee4b0b2ef55e5)
2007-10-10 13:07:39 -05:00
Andrew Tridgell
58c326809a r4052: fixed a bunch of code to use the type safe _p allocation macros
(This used to be commit 80d15fa3402a9d1183467463f6b21c0b674bc442)
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 17a4e0b3aca227b40957ed1e0c57e498debc6ddf)
2007-10-10 13:06:16 -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 01c0fa722f80ceeb3f81f01987de95f365a2ed3d)
2007-10-10 13:06:13 -05:00
Andrew Tridgell
990acc9f77 r3977: fixed the lmPwdHash change in the rpc server (we were not fetching the
lm hash from the samdb, and thus not checking the verifier)

fixed the client side to calculate the lm verifier based on the nt
hash, not the lm hash (confirmed using w2k3)
(This used to be commit 27e7fb3bafe4649359e2e68169b6f10fd4d2cc70)
2007-10-10 13:06:10 -05:00
Andrew Bartlett
9aec081fd9 r3804: Add more comparison tests in RPC-SAMSYNC.
This compares values for the domain and for secrets.  We still have
some problems we need to sort out for secrets.

Also rename a number of structures in samr.idl and netlogon.idl, to
better express their consistancy.

Andrew Bartlett
(This used to be commit 3f52fa3a42b030c9aef21c8bd88aad87a0aae078)
2007-10-10 13:05:55 -05:00
Andrew Bartlett
50916c8f2f r3724: Rename a number of structures, for better consistance between SAMR and
NETLOGON.

In particular, rename samr_Name to samr_String - given that many
strings in this pipe are not 'names', the previous was just confusing.
(I look forward to PIDL turning these into simple char * some day...).

Also export out a few changes from testjoin.c to allow for how I have
written the new RPC-SAMSYNC test.

Andrew Bartlett
(This used to be commit 9cd666bcfb1fc752a4717010a7c4f05131dc728e)
2007-10-10 13:05:47 -05:00
Andrew Tridgell
a1d0b97ed4 r3462: separate out the crypto includes
(This used to be commit 3f75117db921e493bb77a5dc14b8ce91a6288f30)
2007-10-10 13:05:16 -05:00
Andrew Tridgell
90067934cd r3428: switched to using minimal includes for the auto-generated RPC code.
The thing that finally convinced me that minimal includes was worth
pursuing for rpc was a compiler (tcc) that failed to build Samba due
to reaching internal limits of the size of include files. Also the
fact that includes.h.gch was 16MB, which really seems excessive. This
patch brings it back to 12M, which is still too large, but
better. Note that this patch speeds up compile times for both the pch
and non-pch case.

This change also includes the addition iof a "depends()" option in our
IDL files, allowing you to specify that one IDL file depends on
another. This capability was needed for the auto-includes generation.
(This used to be commit b8f5fa8ac8e8725f3d321004f0aedf4246fc6b49)
2007-10-10 13:05:09 -05:00
Andrew Tridgell
ba6d5fcb97 r3324: made the smbtorture code completely warning free
(This used to be commit 7067bb9b52223cafa28470f264f0b60646a07a01)
2007-10-10 13:04:55 -05:00
Andrew Bartlett
1ee3a7419e r3074: Add in a new 'field present' flag samr.idl for the Account Flags
field.  Add torture test for setting this feild - including all the
odd cases (not all the flags 'stick', and not others cannot be
removed).

Seperate the two 'password change' flags, and test them both in the
torture code.

Check that the password did change after every password set call.

Andrew Bartlett
(This used to be commit 3759128bd33b802d5213d50ba25f7c7d11cfe1d7)
2007-10-10 13:01:56 -05:00
Andrew Tridgell
d186e63b01 r2910: I noticed that the samr torture test was doing its own DOS->UNIX
string conversion. For RPC, all string conversions are supposed to be
done by the NDR layer, using string flags set in the IDL. The reason
this wasn't working is that I had been too lazy to do the STR_ASCII
string types properly at the NDR layer when initially writing
ndr_basic.c.

This commit fixes the ndr_basic code properly to do all ASCII
varients, by re-using the non-ascii code and a "byte_mul" local
variable. I have also removed the manual string conversion in the SAMR
torture test code.
(This used to be commit aad0e7e9d890bb56447f1f933b8f2bb78a3ee269)
2007-10-10 12:59:47 -05:00
Andrew Tridgell
ed6a5a1e0e r2833: - added a call to SamrQueryGroupMember for every group, and fix the
IDL so this works (the previous IDL was bogus)

- changed a hyper to uint64 after looking at output on cascade on sparc
(This used to be commit db1ed5675a5271085ea0b89dd634b037ee710178)
2007-10-10 12:59:37 -05:00
Andrew Tridgell
b2f1a29e43 r2710: continue with the new style of providing a parent context whenever
possible to a structure creation routine. This makes for much easier
global cleanup.
(This used to be commit e14ee428ec357fab76a960387a9820a673786e27)
2007-10-10 12:59:25 -05:00
Andrew Tridgell
399aade69c r2676: add a test of the reference counting logic in the SAMR server into the
RPC-SAMR torture test. This closes the samr connection before working
on a open domain handle. The server is supposed to know that the open
domain handle still holds a reference to the connection, so the
connection remains valid even though it has been closed.
(This used to be commit f31e5d56e364ce8ab76fdb20b30e179b458b2ffa)
2007-10-10 12:59:20 -05:00
Andrew Bartlett
ccdf4e045f r2547: Another place to use convert_string_talloc().
Andrew Bartlett
(This used to be commit 4904d814c0efd870ac42c790028a8448984e4749)
2007-10-10 12:59:05 -05:00
Tim Potter
19d5887f0a r2501: The AddMemberToAlias test doesn't need a domain_handle.
(This used to be commit 90a9e754db91647607eef3a2ccb08d3651fca9df)
2007-10-10 12:58:59 -05:00
Tim Potter
cde8c60e88 r2489: Rename account_flags in EnumDomainAliases() to acct_flags.
(This used to be commit a0e571a9ddc01b8e90a93d591aec4b10c9926818)
2007-10-10 12:58:57 -05:00
Tim Potter
0e71bf8148 r2458: Rename policy handle parameters for the SAMR pipe. Parameters now
have the handle type implied by the parameter name.  There are four
types of handle: connect, domain, user and group handles.  The
various samr_Connect functions return a connect handle, and the
samr_OpenFoo functions return a foo handle.

There is one exception - the samr_{Get,Set}Security function can
take any type of handle.

Fix up all C callers.
(This used to be commit 32f0f3154a8eb63de83145cbc8806b8906ccdc3e)
2007-10-10 12:58:55 -05:00
Andrew Tridgell
2340725753 r2273: disable the async samr tests unless -X option is used, as windows
fails this and it kills the pipe, so we can't run the rest of the test
(This used to be commit bdb49f01b75aa5b3a458ee4629e867bee1d03358)
2007-10-10 12:58:36 -05:00
Andrew Tridgell
1fc55db733 r2107: added a SAMR async test - this one seems to work
(This used to be commit 306eb848654e0cadb0ebe10c29420fc0c30a64c4)
2007-10-10 12:58:25 -05:00
Simo Sorce
d01bc8a91e r1758: Move and enhance the add_string_to_array function as per volker job on trunk
(This used to be commit 606caddeb95382287fa41a5017ca473d0301be6b)
2007-10-10 12:57:54 -05:00
Andrew Tridgell
07aa4d8fe2 r1646: disable testing of group rename in the RPC-SAMR test, as it leaves the
group in a state where it can't be deleted via samr, which breaks
repeated runs of the test.
(This used to be commit bcad9efd728983c2d8932ef93eebd3d0c6d4d085)
2007-10-10 12:57:46 -05:00
Andrew Tridgell
f348037f7b r1510: add a commented out routine I used to test password change on NT3.
(This used to be commit fb5796b0dccf7cd518db03e6456d986f17e50345)
2007-10-10 12:57:36 -05:00
Andrew Bartlett
f607197054 r1498: (merge from 3.0)
Rework our random number generation system.

On systems with /dev/urandom, this avoids a change to secrets.tdb for every fork().

For other systems, we now only re-seed after a fork, and on startup.
No need to do it per-operation.  This removes the 'need_reseed'
parameter from generate_random_buffer().

This also requires that we start the secrets subsystem, as that is
where the reseed value is stored, for systems without /dev/urandom.

In order to aviod identical streams in forked children, the random
state is re-initialised after the fork(), at the same point were we do
that to the tdbs.

Andrew Bartlett
(This used to be commit b97d3cb2efd68310b1aea8a3ac40a64979c8cdae)
2007-10-10 12:57:35 -05:00
Stefan Metzmacher
e585df7c58 r1062: fix typo, found by valgrind
metze
(This used to be commit f65cba9047c6a206e5aaade15b157e07fe4c8bd2)
2007-10-10 12:56:36 -05:00
Andrew Bartlett
5b04ca8080 r1025: Rename (across the samr and netlogon pipes, so far)
pwd -> password
passwd -> password

username -> account_name

Also work on consistant structure feild names between these two pipes,
and fix up some callers to use samr_Password for the netlogon
credential code.

Andrew Bartlett
(This used to be commit 4e35418c2776f7b79be5b358ffd077754685d1ac)
2007-10-10 12:56:30 -05:00
Andrew Bartlett
9eb6afb00d r1009: Make all users of NT and LM passwords use the samr_Password structure.
This includes the netlogon pipe, for the machine account password
change system.

Andrew Bartlett
(This used to be commit 49d545a82057ee8b60d50aa55e908efe59875150)
2007-10-10 12:56:26 -05:00
Andrew Tridgell
8087d844ef r995: - renamed many of our crypto routines to use the industry standard
names rather than our crazy naming scheme. So DES is now called
  des_crypt() rather than smbhash()

- added the code from the solution of the ADS crypto challenge that
  allows Samba to correctly handle a 128 bit session key in all of the
  netr_ServerAuthenticateX() varients. A huge thanks to Luke Howard
  from PADL for solving this one!

- restructured the server side rpc authentication to allow for other
  than NTLMSSP sign and seal. This commit just adds the structure, the
  next commit will add schannel server side support.

- added 128 bit session key support to our client side code, and
  testing against w2k3 with smbtorture. Works well.
(This used to be commit 729b2f41c924a0b435d44a14209e6dacc2304cee)
2007-10-10 12:56:25 -05:00
Volker Lendecke
63990406ae r963: Tridge, according to ethereal this is an 'Acct Ctrl' field. My tests also
indicate this although I could not find any consistent pattern.

I found this as 'net rpc group list local' in Samba3 sets this to 250 and only
gets a fixed, but incomplete list of groups out of W2k3.

I tried to correlate the results I got from w2k3 with the LDAP contents of the
corresponding entries, but I could not find anything. Ethereal only decodes
the lower byte, but to get all it seems necessary to have 0xffff here.

If you have time, could you might want to spend some of it decoding the bits
for SAMR completeness....

Volker
(This used to be commit 74e59c45603a9f897a24e37fc7626cf8ffc81403)
2007-10-10 12:56:23 -05:00
Stefan Metzmacher
45e93c19ef r943: change samba4 to use 'uint8_t' instead of 'unsigned char'
metze
(This used to be commit b5378803fdcb3b3afe7c2932a38828e83470f61a)
2007-10-10 12:56:21 -05:00
Andrew Tridgell
d9538e7412 r937: - added a simple QuerySecurity implementation in samr server
- moved some sec desc defines into misc.idl

 - fixed pw_len field in UserInfo26

 - made some pipes available on TCP

 - added netr_DsrEnumerateDomainTrusts() to netlogon

 - added templates for remaining netlogon IDL calls (from ethereal)

 - added a unistr_noterm vs unistr error detector in ndr basic decoder

 - added torture test for netr_DsrEnumerateDomainTrusts()
(This used to be commit ae5a5113fb83640dcb9ae4642c1b9eaf28487956)
2007-10-10 12:56:20 -05:00
Andrew Tridgell
db3c011977 r917: - added the start of a LSA server to samba4.
- added start of QueryDomainInfo in samr server

"net rpc info" from samba3 now works against a samba4 server. I
suspect join will work fairly soon.
(This used to be commit 0a2c6a1062d0e364356853001f5f39bdb542f453)
2007-10-10 12:56:19 -05:00
Andrew Tridgell
efc29ecc21 r902: added torture tests for sending rubbish in the domain name field of GetDomPwInfo
(This used to be commit 00096609978e829b5da36040c15afa087e71eaa5)
2007-10-10 12:56:19 -05:00
Stefan Metzmacher
fcd718c7d8 r890: convert samba4 to use [u]int8_t instead of [u]int8
metze
(This used to be commit 2986c5f08c8f0c26a2ea7b6ce20aae025183109f)
2007-10-10 12:56:16 -05:00
Stefan Metzmacher
f88bf54c7f r889: convert samba4 to use [u]int16_t instead of [u]int16
metze
(This used to be commit af6f1f8a01bebbecd99bc8c066519e89966e65e3)
2007-10-10 12:56:16 -05:00
Stefan Metzmacher
f9d8f8843d r884: convert samba4 to use [u]int32_t instead of [u]int32
metze
(This used to be commit 0e5517d937a2eb7cf707991d1c7498c1ab456095)
2007-10-10 12:56:15 -05:00
Andrew Tridgell
579c13da43 r873: converted samba4 to use real 64 bit integers instead of
structures. This was suggested by metze recently.

I checked on the build farm and all the machines we have support 64
bit ints, and support the LL suffix for 64 bit constants. I suspect
some won't support strtoll() and related functions, so we will
probably need replacements for those.
(This used to be commit 9a9244a1c66654c12abe4379661cba83a73c4c21)
2007-10-10 12:56:14 -05:00
Andrew Bartlett
064e7447be r743: Start on a NETLOGON server in Samba4.
Currently this only authentiates the machine, not real users.

As a consequence of running the Samba4 NETLOGON test against Samba4, I
found a number of issues in the SAMR server, which I have addressed.
There are more templates in the provison.ldif for this reason.

I also added some debug to our credentials code, and fixed some bugs
in the auth_sam module.

The static buffer in generate_random_string() bit me badly, so I
removed it in favor of a talloc based system.

Andrew Bartlett
(This used to be commit 94624e519b66def97758b8a48a01ffe9029176f0)
2007-10-10 12:53:46 -05:00
Andrew Tridgell
0f581e4af9 r623: setUserInfo level 24 (password set) now works in the SAMR server. This includes all
of the password complexity, password history and other password restrictions.
(This used to be commit cb070b9084d95cf5178edbef951b75eab62b7220)
2007-10-10 12:51:55 -05:00
Volker Lendecke
16f7b35a0a r615: Implement samr_OpenGroup, samr_QueryGroupInfo, samr_SetGroupInfo,
samr_DeleteDomainGroup.

I've added the hidden attribute numMembers that must be maintained by
Add/DelGroupMember for the GroupInfoAll query.

Volker
(This used to be commit 945d7478605c1bd67e4162ebb0635ab7da11faaf)
2007-10-10 12:51:52 -05:00
Andrew Bartlett
5ae9bd7535 r613: Fix the RPC-SAMR torture test, for my session_key changes.
Andrew Bartlett
(This used to be commit a04b074c049db832f4c02a35d951d40875fce6d1)
2007-10-10 12:51:51 -05:00
Andrew Tridgell
a848b0e3e2 r577: extended the LookupNames test to check for correct handling of unmapped names
(This used to be commit e3b31625f476cb1b8a4d5003dee2c574582c9b46)
2007-10-10 12:51:48 -05:00
Andrew Tridgell
af48da52bf r457: added some more samr tests to help me work out the right error codes
in our new samr server
(This used to be commit 0f2503111498e809237e0155962db55dfde8cbfb)
2007-10-10 12:51:43 -05:00
Andrew Tridgell
931927d2a3 r420: added nicer names for the field bits in userinfo21
added tests for the level 23 and 25 password change methods
(This used to be commit d49f7a6a0d1895de3d654a5b46c6aec3a57fde76)
2007-10-10 12:51:37 -05:00
Andrew Tridgell
932b0ff5f5 r389: added a test for set user info level 26 (set password extended)
thanks to Luke Howard for this test
(This used to be commit 891653e7d40f581016085e2c32e2802eea7e7ade)
2007-10-10 12:51:37 -05:00
Andrew Tridgell
16d3528ebc r372: automatically create a fake BDC machine account and delete it
afterwards for the RPC-NETLOGON test. This makes it much simpler to
run the test and also means that it doesn't distrurb any existing
domain join you might have.
(This used to be commit feac996794d5cc16e3612fb2901668a9b1e1d274)
2007-10-10 12:51:35 -05:00
Andrew Tridgell
2cabf613e3 r365: improved the IDL for samr_Connect5()
(This used to be commit 4b4f025504cb5b92c8b119259f1df622cd72ec7c)
2007-10-10 12:51:35 -05:00
Andrew Tridgell
3fb30e46be r364: finally worked out the ancient samr_ChangePasswordUser() interface
yay!
(This used to be commit 0221566cf5ff7dc5ce0de9af451b935ed8615f4e)
2007-10-10 12:51:35 -05:00
Andrew Tridgell
6ee381d86c r362: after setting domain info query it again so we can see what attributes stick
(This used to be commit b2ebaf95b75b050ad02ca967867337cd81faa859)
2007-10-10 12:51:35 -05:00