1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-27 03:21:53 +03:00
Commit Graph

53 Commits

Author SHA1 Message Date
Stefan Metzmacher
7f4d2ac6a2 epmapper.idl: add link to official IDL
metze
(This used to be commit b5c0a6c114)
2008-02-15 08:53:11 +01:00
Jelmer Vernooij
9b009c9009 r25301: Merge my includes.h cleanups.
(This used to be commit 37425495f3)
2007-10-10 15:07:09 -05:00
Jelmer Vernooij
3a93b655dd r21378: Add simple NDR epmap test.
(This used to be commit b29170c8ea)
2007-10-10 14:48:23 -05:00
Jelmer Vernooij
38ba8bf8ba r20566: Prepending with r-> is no longer necessary.
(This used to be commit 1df96af310)
2007-10-10 14:36:59 -05:00
Jelmer Vernooij
128fe5324b r19856: Use sptr as basis for full ptr implementation. Will add checks for duplicates later.
(This used to be commit 006ab1d4a4)
2007-10-10 14:28:26 -05:00
Stefan Metzmacher
6166693a8c r19855: toplevel pointers are 'ref' by default:
- we don't need to add 'ref' explicit
- we some toplevel pointers need to be 'ptr' ('sptr' for now) pointers

metze
(This used to be commit c95cd82de2)
2007-10-10 14:28:26 -05:00
Jelmer Vernooij
41848fea6f r19844: Fix warnings and errors in epmapper IDL.
(This used to be commit 0221d5b6c4)
2007-10-10 14:28:24 -05:00
Jelmer Vernooij
cd9057a0bb r18639: Get rid of the keepref support
(This used to be commit d1364ef0cd)
2007-10-10 14:18:59 -05:00
Jelmer Vernooij
9727b061f3 r15776: Don't generate ref pointers in Samba4-generated code. There is no point
in having pointers for outgoing data when you can already modify the top-level
element.

This can be overridden (temporarily) by specifying the new "keepref"
attribute. Once we've removed keepref from all IDL files, I'll remove this
attribute as well.
(This used to be commit bdc6dd3750)
2007-10-10 14:08:18 -05:00
Jelmer Vernooij
e748b53e43 r12513: Similar change as my previous commit, but now for transfer syntaxes.
Avoids converting a static string to GUID every time we check whether
a transfer syntax is equal to that of NDR.
(This used to be commit 8dcfcaf75a)
2007-10-10 13:47:49 -05:00
Stefan Metzmacher
4a993c5241 r8167: - use the same algorithm than w2k3 for 'unique' pointer values
- add a new 'sptr' (simple-full) pointer type to simulate what we need to support pipes
  like epmapper and mgmt that uses 'ptr' full pointer in their spec

- I runned make test and test_w2k3.sh with this, all fine

does we have any other pipe using 'unique' pointer where we need 'ptr'?

btw: jelmer, what does 'ignore' pointers do? they are allowed in pidl but not implemented!

metze
(This used to be commit d19068bfb2)
2007-10-10 13:19:16 -05:00
Jelmer Vernooij
d6acd2fb16 r8012: Add UUID for NDR64 transfer syntax.
(This used to be commit 6a3f622222)
2007-10-10 13:18:58 -05:00
Jelmer Vernooij
c420c5a4c4 r7552: Use ParseExpr() for [value] attributes; allows
us somewhat cleaner IDL.
(This used to be commit b7b01bccd1)
2007-10-10 13:18:07 -05:00
Jelmer Vernooij
e427f58622 r6973: Merge new version of pidl into the main SAMBA_4_0 branch.
The main difference in this new version is the extra data structure generated
between the IDL data structure and the NDR parser:

IDL -> NDR -> { ndr_parser, ndr_header, eparser, etc }

This makes the ndr_parser.pm internals much more sane.

Other changes include:

