1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00
Commit Graph

564 Commits

Author SHA1 Message Date
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
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
Andrew Bartlett
5aa2646be8 r5879: Rename SAMR_FIELD_WORKSTATION to SAMR_FIELD_WORKSTATIONS - it is a list.
Andrew Bartlett
(This used to be commit 7822101cb5)
2007-10-10 13:11:06 -05:00
Andrew Bartlett
d830fcd7d1 r5783: Test renaming of accounts in the RPC-SAMR test, and add support into
the SAMR server.

Andrew Bartlett
(This used to be commit fd748f9d2f)
2007-10-10 13:11:03 -05:00
Stefan Metzmacher
4b83366b6c r5742: - add torture test and idl for DsReplicaUpdateRefs()
(the torture test currently only tests if the idl is correct)

- add start for idl for DsGetNCChanges()
  (if someone didn't noticed the current ethereal trunk code can
   successful decrypt DCERPC and LDAP gsskrb5 encrypted blobs,
   when you provide a keytab and have compiled against heimdal :-)

- add a view bitmaps and enum's for better debugging

metze
(This used to be commit cf7c1352ab)
2007-10-10 13:11:01 -05:00
Andrew Bartlett
765832748b r5667: Move schannel state into libcli/auth (as it belongs with schannel,
which will move in with the rest of GENSEC shortly).

Add the RID as another element in the schannel state.

Andrew Bartlett
(This used to be commit 69114b4a8e)
2007-10-10 13:10:58 -05:00
Simo Sorce
b1b14817ea r5585: LDB interfaces change:
changes:
- ldb_wrap disappears from code and become a private structure of db_wrap.c
  thanks to our move to talloc in ldb code, we do not need to expose it anymore

- removal of ldb_close() function form the code
  thanks to our move to talloc in ldb code, we do not need it anymore
  use talloc_free() to close and free an ldb database

- some minor updates to ldb modules code to cope with the change and fix some
  bugs I found out during the process
(This used to be commit d58be9e74b)
2007-10-10 13:10:55 -05:00
Stefan Metzmacher
9401b2bbd2 r5540: - some more input checking in OpenPrinerEx()
- fix EnumPrinters() output

- add dummy EnumPorts

metze
(This used to be commit 6cdc717f3f)
2007-10-10 13:10:53 -05:00
Stefan Metzmacher
d900aed90c r5503: - add torture test which tests for invalid printernames
- add OpenPrinter() server code that just calls OpenPrinterEx()

- fix OpenPrinterEx logic, we pass the invalid printer names test now

metze
(This used to be commit 3085d3728e)
2007-10-10 13:10:52 -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
Stefan Metzmacher
6b4cac2c00 r5489: hide handwritten pull/push/print code from the caller
for the spoolss_Enum* functions

