Age | Commit message (Collapse) | Author | Files | Lines |
|
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 71fd3e5c3aac5f0002001ab29d2248e6c6842d6f)
|
|
for the spoolss_Enum* functions
metze
(This used to be commit bfcc86e706cf32672323eda939e5def6694509a8)
|
|
to fix dcerpc_pipe_close() on a secondary connection,
while the callers mem_ctx of a request is still valid
- fix up some memory contexts
TODO: split up output mem_ctx from ndr_pull context
metze
(This used to be commit 0bcbd694e903a3caeb0daa81b2f115ec8a1b93d5)
|
|
- 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 f298f2a5478a905fe385b8d68318db92ee984374)
|
|
full interfaces.
- Couple of bugfixes in odl.pm
- First use of multiple pointers in dcom.idl
(This used to be commit 3110c2ec44a872a53e7d6015b85c68fdb604b4de)
|
|
(This used to be commit d0d4251d6f8718256fd3baf7db4969dcf6073283)
|
|
metze
(This used to be commit 0e82e7f02bdd61d8fd27ef3eab9b23ecaadb1e5a)
|
|
The ODL module can convert an ODL structure to an IDL structure so that:
- The COM subsystem can use the ODL structure
- The DCE/RPC subsystem can use the IDL structure
(This used to be commit a339765d99c90c46f29e2bd71a6aa271febb096d)
|
|
(This used to be commit fd8fc22a79ec5fb7d5902605ca3984c4f8f463d0)
|
|
- Remember INTERFACEs as well (they can be types in DCOM)
(This used to be commit d914cd1804636eb1a34805d48c18e016835e973b)
|
|
(This used to be commit 75d8fc8338ea0345ed0181f5700640029e311599)
|
|
(This used to be commit 280df525380d06d67ce33938c4760807d5466966)
|
|
rafal
(This used to be commit bfb4dfaa8c039378b4c29f130cbcdc89eac951b9)
|
|
It does only compile. Completely untested yet, so almost certainly
broken, but I don't want it to lay on my laptop only.
rafal
(This used to be commit dcab843da35f5dd2ffc694922ee762b3c36dbd35)
|
|
(require for some of the COM stuff)
(This used to be commit fbce7464b2a61a46f5135ba2a341bea4e53f28e7)
|
|
Also add a new function to echo.idl that tests this behaviour.
(This used to be commit e5eb5e847e75f2b7b041a66f84d9b919ddf27739)
|
|
(This used to be commit 6d1ad1ce7a327d016636d8b374bfbe9ec2052d1c)
|
|
pointers rather then a bool.
(This used to be commit d40a49c8a7ea85335383144b18b1ecfddc0c4ae0)
|
|
(This used to be commit 0bb997127fe6c49361d9f1eaeda5d9321601a52a)
|
|
more generically. The default functions for remembering array sizes
are now used rather then a special local variable.
(This used to be commit 5f7882341fa435a495fa7181537b5599e2fc7a0d)
|
|
(This used to be commit 1b71000cc15a06bd4868fbf4ce5415f5866d29a5)
|
|
wrepl_pull_names() functions, with reasonable
parameters, so callers don't need to deal directly with wins replication packet structures
- converted the NBT-WINSREPLICATION torture test to use the new APIs
(This used to be commit cec1672662b7e5b1bdf843e9dee317aa4b03f719)
|
|
(This used to be commit 900477226ddd0644626827d66cd45624f02b636b)
|
|
readable. (Output C and header files have not changed, just internal pidl
changes)
(This used to be commit b86b299197f2c3b314d0fc33c0139bd19ef637f2)
|
|
(This used to be commit 1909a0695295e984b948b7410addac0022904ab8)
|
|
(This used to be commit a251712670e1daac949221407ae979b363dbc105)
|
|
metze
(This used to be commit 0aea8522d7ddaf1ce4cc708c13888e44d14cda32)
|
|
metze
(This used to be commit 748c456641bfc6717a0aaa9d1da903b041c7de5a)
|
|
was disabled in the first place.
(This used to be commit e52256aec27e2aba8893cd2e570874482696b230)
|
|
(This used to be commit e912f36dc827d7ad38994b93967fe48aade27b2b)
|
|
(This used to be commit a5bf662b52e270d45bba2605f844625cc30c7f89)
|
|
(This used to be commit cf1208471247e2d734f90008d29827541f177952)
|
|
this out.
(This used to be commit 0a78a1f90887afc695204f67af38138271aab2b8)
|
|
(This used to be commit d0a6b973307ba3b740f18214f14682495a607c63)
|
|
when linking though.
(This used to be commit 2e1e8db6dc877eb32b51cfc3d9c8f463d14530ec)
|
|
(This used to be commit fa97059d000859b3d0192ed4a0135770888aba6f)
|
|
(This used to be commit 40547ed33fea57ee8f68a8f864f8f10c9a6d24dc)
|
|
and remove unnecessary help functions as help is generated
automatically. Usage functions with precise information about
usage of each leaf node remain.
rafal
(This used to be commit eb66180d14a14cafbfc0df2b39eeaf4ad7bb43a9)
|
|
and description from function table.
rafal
(This used to be commit 24f7a3860e82bf632ebd6b3416e5e874e832be5f)
|
|
of command groups. Also give up help function pointer in the
structure since it's needed only in leaf nodes of command tree,
and leaf nodes decide about help on their own. Usage function
is still available on all levels.
rafal
(This used to be commit 48568959a86ee60c188b84078eb3872b8e185b6c)
|
|
(This used to be commit f5224d40c01b495f2607199f0d85a8c9afb056b0)
|
|
adding server side
replication support
- on a WACK registration success, check that the database record
hasn't changed during the WACK processing. If it has, then fail
the registration
(This used to be commit 2acd79b95931b57efae9f7c239bc08dc143f5225)
|
|
keyword,
move pointer parsing to seperate function.
(This used to be commit ea872b9a2b9a51ba9f6c2842303d067e9e85d11a)
|
|
setup as
a partner
(This used to be commit b94301b357801767e65e19be5d9464c58ecf621e)
|
|
list of partners, and for each partner dumps the complete list of
names
(This used to be commit dacf5f166a0d5a7bc1d96e730748811c9f47bba6)
|
|
- added a new IDL type "udlongr", which is like udlong, but with the
two uint32 halves reversed
- modified the winsrepl.idl to cope with a wider range of packets
(This used to be commit bc8d60c918f2e268d591aac464fc6a78c38a4cf9)
|
|
(This used to be commit 6f9eb74ef8536004d08ffd01ad41622b83526af6)
|
|
(This used to be commit 9536936992795629d19d4004fcad78cec3a3caff)
|
|
- if we have no configured network interfaces, then don't start nbtd (when I add dynamic
interface loading this will change to a delay until a network interface comes up)
- choose the best interface by netmask for torture tests that need a
specific IP (such as the WINS test). Added iface_best_ip() for that.
- if specific interfaces are chosen in smb.conf, then keep that ordering, and
default to the first one listed
(This used to be commit 4d08c114079ef6d1d10a96195046fe43631aefa2)
|
|
(just like header.pm already did).
(This used to be commit 90b262398b471acf560a8d05765cab1f25e24b5a)
|