- Remove unnecessary calls with NDR_BUFFERS (for example, GUID doesn't have any buffers, just scalars) as well as some (unnecessary) nested setting of flags.
- Parse array loops in the C code rather then calling ndr_pull_array(). This allows us to have, for example, arrays of pointers or arrays of pointers to arrays, etc..
- Use if() {} rather then if () goto foo; everywhere
- NDR_IN no longer implies LIBNDR_FLAG_REF_ALLOC
- By default, top level pointers are now "ref" (as is the default in
  most other IDL compilers). This can be overridden using the
  default_pointer_top() property.
- initial work on new ethereal parser generators by Alan DeKok and me
- pidl now writes errors in the standard format used by compilers, which
  is parsable by most editors
- ability to warn about the fact that pidl extension(s) have been used,
  useful for making sure IDL files work with other IDL compilers.

oh, and there's probably some other things I can't think of right now..
(This used to be commit 13cf227615)
2007-10-10 13:17:01 -05:00
Jelmer Vernooij
bd638ea71c r6577: Make test works without installation now.
Running as a non-root user using socket_wrapper is possible by simple
export SOCKET_WRAPPER_DIR before running 'make test'
(This used to be commit 6d93fcc407)
2007-10-10 13:16:27 -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
9b9c23b19b r5155: define ipv4address as a based IDL type, mapped to a "const char *" in
the header, and defined on the wire as a 4 byte network byte order
IP. This means the calling code doesn't have to worry about network
byte order conversions.
(This used to be commit 72048e3717)
2007-10-10 13:09:28 -05:00
Stefan Metzmacher
c4f115aa1b r5148: use ipv4_addr also in epmapper idl
metze
(This used to be commit cbc1f17282)
2007-10-10 13:09:28 -05:00
Andrew Tridgell
58d9adf409 r4526: - much simpler (and more accurate!) ndr_size_*() code generation. It
is less efficient, but I really doubt that matters.

- use enum in epmapper.idl for protocol type

- added support for "enum8bit" flag, used in epmapper.idl
(This used to be commit 1a24a50384)
2007-10-10 13:08:18 -05:00
Jelmer Vernooij
2e4466344a r4457: Fix IDL + add torture test for InqObject
(This used to be commit dbcaff7c71)
2007-10-10 13:07:52 -05:00
Jelmer Vernooij
52f7f9b8be r3516: dcerpc_epm_map_binding now checks the endpoints it nows first
and then possibly does a epm_Map call().
ncacn_np now also uses dcerpc_epm_map_binding()
(This used to be commit 77eec3fa18)
2007-10-10 13:05:27 -05:00
Jelmer Vernooij
83899037dc r3433: Use .mk file for librpc/
(This used to be commit c1f345eefd)
2007-10-10 13:05:10 -05:00
Andrew Tridgell
e481385391 r3322: fixed a bunch of warnings in the build, including one case where it was a real bug
(This used to be commit 02d5d0f685)
2007-10-10 13:04:55 -05:00
Andrew Tridgell
2bf6dff983 r3283: converted to quoted uuid() defines in all our IDL. This should help
the build on systems like solaris with the SunPRO compiler
(This used to be commit fe913ad11b)
2007-10-10 13:04:50 -05:00
Jelmer Vernooij
b9956de1b1 r3164: Look up ncalrpc identifiers using the EPMAPPER. ncalrpc now works nicely :-)
The various interface that support ncalrpc work nicely when tested
with smbtorture and ncalrpc.

Running RPC-SAMR against local smbd here is slightly faster using ncalrpc:
ncalrpc: 		1.8 sec
ncacn_ip_tcp:	1.9 sec
ncacn_np:		2.5 sec
(This used to be commit 2cfc8f24ce)
2007-10-10 13:02:28 -05:00
Jelmer Vernooij
40c5a1d99f r3162: Add client-side support for the ncalrpc: and ncacn_unix_stream: transports.
ncalrpc uses the new config option "ncalrpc dir" for creating unix sockets.
(This used to be commit b15cfbe251)
2007-10-10 13:02:27 -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
Jelmer Vernooij
ac989eda6d r3114: - More work on merging the various structs that describe endpoints
- Add protocol sequence to dcerpc transports (will be used later on)
- Add more transports to the list
(This used to be commit ab110192e6)
2007-10-10 13:02:23 -05:00
Jelmer Vernooij
aa1c83bdbb r3111: Add a few more protocol identifiers, rhs for ncalrpc
(This used to be commit 53567a83cb)
2007-10-10 13:02:22 -05:00
Jelmer Vernooij
31403d548e r3043: Use binding strings for specifying endpoints. The property for
specifying a endpoint is now also 'endpoint' instead of 'endpoints'. The
default endpoint (if none is specified) is still "ncacn_np:[\\pipe\\ifacename]",
where ifacename is the name of the interface.

Examples:

[
  uuid(60a15ec5-4de8-11d7-a637-005056a20182),
  endpoint("ncacn_np:[\\pipe\\rpcecho]", "ncacn_ip_tcp:")
]
interface rpcecho
{
	void dummy();
}

dcerpc_binding is now converted to ep_description in the server, but I hope to
completely eliminate ep_description later on.

The eventual goal of all these changes is to make it easier to add
 transports as I'm going to add support for
 ncalrpc (local RPC over named pipes) and ncacn_unix_stream (Unix sockets).