metze
(This used to be commit bfcc86e706)
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
Jelmer Vernooij
64112074e9 r5465: Add support to multiple levels of pointers in pidl.
Also add a new function to echo.idl that tests this behaviour.
(This used to be commit e5eb5e847e)
2007-10-10 13:10:48 -05:00
Jelmer Vernooij
ea5ddbcb4d r5452: Add implementation + torture test for echo_Surrounding
(This used to be commit 1b71000cc1)
2007-10-10 13:10:47 -05:00
Jelmer Vernooij
c52fb55903 r5437: Allow Samba4 to be compiled by tcc (www.tinycc.org). It still crashes when linking though.
(This used to be commit 2e1e8db6dc)
2007-10-10 13:10:45 -05:00
Tim Potter
abc28d66e9 r5364: Rename string fields called 'domain' and 'name' to be 'domain_name'.
(This used to be commit 6749b9404d)
2007-10-10 13:09:46 -05:00
Andrew Tridgell
a0e6f6c05b r5309: removed ads.h from includes.h
(This used to be commit 196c45b834)
2007-10-10 13:09:40 -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
a5bd1ccada r5307: removed db_wrap.h from includes.h
(This used to be commit 826baec7b3)
2007-10-10 13:09:40 -05:00
Andrew Tridgell
bed7c9ec32 r5304: removed lib/socket/socket.h from includes.h
(This used to be commit b902ea546d)
2007-10-10 13:09:39 -05:00
Andrew Tridgell
35537c1255 r5302: fixed a compilation problem on solaris caused by the recent include
changes
(This used to be commit e7e015f79b)
2007-10-10 13:09:39 -05:00
Andrew Tridgell
8674eaa5cc r5300: more uint32 and system/filesys.h build fixes when developer mode is enabled
(This used to be commit 93931b1a74)
2007-10-10 13:09:39 -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
db4ba6e690 r5221: replace the str_list_*() code with new code based on talloc(). This is
a precursor to adding the wins client code in the nbt server.
(This used to be commit e8e499755a)
2007-10-10 13:09:32 -05:00
Jelmer Vernooij
60d9b40ba4 r5209: Fix the endpoint mapper to work with IPX endpoints (which
accidently have the same protocol id as UUID's)
Before this, Samba would give NDR errors when contacting
a remote server that has IPX support enabled.

This one was on my long due bugs list.
(This used to be commit 7b847de64f)
2007-10-10 13:09:31 -05:00
Andrew Tridgell
131dc76d56 r5197: moved events code to lib/events/ (suggestion from metze)
(This used to be commit 7f54c8a339)
2007-10-10 13:09:30 -05:00
Andrew Tridgell
0798d54b4f r5195: most events don't need the time of the event, so save a gettimeofday() call
and just use timeval_current() when its actually needed
(This used to be commit 236403cc4d)
2007-10-10 13:09:30 -05:00
Andrew Tridgell
66170ef8b3 r5185: make all the events data structures private to events.c. This will
make it possible to add optimisations to the events code such as
keeping the next timed event in a sorted list, and using epoll for
file descriptor events.

I also removed the loop events code, as it wasn't being used anywhere,
and changed timed events to always be one-shot (as adding a new timed
event in the event handler is so easy to do if needed)
(This used to be commit d7b4b6de51)
2007-10-10 13:09:29 -05:00
Andrew Tridgell
55d4d36993 r5102: This is a major simplification of the logic for controlling top level
servers in smbd. The old code still contained a fairly bit of legacy
from the time when smbd was only handling SMB connection. The new code
gets rid of all of the smb_server specific code in smbd/, and creates
a much simpler infrastructures for new server code.

Major changes include:

 - simplified the process model code a lot.

 - got rid of the top level server and service structures
   completely. The top level context is now the event_context. This
   got rid of service.h and server.h completely (they were the most
   confusing parts of the old code)

 - added service_stream.[ch] for the helper functions that are
   specific to stream type services (services that handle streams, and
   use a logically separate process per connection)

 - got rid of the builtin idle_handler code in the service logic, as
   none of the servers were using it, and it can easily be handled by
   a server in future by adding its own timed_event to the event
   context.

 - fixed some major memory leaks in the rpc server code.

 - added registration of servers, rather than hard coding our list of
   possible servers. This allows for servers as modules in the future.

 - temporarily disabled the winbind code until I add the helper
   functions for that type of server

 - added error checking on service startup. If a configured server
   fails to startup then smbd doesn't startup.

 - cleaned up the command line handling in smbd, removing unused options
(This used to be commit cf6a46c3cb)
2007-10-10 13:09:22 -05:00
Andrew Bartlett
5045bdc2a4 r5090: Fix up the IDL for LogonGetDomainInfo in NETLOGON.
Andrew Bartlett
(This used to be commit e5afc36093)
2007-10-10 13:09:21 -05:00
Andrew Tridgell
465e089dd3 r5080: patch from ronnie to make our samr IDL a little more consistent
(This used to be commit 7607ddda3f)
2007-10-10 13:09:20 -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
Andrew Tridgell
3dd17f1288 r5034: - added a type mapping function in pidl, so the type names in our IDL
files don't need to match the type names in the generated headers

- with this type mapping we no longer need definitions for the
  deprecated "int32", "uint8" etc form of types. We can now force
  everyone to use the standard types int32_t, uint8_t etc.

- fixed all the code that used the deprecated types

- converted the IDL types "int64" and "uint64" to "dlong" and
  "udlong". These are the 4 byte aligned 64 bit integers that
  Microsoft internally define as two 32 bit integers in a
  structure. After discussions with Ronnie Sahlberg we decided that
  calling these "int64" was confusing, as it implied a true 8 byte
  aligned type

- fixed all the cases where we incorrectly used things like
  "NTTIME_hyper" in our C code. The generated API now uses a NTTIME for
  those. The fact that it is hyper-aligned on the wire is not relevant
  to the API, and should remain just a IDL property
(This used to be commit f86521677d)
2007-10-10 13:09:15 -05:00
Andrew Tridgell
4ad08968f6 r4945: the te element isn't needed any more
In general, now that events are children of the structure they are
handling events for, the caller only needs to keep the event handle
around if it plans on changing the event flags later
(This used to be commit 8c89551554)
2007-10-10 13:09:08 -05:00
Andrew Tridgell
6c14b0133d r4944: every event_add_*() caller was having to call talloc_steal() to take
control of the event, so instead build that into the function. If you
pass NULL as mem_ctx then it leaves it as a child of the events
structure.
(This used to be commit 7f981b9ed9)
2007-10-10 13:09:08 -05:00
Andrew Tridgell
fd62df6418 r4943: Smplified the events handling code a lot. The first source of
complexity was that events didn't automatically cleanup
themselves. This was because the events code was written before we had
talloc destructors, so you needed to call event_remove_XX() to clean
the event out of the event lists from every piece of code that used
events. I have now added automatic event destructors, which in turn
allowed me to simplify a lot of the calling code.

The 2nd source of complexity was caused by the ref_count, which was
needed to cope with event handlers destroying events while handling
them, which meant the linked lists became invalid, so the ref_count ws
used to mark events for later destruction.

The new system is much simpler. I now have a ev->destruction_count,
which is incremented in all event destructors. The event dispatch code
checks for changes to this and handles it.
(This used to be commit a3c7417cfe)
2007-10-10 13:09:08 -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
737a000d2c r4745: remove the distinguishedName attribute adds from samr. See the
discussion on samba-technical about this.
(This used to be commit e9dff03f79)
2007-10-10 13:08:49 -05:00
Stefan Metzmacher
9327ec51d1 r4728: split up server_services into:
- stream_socket services
  the smb, ldap and rpc service which sets up a srtam socket end then
  waits for connections
and
- task services
  which this you can create a seperate task that do something
  (this is also going through the process_model subsystem
  so with -M standard a new process for this created
  with -M thread a new thread ...

I'll add datagram services later when we whave support for datagram sockets in lib/socket/

see the next commit as an example for service_task's

metze
(This used to be commit d5fa02746c)
2007-10-10 13:08:49 -05:00
Stefan Metzmacher
c0b55c0e3b r4715: alwys add the distinguishedName attribute
the w2k3 dc join needs that

metze
(This used to be commit 29bc75ba28)
2007-10-10 13:08:47 -05:00
Andrew Bartlett
7588b41e15 r4713: Add initial support for QueryTrustedDomainInfo on LSA.
(more info levels to come)

Andrew Bartlett
(This used to be commit 175ae7599e)
2007-10-10 13:08:47 -05:00
Andrew Tridgell
a2e754c294 r4712: slight tidy up in alter_context server
(This used to be commit 20ab5bed34)
2007-10-10 13:08:47 -05:00
Stefan Metzmacher
9178e7b8bf r4707: w2k3 don't restict passwords on
netr_ServerPasswordSet and netr_ServerPasswordSet2

so we do now

I also add a torture test for this

metze
(This used to be commit d896ac603a)
2007-10-10 13:08:46 -05:00
Andrew Bartlett
e54964c618 r4703: Add support for EnumTrustDomain, and expand the testsuite.
Add my copyright to the SAMR server.

Andrew Bartlett
(This used to be commit 51e94fa26c)
2007-10-10 13:08:45 -05:00
Stefan Metzmacher
516dbfd5ed r4702: implment idl, torture test and server code for netr_ServerPasswordSet2()
metze
(This used to be commit 7d8ba92da2)
2007-10-10 13:08:45 -05:00
Andrew Bartlett
c0571f6234 r4698: - Initial implementation of trusted domains in LSA.
- Use templates for Secrets and the new trusted domains

 - Auto-add modifiedTime, createdTime and objectGUID to records in the
   samdb layer.

Andrew Bartlett
(This used to be commit 271c8faadf)
2007-10-10 13:08:44 -05:00
Andrew Bartlett
9eaf1b45c0 r4695: Leave less memory handing around on long-term TALLOC_CTX.
Add lsa_Delete() support for secrets.

Andrew Bartlett
(This used to be commit be4cd59f33)
2007-10-10 13:08:44 -05:00
Andrew Bartlett
4e052c1704 r4694: 'fix' the behaviour for setting only the old, but not the new secret.
(The behaviour is a little odd, but we wanted bug-for-bug, right? :-)

Andrew Bartlett
(This used to be commit 6a09a84320)
2007-10-10 13:08:44 -05:00
Stefan Metzmacher
fae215266b r4690: - add support for async rpc server replies
the backend should check for
(dce_call->state_flags & DCESRV_CALL_STATE_FLAG_MAY_ASYNC)
then it's allowed to reply async

then the backend should mark that call as async with
dce_call->state_flags |= DCESRV_CALL_STATE_FLAG_ASYNC;

later it has to manualy set r->out.result
and then send the reply by calling

status = dcesrv_reply(p->dce_call);

NOTE: that ncacn_np doesn't support async replies yet

- implement an async version of echo_TestSleep

- reenable the echo_TestSleep torture test
  (this need to be more strict when we have support for async ncacn_np)

metze
(This used to be commit f0a0dbeb25)
2007-10-10 13:08:43 -05:00
Andrew Bartlett
a249198d53 r4682: A LDB-based secrets implementation in Samba4.
This uses LDB (a local secrets.ldb and the global samdb) to fill out
the secrets from an LSA perspective.

Some small changes to come, but the bulk of the work is now done.

A re-provision is required after this change.

Andrew Bartlett
(This used to be commit ded3303352)
2007-10-10 13:08:42 -05:00
Andrew Bartlett
fdebf9dd4c r4680: Make more efficient use of memory in SAMR:
Avoid a strdup, use a talloc_reference
 Use the shortest term memory context possible

Andrew Bartlett
(This used to be commit 5569db0f94)
2007-10-10 13:08:42 -05:00
Andrew Tridgell
5423fd3b35 r4663: fixed SPNEGO auth in the rpc server
(This used to be commit 439cbb9ead)
2007-10-10 13:08:40 -05:00
Stefan Metzmacher
fd4831f1f0 r4650: - make more use of bitmap and enum's
- move some structs out of misc.idl

metze
(This used to be commit b6543a6e30)
2007-10-10 13:08:39 -05:00
Stefan Metzmacher
a070551e7a r4648: fix netr_ServerPasswordSet() bugs
metze
(This used to be commit 7feface9b7)
2007-10-10 13:08:39 -05:00
Stefan Metzmacher
0457324cc8 r4647: - use talloc_zero() instead of ZERO_STRUCTP()
- fix uninitialized memory bug found by valgrind

metze
(This used to be commit 1118a1b1bb)
2007-10-10 13:08:38 -05:00
Andrew Tridgell
34f6485dda r4642: added support for alter_context in the server for adding new interfaces to an existing pipe
(This used to be commit b6af57c868)
2007-10-10 13:08:38 -05:00
Andrew Bartlett
e8c06b9221 r4641: Push a few more details into the schannel ldb, and into the
credentials struct it maintains.

Clearly much of this will be replaced with some system to pass and
store the session_info, as that is the 'right way' to handle this.

Andrew Bartlett
(This used to be commit c6fcb33a88)
2007-10-10 13:08:38 -05:00
Andrew Tridgell
577218b2ad r4640: first stage in the server side support for multiple context_ids on one pipe
this stage does the following:

 - simplifies the dcerpc_handle handling, and all the callers of it

 - split out the context_id depenent state into a linked list of established contexts

 - fixed some talloc handling in several rpc servers that i noticed while doing the above
(This used to be commit fde042b3fc)
2007-10-10 13:08:38 -05:00
Stefan Metzmacher
3136462ea9 r4639: initialize all struct members!
tridge: sorry for making you such a pain...
        could you check if that fixes your bugs

metze
(This used to be commit c215372eb0)
2007-10-10 13:08:37 -05:00
Stefan Metzmacher
46a32687da r4620: - add interface functions to the auth subsystem so that callers doesn't need to
use function pointers anymore
- make the module init much easier
- a lot of cleanups

don't try to read the diff in auth/ better read the new files

it passes test_echo.sh and test_rpc.sh

abartlet: please fix spelling fixes

metze
(This used to be commit 3c0d16b823)
2007-10-10 13:08:34 -05:00
Andrew Tridgell
e74b3ed6f1 r4618: - tidied up the alter_context client code a bit
- there is no alter_nak or alter_ack packet, its all done in an
  alter_response

- auto-allocated the contex_ids

- tried to fix up the dcom code to work again with
  alter_context. Jelmer, please take a look :)
(This used to be commit dd1c54add8)
2007-10-10 13:08:34 -05:00
Andrew Tridgell
6836f5d0b1 r4616: the first phase in the addition of proper support for
dcerpc_alter_context and multiple context_ids in the dcerpc client
library.

This stage does the following:

 - split "struct dcerpc_pipe" into two parts, the main part being "struct dcerpc_connection", which
   contains all the parts not dependent on the context, and "struct dcerpc_pipe" which has
   the context dependent part. This is similar to the layering in libcli_*() for SMB

 - disable the current dcerpc_alter code. I've used a #warning until i
   get the 2nd phase finished. I don't know how portable #warning is, but
   it won't be long before I add full alter context support anyway, so it won't last long

 - cleanup the allocation of dcerpc_pipe structures. The previous code
   was quite awkward.
(This used to be commit 4004c69937)
2007-10-10 13:08:34 -05:00
Andrew Tridgell
11ce2cfd70 r4591: - converted the other _p talloc functions to not need _p
- added #if TALLOC_DEPRECATED around the _p functions

- fixes the code that broke from the above

while doing this I fixed quite a number of places that were
incorrectly using the non type-safe talloc functions to use the type
safe ones. Some were even doing multiplies for array allocation, which
is potentially unsafe.
(This used to be commit 6e7754abd0)
2007-10-10 13:08:30 -05:00
Andrew Tridgell
42cf0af758 r4563: fixed lsa_EnumAccounts() server side to return all accounts that have privileges, as
volker discovered
(This used to be commit 09edc31f3b)
2007-10-10 13:08:28 -05:00
Stefan Metzmacher
d62a44c447 r4558: more use of bitmaps and enums
metze
(This used to be commit 2a859fbc90)
2007-10-10 13:08:27 -05:00
Andrew Tridgell
ddc10d4d37 r4549: got rid of a lot more uses of plain talloc(), instead using
talloc_size() or talloc_array_p() where appropriate.

also fixed a memory leak in pvfs_copy_file() (failed to free a memory
context)
(This used to be commit 89b74b5354)
2007-10-10 13:08:25 -05:00
Andrew Tridgell
7588a01cb6 r4520: added a enum test function to the echo pipe
(This used to be commit f9e0aa1ab1)
2007-10-10 13:08:17 -05:00
Stefan Metzmacher
4dd48e95cd r4508: - simplify the code and allocate only in one place
- the ZERO_STRUCT(r->out) is useless and wrong if we would have a [ref,out] parameter
  also note the r->out is already initialized by the pidl generated code

metze
(This used to be commit 09727d3d4a)
2007-10-10 13:08:16 -05:00
Andrew Bartlett
8eb981c90a r4499: Almost make our Samba4 server pass the RPC-SAMLOGON torture test.
I just need to fix a couple of NTLMv2 issues before we can fully pass,
and put this in test_rpc.sh, as a 'should pass' test.

Andrew Bartlett
(This used to be commit 4b52409e38)
2007-10-10 13:08:15 -05:00
Andrew Tridgell
4db9496bb4 r4490: when implementing one rpc server call in terms of another call, you
must zero r.out before making the 2nd call if the 2nd call has any
non-ref out parameters. This is needed for the case where the 2nd call
fails, and the 1st call would then fill in its out fields based on
uninitialised memory.
(This used to be commit 202470326d)
2007-10-10 13:08:12 -05:00
Andrew Tridgell
54c63eb7e4 r4487: fixed the use of ldb_msg_add_*() in the samr password backend
(This used to be commit d79cc8b901)
2007-10-10 13:08:11 -05:00
Stefan Metzmacher
b3eab2f9e7 r4485: remove unused TODO comment we already handle the DS_ROLE_STANDALONE_SERVER case
correct

metze
(This used to be commit 7ab9de14af)
2007-10-10 13:08:11 -05:00
Stefan Metzmacher
aa731aceb8 r4484: - use the nTMixedDomain attribute to check if our domain is mixed mode or not
metze
(This used to be commit 7fe9550375)
2007-10-10 13:08:11 -05:00
Stefan Metzmacher
fa010c9676 r4483: - rename same structs, enums and uninons of the dssetup pipe
to match the style we are using in other pipes

- first fillin local vars and only set the out parameter on success

- for the server code only to the samdb lookup when it's needed

NOTE: the DsRoleGetPrimaryDomainInformation() code with DS_ROLE_MEMBER_SERVER
      is not tested yet, does someone has a w2k3 member server to test with?

metze
(This used to be commit e6d1136497)
2007-10-10 13:08:11 -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
d487cca5cb r4461: finished the remaining information levels in the DSSETUP pipe. The pipe is now complete!
The only glitch is that I am returning DS_ROLE_MEMBER_SERVER when I
should be returning DS_ROLE_PRIMARY_DC. This is needed for the moment
or ACL editing doesn't work from w2k3. Once we have some more ADS
calls we should be able to fix this.
(This used to be commit 6566dc2805)
2007-10-10 13:07:53 -05:00
Jelmer Vernooij
be1bbf317b r4458: Create ncalrpc directory with 0755 rather then 0700 so non-root users
can use ncalrpc as well.
(This used to be commit 02340bb6ee)
2007-10-10 13:07:52 -05:00
Andrew Tridgell
4a8b3041aa r4453: use lp_server_role(), which currently returns 3, for the dssetup
role. The value '5', which is what my w2k3 DC returns, doesn't
work. I'm not sure why this is.

with this change the GUI ACL editor from w2k3 works properly, with
either server role in the HKLM registry.
(This used to be commit 27a8b270bd)
2007-10-10 13:07:52 -05:00
Andrew Tridgell
09d708e27e r4452: the beginnings of a dssetup rpc server.
(This used to be commit 1c2170ae21)
2007-10-10 13:07:52 -05:00
Andrew Tridgell
90a322f6d7 r4447: implement server side of lsa_LookupSids3() and lsa_LookupNames3()
(This used to be commit e535f84504)
2007-10-10 13:07:51 -05:00
Stefan Metzmacher
85b492bb5b r4440: - add a start of srvsvc_NetShareCheck() server code
- filterout hidden shares in NetShareEnum()

- get max_connections right

metze
(This used to be commit c685823c5d)
2007-10-10 13:07:50 -05:00
Andrew Tridgell
e046e9dd73 r4433: added the boilerplate for the new w2k3 LSA functions in preparation
for adding LookupSids3 (needed for ACL editing from w2k3)
(This used to be commit 745bbc0e17)
2007-10-10 13:07:49 -05:00
Stefan Metzmacher
d63c481fb9 r4432: - add srvsvc_NetShareInfo level 1006 and 1501 idl
- implement srvsvc_NetGetShareInfo()

- add more error checks

- bring the rest of the code in the same layout

metze
(This used to be commit 0dd14d9fc6)
2007-10-10 13:07:49 -05:00
Stefan Metzmacher
72ffef2406 r4426: fix same names
metze
(This used to be commit 18bbe40fe1)
2007-10-10 13:07:48 -05:00
Stefan Metzmacher
09ee8ae1de r4425: - move srvsvc and wkssvc server code to the new W_ERROR_HAVE_NO_MEMORY() macro
- add parameters for
  server_info:platform_id = 500 /* this is PLATFORM_ID_NT */
  server_info:version_major = 5
  server_info:version_minor = 2

- implmented srvsvc_NetSrvGetInfo level 101

- make dcesrv_common_get_server_name() match w2k3

metze
(This used to be commit 16f4320770)
2007-10-10 13:07:48 -05:00
Volker Lendecke
6372b4e4a4 r4417: Reply to samr_QueryDomainInfo with the same static value as level2 does.
Volker
(This used to be commit 04cf580ef3)
2007-10-10 13:07:46 -05:00
Volker Lendecke
6f2e88a09c r4416: [in,out] variables do have an r->out component...
Volker
(This used to be commit 97247c9029)
2007-10-10 13:07:46 -05:00
Volker Lendecke
6aaefee85f r4415: Implement samr_RemoveMemberFromForeignDomain. This is needed to delete a user
with usrmgr.exe.

To fix: Remove domain group membership attrib values when a user is deleted.

Volker
(This used to be commit 83d180c732)
2007-10-10 13:07:46 -05:00
Volker Lendecke
8da7a60557 r4414: Various bits&pieces:
* Implement samr_search_domain, filter out all elements with no "objectSid"
  attribute and all objects outside a specified domain sid.

* Minor cleanups in dcerpc_samr.c due to that.

* Implement srvsvc_NetSrvGetInfo level 100. A quick hack to get usrmgr.exe
  one step further.

* Same for samr_info_DomInfo1.

Volker
(This used to be commit cdec896113)
2007-10-10 13:07:46 -05:00
Volker Lendecke
b386af06d0 r4399: Implement samr_GetAliasMembership and samr_GetGroupsForUser. With these two,
usrmgr.exe seems to become usable. Some quirks, but it's worth a try.

Volker
(This used to be commit 9c62a239cd)
2007-10-10 13:07:43 -05:00
Jelmer Vernooij
b2125c125f r4394: Use 'raw' protocol towers in the lists in the endpoint rather then
dcerpc_binding structs.
(This used to be commit 9175b72972)
2007-10-10 13:07:42 -05:00
Volker Lendecke
4fd56d5d1a r4393: Trivial bugfix for a silly bug
(This used to be commit ae3c329e9d)
2007-10-10 13:07:42 -05:00
Volker Lendecke
03a914931e r4381: Add my copyright
(This used to be commit 9e27a83ac3)
2007-10-10 13:07:40 -05:00
Volker Lendecke
a7a1fada8d r4380: Implement samr_QueryDisplayInfo. This probably needs some polishing (Do we
have to sort the entries?)

Volker
(This used to be commit 26d21bb5cc)
2007-10-10 13:07:40 -05:00
Volker Lendecke
e08d8505d2 r4378: Implement samr_EnumDomainGroups and samr_EnumDomainAliases.
Hmmm. How do I tell ldb not to descend into cn=Builtin?

Volker
(This used to be commit c95d20cd7c)
2007-10-10 13:07:40 -05:00
Volker Lendecke
e14a5a9167 r4376: Implement samr_AddAliasMember, samr_DeleteAliasMember and
samr_GetMembersInAlias.

Volker
(This used to be commit 78802720ae)
2007-10-10 13:07:40 -05:00
Volker Lendecke
2333ea56f3 r4375: Implement samr_OpenAlias, samr_QueryAliasInfo and samr_SetAliasInfo. Fix IDL
for samr_SetAliasInfo.

Volker
(This used to be commit d70e237190)
2007-10-10 13:07:39 -05:00
Volker Lendecke
296c0d8eac r4374: Follow metzes hint, change LookupRids a bit
(This used to be commit b8fa5b9419)
2007-10-10 13:07:39 -05:00
Volker Lendecke
f0d3e9de7e r4372: Implement samr_LookupRids
(This used to be commit 1bab3254f6)
2007-10-10 13:07:39 -05:00
Volker Lendecke
77529ae792 r4367: Implement samr_AddGroupMember, samr_DeleteGroupMember and
samr_QueryGroupMember.

Volker
(This used to be commit 43581c3711)
2007-10-10 13:07:39 -05:00
Stefan Metzmacher
4620625ea3 r4359: using talloc_free() of a child struct in a talloc_destructor is useless
metze
(This used to be commit e51f2cf43f)
2007-10-10 13:07:38 -05:00
Andrew Bartlett
0f1444b772 r4358: At metze's request, the Christmas elves have removed gensec_end in
favor of talloc_free().

Andrew Bartlett
(This used to be commit 1933cd12fb)
2007-10-10 13:07:37 -05:00
Volker Lendecke
e4b8399af6 r4344: Unify memory handling in dcerpc_samr.c a bit
(This used to be commit 79ec28ade8)
2007-10-10 13:07:36 -05:00
Stefan Metzmacher
5b07d37110 r4340: - simplify lsa_GetUserName() server code,
we don't need to do db lookups as we already known who the user is

metze
(This used to be commit cef0d1eb29)
2007-10-10 13:07:36 -05:00
Volker Lendecke
61b1620fc4 r4335: Fix some potential memleaks, implement CreateDomAlias. Hmmmm. Isn't there
enough stuff to do in 3_0??? ;-)

