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

481 Commits

Author SHA1 Message Date
Andrew Tridgell
c47e88dabf use the @CPP@ value from configure if possible when determining cpp in
pidl
0001-01-01 00:00:00 +00:00
Andrew Tridgell
66e648f20f lets see if "cc -E" keeps more of the build farm happy then "cpp"
We'll probably need a configure entry for this
0001-01-01 00:00:00 +00:00
Andrew Tridgell
2d57346c2d lots of shells don't have the -nt test, so use hackish find command
instead
0001-01-01 00:00:00 +00:00
Andrew Tridgell
68e71d7497 added "pidl.pl --template" to dump a rough template to save typing
when starting a pipe. Thanks to metze for a script that gave the idea.

do something like this to use it:

  pidl.pl --parse --template librpc/idl/XXX.idl > rpc_server/XXX/rpc_XXX.c

then fill in the functions in rpc_XXX.c
0001-01-01 00:00:00 +00:00
Andrew Tridgell
a39ee5d003 fixed srvsvc DiskEnum call
strangely, the output doesn't seem to contain an info level. Some
programmer stuffed up the IDL :)
0001-01-01 00:00:00 +00:00
Andrew Tridgell
56143689ec patch from metze with updates to srvsvc and changes to pidl to allow
for the server rpc boilerplate to correctly generate for multiple
interfaces on an endpoint
0001-01-01 00:00:00 +00:00
Andrew Tridgell
a1275c1e89 make sure we allow clients to negotiate ntlmssp seal if they want it 0001-01-01 00:00:00 +00:00
Andrew Tridgell
a4aa9168c0 make pidl no longer dependent on Data::Dumper, which isn't installed
on some systems
0001-01-01 00:00:00 +00:00
Andrew Tridgell
e472053bcc fixed a typo in the m4 file 0001-01-01 00:00:00 +00:00
Andrew Tridgell
113e772e37 "make idl" is now incremental and "make idl_full" is a full idl build 0001-01-01 00:00:00 +00:00
Andrew Tridgell
5f6b0baa30 a script fix for the build farm 0001-01-01 00:00:00 +00:00
Andrew Tridgell
1012c6e3f7 disable pam in samba4 until someone fixes it (hi andrew!) 0001-01-01 00:00:00 +00:00
Andrew Tridgell
65d2bda950 don't try and build the libclient stuff in samba4 yet 0001-01-01 00:00:00 +00:00
Andrew Tridgell
edc67fffea more flexible handling of [] in binding strings 0001-01-01 00:00:00 +00:00
Andrew Tridgell
a73825eb49 allow the specification of full dcerpc endpoint binding strings on the
command line. This allows you to (for example) control signing/sealing
of smbtorture RPC sessions
0001-01-01 00:00:00 +00:00
Andrew Tridgell
837d8f73a9 switch off the default of ntlmssp on rpc on smb as some windows pipes
can't handle it (I'd switched it on while experimenting, and forgot to
switch it off before committing)
0001-01-01 00:00:00 +00:00
Andrew Tridgell
fa45529af7 fixed the handling of zero-length top level arrays in pidl 0001-01-01 00:00:00 +00:00
Andrew Tridgell
f21d6351d0 zero length echo is not an error 0001-01-01 00:00:00 +00:00
Andrew Tridgell
39a7c660f4 fixed the transfer syntax in the dcerpc bind reply 0001-01-01 00:00:00 +00:00
Andrew Tridgell
bd3dcfe582 added auto-generation of the server side boilerplate code for each
pipe.

The server side code gets generated as librpc/gen_ndr/ndr_NAME_s.c and
gets included in the pipe module
0001-01-01 00:00:00 +00:00
Simo Sorce
2afbd1e000 typo 0001-01-01 00:00:00 +00:00
Andrew Tridgell
f5df126c25 fixed fragmented signed connections to our rpc server over SMB 0001-01-01 00:00:00 +00:00
Simo Sorce
6f33109b10 reduce double explanation of FIXED ARRAYS 0001-01-01 00:00:00 +00:00
Andrew Tridgell
6ee0935afe ntlmssp over rpc over tcp now fully works
I needed to hack the ntlmssp code a little, as the auth code in samba4
is out of date relative to the samba3 auth code. I need to do a merge :)
0001-01-01 00:00:00 +00:00
Andrew Tridgell
5fed4681ed fix _ptr_ declaration 0001-01-01 00:00:00 +00:00
Andrew Tridgell
2045855601 fixed some memory leaks in the rpc server code 0001-01-01 00:00:00 +00:00
Andrew Tridgell
74041b6a0a fixed a bug handling multiple PDUs being read from a socket at one
time in the rpc server.

started on the framework for the dcerpc authentication server code
0001-01-01 00:00:00 +00:00
Andrew Tridgell
ebe29305af add the ntlmssp calls back into smbtorture on rpc over tcp. The samba4
rpc server doesn't do ntlmssp yet, so this breaks the tests, but that
is the next step.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
593bc29bbe completed the linkage between the endpoint mapper and the dcerpc
server endpoints. We can now successfully setup listening endpoints on
high ports, then use our endpoint mapper redirect incoming clients to
the right port.