(This used to be commit f3da7c8b44)
2007-10-10 13:01:53 -05:00
Jelmer Vernooij
fe15b46d61 r2990: Add support to pidl for autogenerating ndr_size_*() functions. Adding
the [gensize] property to a struct or union will make pidl generate a
ndr_size_*() function.

(not all nasty bits of NDR are completely covered yet by the
 ndr_size*() functions, support for those will be added when necessary)

I also have a local patch (not applied now) that simplifies the pidl output
and eliminates the number of functions required. It would, however, make
pidl more complex.
(This used to be commit 7c823f886a)
2007-10-10 12:59:55 -05:00
Andrew Tridgell
da5cbd0886 r2968: fixed the byte order problem with the new RHS parsing on ncacn_ip_tcp
(This used to be commit cc00f9b6b8)
2007-10-10 12:59:53 -05:00
Jelmer Vernooij
24c0fbc0e8 r2956: Fix towers_length for now. I'm currently working on a pidl extension
that can generate these kinds of functions
(This used to be commit ebca251650)
2007-10-10 12:59:51 -05:00
Jelmer Vernooij
8d656e9faa r2939: Use /* */ style comments
(This used to be commit c5d4fae3b1)
2007-10-10 12:59:50 -05:00
Jelmer Vernooij
ae0aa86039 r2938: Use IDL to dissect the RHS of floors in protocol towers
(This used to be commit 273d0049b5)
2007-10-10 12:59:50 -05:00
Jelmer Vernooij
e2d27b9d23 r2921: Add a few more protocols and fix the numbers associated with some of
the current ones. It took me three hours to realise that the DCOM standard
contains false protocol numbers (apparently someone converted the protocol
numbers to hex twice, i.e. 13 -> 0c and 14 to 0d). There are no longer
duplicates in the list with protocol numbers now.
(This used to be commit f355cd4264)
2007-10-10 12:59:48 -05:00
Andrew Tridgell
350673b2d0 r1818: _really_ fixed epmapper this time, it was using more than one old rpc interface method.
(This used to be commit ec41c73ae1)
2007-10-10 12:57:59 -05:00
Jelmer Vernooij
b7779be06a r1799: List more uuids. From
http://www.hsc.fr/ressources/articles/win_net_srv
(This used to be commit 8d36dbed8c)
2007-10-10 12:57:58 -05:00
Jelmer Vernooij
0023e5b698 r1742: Add the IDispatch interface
(This used to be commit 798017bd10)
2007-10-10 12:57:52 -05:00
Jelmer Vernooij
1f0ea81ae9 r1703: - Lots of RPC updates, adding new pipes and protocols.
- More updates/fixes to the ethereal parser generator
(This used to be commit 547f860285)
2007-10-10 12:57:49 -05:00
Andrew Tridgell
2558f81a8d the endpoint mapper now works in bigendian mode
(This used to be commit 1f89d89954)
2003-12-31 01:32:33 +00:00
Andrew Tridgell
d4705378ce 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
(This used to be commit 9fb0f03693)
2003-12-13 10:58:48 +00:00
Andrew Tridgell
8faa77f177 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.
(This used to be commit 097e7ca99d)
2003-12-13 04:46:50 +00:00
Andrew Tridgell
da86d3af31 added the epm_Map() call.
the RPC-EPMAPPER torture test now passes
(This used to be commit fbdcf9ef54)
2003-12-13 03:23:41 +00:00
Andrew Tridgell
c7c9e61987 more epmapper and mgmt magic
protocol 0x1f is interesting - its ncacn_http !
(This used to be commit e3d40e3da6)
2003-11-27 07:28:46 +00:00
Andrew Tridgell
61bb3c865c use EPMAPPER_PORT constant instead of 135
(This used to be commit 953ab587dc)
2003-11-27 04:04:31 +00:00
Andrew Tridgell
fca5f78032 use the IDL defined NDR version number
(This used to be commit 00e0c14b76)
2003-11-26 03:41:06 +00:00
Andrew Tridgell
fffd741a7a added auto-determination of the DCERPC over TCP port number by asking
the servers endpoint mapper
(This used to be commit 4abf5376b0)
2003-11-26 03:36:17 +00:00
Andrew Tridgell
f5fe95abd2 added tests for epm_Map endpointer map calls
(This used to be commit 570ad78525)
2003-11-24 10:15:17 +00:00
Andrew Tridgell
7d36545d33 give far more detail in the EPMAPPER results
(This used to be commit 4203019698)
2003-11-24 05:28:10 +00:00