Volker
(This used to be commit c0fa7a92d9)
2007-10-10 13:07:35 -05:00
Volker Lendecke
7f773c9ae8 r4332: Fix a potential memleak.
Volker
(This used to be commit 8f2b9c9d32)
2007-10-10 13:07:35 -05:00
Stefan Metzmacher
a86387d42c r4323: - implement the lsa_GetUserName() server call
- give lsa_lookup_sid() a chance with foreign SIDS
  returning NT_STATUS_NO_MEMORY makes no sense here
  as the ldb_msg_find_string() doesn't allocate the string

metze
(This used to be commit b43f34e873)
2007-10-10 13:07:35 -05:00
Stefan Metzmacher
6fbf487ec0 r4321: objectClass trustedDomain uses "securityIdentifier" for the sid
also explicit tell the fill_info code what kind of object the current
result is.

metze
(This used to be commit 6d74d31e50)
2007-10-10 13:07:34 -05:00
Stefan Metzmacher
33cbe33678 r4320: fix locations of new trusting domains and domsin controller
computer accounts

metze
(This used to be commit f75c2004a0)
2007-10-10 13:07:34 -05:00
Stefan Metzmacher
bb072199b1 r4288: don't use struct dcerpc_interface_table anymore in the
main rpc server code. let the backends specify a ndr_push/ndr_pull function
like we already do with the dispatch() function.