also greatly cleanup the rpc over tcp session handling.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
4f46606af8 make the IO in the dcerpc over TCP server completely async, handling
partial packets on both input and output
0001-01-01 00:00:00 +00:00
Andrew Tridgell
9fb0f03693 dcerpc over tcp in the samba4 server now works to some extent. It
needs quite a bit more work to get it finished. The biggest missing
feature is the lack of NTLMSSP which is needed for basic
authentication over tcp
0001-01-01 00:00:00 +00:00
Andrew Tridgell
097e7ca99d rpcdump.exe now works fine against a Samba4 server
for some reason the epm_Lookup replies can't be parsed by ethereal,
although w2k parses then fine as does the Samba4 NDR code.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
fbdcf9ef54 added the epm_Map() call.
the RPC-EPMAPPER torture test now passes
0001-01-01 00:00:00 +00:00
Andrew Tridgell
3f85f9b782 added a basic dcerpc endpoint mapper to Samba4. Currently only
implements the epm_Lookup() call, I'll add the other important calls
soon. I was rather pleased to find that epm_Lookup() worked first
time, which is particularly surprising given its complexity.

This required quite a bit of new infrastructure:

  * a generic way of handling dcerpc policy handles in the rpc server

  * added type checked varients of talloc. These are much less error
    prone. I'd like to move to using these for nearly all uses of
    talloc.

  * added more dcerpc fault handling code, and translation from
    NTSTATUS to a dcerpc fault code

  * added data_blob_talloc_zero() for allocating an initially zero
    blob

  * added a endpoint enumeration hook in the dcerpc endpoint server
    operations
0001-01-01 00:00:00 +00:00
Andrew Tridgell
30a996b682 after chatting with jeremy I decided to use a separate directory for
each rpc endpoint implementation, so we will have rpc_server/samr/
rpc_server/lsa/ etc.

this should encourage each pipe to be written in a more complete
manner, as it gives easy ways to split the pipe into multiple modules.
0001-01-01 00:00:00 +00:00
Tim Potter
817a2fe2e5 Small cleanup of test code. Rename enum indexes to be the same name
for EnumKey and EnumValue.
0001-01-01 00:00:00 +00:00
Tim Potter
cc494086e7 Got winreg_EnumValue working - what a mess! 0001-01-01 00:00:00 +00:00
Tim Potter
370512f664 Added routines for arrays of uint16s. 0001-01-01 00:00:00 +00:00
Andrew Tridgell
6e7c50bcd9 added support for sending bind_nak replies in the rpc server 0001-01-01 00:00:00 +00:00
Andrew Tridgell
8ad47eff49 added the echo pipe test calls 0001-01-01 00:00:00 +00:00
Andrew Tridgell
4dac951718 we now support pdu fragmentation on both input and output in the rpc
server code
0001-01-01 00:00:00 +00:00
Andrew Tridgell
14005c95d7 added handling of fragmented requests in the rpc server
now we just need to handle fragmented replies ....
0001-01-01 00:00:00 +00:00
Andrew Tridgell
28fa62d63d handle the auto-allocation of [ref] output arrays in pidl. This
can simplify rpc servers a lot.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
46e0a35819 * the RPC-ECHO pipe now works in smbd, as long as the data sizes
don't cause fragmented pdus (I'll add fragments shortly)

 * change data_blob_talloc() to not zero memory when the 2nd argument
   is NULL. The zeroing just masks bugs, and can't even allow a DOS
   attack

 * modified pidl to ensure that [ref] arguments to the out side of
   functions are allocated when parsing the in side. This allows rpc
   backends to assume that [ref] variables are all setup. Doesn't work
   correctly for [ref] arrays yet

 * changed DLIST_ADD_END() to take the type instead of a tmp
   variable. This means you don't need to declare a silly tmp variable in
   the caller
0001-01-01 00:00:00 +00:00
Andrew Tridgell
4929c53bc8 the next step in the dcerpc server code. Added the link between the
IPC IO routines and the dcerpc endpoint servers.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
c598590a11 more portable array of endpoints code from pidl 0001-01-01 00:00:00 +00:00
Andrew Tridgell
5fb01b0ec0 the rest of the initial rpc server side infrastructure 0001-01-01 00:00:00 +00:00
Andrew Tridgell
3706af7a6c initial rpc server side infrastructure 0001-01-01 00:00:00 +00:00
Andrew Tridgell
f3eaf270e5 * removed some unused code
* updated tdb to latest version from Samba3

 * removed some extraneous ';' in tdbutil.c (Thanks to Erlend Aasland
   for pointing this out)
0001-01-01 00:00:00 +00:00
Andrew Tridgell
bbd35e7c31 remove the tdbsam code for now. I have other plans for SAM backends :) 0001-01-01 00:00:00 +00:00