this allows an interface implmentation to work as real proxy
without needing to know the idl for an interface that means
just the plain decrypted payload can be forwarded

If someone want to write such a backend, patches are wellcome

metze
(This used to be commit a150bdf140)
2007-10-10 13:07:32 -05:00
Andrew Tridgell
2057121d14 r4283: adding a privilege that an account already has is not an error
(This used to be commit 2a4c562896)
2007-10-10 13:07:31 -05:00
Andrew Tridgell
134769f9ad r4280: added server side support for lsa_AddPrivilegesToAccount() and lsa_RemovePrivilegesFromAccount()
these are the last of the server side privileges functions. We should
now have a complete privileges implementation.
(This used to be commit 76db300232)
2007-10-10 13:07:31 -05:00
Andrew Tridgell
424844da32 r4278: - added server support for lsa_EnumPrivsAccount()
(This used to be commit a80c82d263)
2007-10-10 13:07:31 -05:00
Andrew Tridgell
9b3ea6dc4e r4277: - added server support for lsa_EnumAccounts()
- expanded the lsa test suite to better test lsa_EnumAccounts()
(This used to be commit bafdb17729)
2007-10-10 13:07:31 -05:00
Andrew Tridgell
c6a420fd1e r4276: added server side support for lsa_OpenAccount()
(This used to be commit 4716334502)
2007-10-10 13:07:30 -05:00
Andrew Tridgell
f7b794c921 r4275: improve the share type info
(This used to be commit 750deb7f22)
2007-10-10 13:07:30 -05:00
Jelmer Vernooij
efdf83f4a6 r4213: Store REG_SZ in UTF16, not the unix charset..
It is now possible to use the "Add..." button in the Security
tab of the File Properties Dialog box.
(This used to be commit 9fa25260d3)
2007-10-10 13:07:27 -05:00
Jelmer Vernooij
d8c3428b3b r4209: Fix several smaller bugs
Add "predef" and "set" commands in regshell

Some of the remote calls from a Windows box work now.
(This used to be commit f3e0578280)
2007-10-10 13:07:27 -05:00
Andrew Tridgell
113cacf94c r4206: fixed a status code check in lsa_LookupNames2 that could cause a segv
(This used to be commit 31ab04f790)
2007-10-10 13:07:26 -05:00
Jelmer Vernooij
1a340869c4 r4204: Arguments to reg_del_key more like the RPC for more efficient usage
Fix small bug in regpatch
Fix segfault in regshell cmdline completion
Implement set_value and del_value in ldb backend
(This used to be commit 8e2aa58abe)
2007-10-10 13:07:26 -05:00
Stefan Metzmacher
75f02f9d4d r4203: the bind_info blob isn't a const.
here's the idl to parse it, because we don't want the
callers to manually de/encode this

metze
(This used to be commit 983f74c365)
2007-10-10 13:07:26 -05:00
Andrew Tridgell
4d545e09c8 r4202: added smbclient commands "addprivileges" and "delprivileges" for
easily adding/removing privileges from users
(This used to be commit 8764909c05)
2007-10-10 13:07:26 -05:00
Andrew Tridgell
916170d9dc r4199: - added server side code for lsa_RemoveAccountRights (sharing code
with lsa_AddAccountRights)
(This used to be commit 9bd806b7a2)
2007-10-10 13:07:25 -05:00
Andrew Tridgell
463ba76d44 r4198: - added server side code for lsa_AddAccountRights
(This used to be commit ba87142586)
2007-10-10 13:07:25 -05:00
Andrew Tridgell
c80d77cdb8 r4196: - added server side code for lsa_LookupPrivDisplayName
- added english descriptions of privileges. We should add other
  languages in the future.
(This used to be commit 3eee8b7c13)
2007-10-10 13:07:25 -05:00
Andrew Tridgell
02f7d260a2 r4195: added IDL, test suite and server side code for lsa_LookupPrivValue
(This used to be commit 7bddd47403)
2007-10-10 13:07:25 -05:00
Andrew Tridgell
9927ffd600 r4194: added server side implementation of lsa_EnumPrivs
(This used to be commit 7107320332)
2007-10-10 13:07:24 -05:00
Andrew Tridgell
8a3d15127b r4193: added server side implementation of lsa_EnumAccountsWithUserRight
(This used to be commit 5088a6cbf7)
2007-10-10 13:07:24 -05:00
Andrew Tridgell
7b7c26cfce r4192: added server side implementation of lsa_EnumAccountRights
the "privilege" command in smbclient now works against Samba4
(This used to be commit 8a3f265050)
2007-10-10 13:07:24 -05:00
Jelmer Vernooij
1971d529b4 r4168: Implement QueryValue in the server
IDL for NotifyChangeKeyValue
(This used to be commit a402142431)
2007-10-10 13:07:21 -05:00
Jelmer Vernooij
47fa1d33e4 r4166: More small API fixes, keep registry structs as small as possible.
Implement DelValue in the RPC server
(This used to be commit f6b9ec89af)
2007-10-10 13:07:21 -05:00
Andrew Tridgell
1960714669 r4161: two more fixes for NT4 clients. Bugs found by kukks.
- nt4 doesn't setup the pfc flags correctly for rpc packet types
   other than normal requests, so don't check for fragmented packets
   unless they are of type request

 - ensure we give STATUS_BUFFER_OVERFLOW when we return a partial
   fragment in SMBtrans requests on ncacn_np
(This used to be commit 83ebffec32)
2007-10-10 13:07:20 -05:00
Jelmer Vernooij
969e14eae9 r4155: More destinction between hives and predefined keys
(This used to be commit c37d6f3c58)
2007-10-10 13:07:20 -05:00
Jelmer Vernooij
6cf13f4d72 r4154: Add definitions for HKEY_PERFORMANCE_TEXT and HKEY_PERFORMANCE_NLSTEXT
Hives and predefined keys (HKEY_*) are not necessarily the same thing.
(This used to be commit 217e4e5841)
2007-10-10 13:07:19 -05:00
Jelmer Vernooij
444a867924 r4132: - Bunch of rather large fixes in the registry
- Added some README files

Not everything works yet, e.g. the EnumValue test appears to be broken.
(This used to be commit c169e86c1f)
2007-10-10 13:06:29 -05:00
Andrew Tridgell
b71dba6a76 r4118: don't assume that "unsigned int" is the same type as uint32_t
(This used to be commit 1ddab01d2a)
2007-10-10 13:06:28 -05:00
Andrew Tridgell
3c70b82f42 r4117: fixed EnumValue in winreg server
(This used to be commit f2f21033b6)
2007-10-10 13:06:28 -05:00
Jelmer Vernooij
4b533a9070 r4106: Add full name of two more hives
(This used to be commit c1023db5e8)
2007-10-10 13:06:27 -05:00
Stefan Metzmacher
8d0c3eefbc r4096: move the samdb code to source/dsdb/
the idea is to have a directory service db layer
which will be used by the ldap server, samr server, drsuapi server
authentification...

I plan to make different implementations of this interface possible
- current default will be the current samdb code with sam.ldb
- a compat implementation for samba3 (if someone wants to write one)
- a new dsdb implementation which:
  - understands naming contexts (directory parrtitions)
  - do schema and acl checking checking
  - maintain objectGUID, timestamps and USN number,
    maybe linked attributes ('member' and 'memberOf' attributes)
  - store metadata on a attribute=value combination...

metze
(This used to be commit 893a8b8bca)
2007-10-10 13:06:26 -05:00
Stefan Metzmacher
57314e0df3 r4087: - add idl and torture tests for drsuapi_DsReplicaGetInfo()
(NOTE: that the drsuapi_DsReplicaObjMetaData2 struct is not corrently parsed yet
 and there're some unknown fields left in someother infotypes)

metze
(This used to be commit 4fd57d5e7c)
2007-10-10 13:06:25 -05:00
Stefan Metzmacher
9b50dba87e r4086: - make dcerpc_ndr_request_table_send() the default and rename it to just
dcerpc_ndr_request_send()
- this allows us to call dcerpc_log_packet() when we receive a packet we
  can't parse correctly

metze
(This used to be commit a7a6cea112)
2007-10-10 13:06:25 -05:00
Stefan Metzmacher
10918b7b70 r4082: support alter_context requests
metze
(This used to be commit ab6ec6b5f4)
2007-10-10 13:06:25 -05:00
Stefan Metzmacher
37e2570632 r4081: use clearer names
metze
(This used to be commit 5d7d6f02cf)
2007-10-10 13:06:24 -05:00
Stefan Metzmacher
c62615f268 r4075: implement RemoteTOD server function
metze
(This used to be commit 0c6d4246a4)
2007-10-10 13:06:23 -05:00
Andrew Tridgell
2f9e170f45 r4058: added a type safe version of smb_xmalloc()
(This used to be commit 1235afa5fe)
2007-10-10 13:06:20 -05:00
Andrew Tridgell
6e6374cb5b r4055: fixed more places to use type safe allocation macros
(This used to be commit eec698254f)
2007-10-10 13:06:20 -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
Stefan Metzmacher
b71458c742 r4041: fix cut-n-paste typo
metze
(This used to be commit 54398aa889)
2007-10-10 13:06:17 -05:00
Andrew Tridgell
4183b2ac38 r4037: fixed a bunch of "might be uninitialised" warnings after enabling -O1 in my compile
(This used to be commit 0928b1f5b6)
2007-10-10 13:06:16 -05:00