Age | Commit message (Collapse) | Author | Files | Lines |
|
metze
(This used to be commit 2bb29cc68ae795bbb4baa12501103ae9555f1898)
|
|
metze
(This used to be commit fd7950abe62e91108157619ace8e96e99110b668)
|
|
(This used to be commit 3c31cbaac0cd916e6af49bfd2260bc3b1a75b677)
|
|
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 75d8fc8338ea0345ed0181f5700640029e311599)
|
|
Also add a new function to echo.idl that tests this behaviour.
(This used to be commit e5eb5e847e75f2b7b041a66f84d9b919ddf27739)
|
|
(This used to be commit 900477226ddd0644626827d66cd45624f02b636b)
|
|
metze
(This used to be commit 0aea8522d7ddaf1ce4cc708c13888e44d14cda32)
|
|
metze
(This used to be commit 748c456641bfc6717a0aaa9d1da903b041c7de5a)
|
|
(This used to be commit fa97059d000859b3d0192ed4a0135770888aba6f)
|
|
- 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 00b0ec8a599c9467ba52aebf978dc33648d33136)
|
|
on tcp port 42. This is enough to reasonably decode (with ndrdump) all
the packets I have seen on the wire. It will need some fine tuning
once I understand the protocol a bit more.
(This used to be commit 3f90bc132139815c23c7322d3d47268d92ba00ac)
|
|
(This used to be commit c47eb38593f63ffe68f6bd51b101ea989eb8ee8e)
|
|
Get rid of register_enum/register_bitmap, etc. (use list of
types in ndr.pm instead)
(This used to be commit efc2e41b8df3a0171cca57291929fb63760c1662)
|
|
(This used to be commit 6749b9404d4e9876ecd964e038c608f05d2c0b69)
|
|
- ndr_%_relative% -> ndr_%_relative_ptr%
- Change pointer_default() default to "unique"
(DCE uses "ptr" as default, MIDL doesn't follow the standard and uses "unique")
(This used to be commit 53b4ecbcc7a8da67cde1377de6f24a3de6d229e3)
|
|
is assumed to be "ptr" if not specified (just like midl).
The validator will warn when "ptr" is used at the moment, because
pidl only supports unique, ref and relative at the moment.
(This used to be commit 31bed62a9a6f7830f523d509b67970648d40aaef)
|
|
(This used to be commit c9d7b88756039a3eb3024c886851e489c46ef67f)
|
|
(This used to be commit d8a0a6972156c3211001b7f98e990c167be2468c)
|
|
test, but doesn't yet
do secure server WACK responses
- added a ldap_string_to_time() function, for converting a LDAP
formatted time to a time_t
(This used to be commit 9aa3313b3f93e47e3f93028e072f6a23b3c22385)
|
|
(This used to be commit b902ea546d2d1327b23f40ddaeeaa8e7e3662454)
|
|
changes
(This used to be commit e7e015f79b10c353848a17f31c91a0593790a560)
|
|
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 9db6c79e902ec538108d6b7d3324039aabe1704f)
|
|
(This used to be commit 8df8308f7f7c937ea8bcbb4336e98911824ece48)
|
|
various data types:
Add ndr_flags argument to all ndr push/pull scalar functions
(This used to be commit ab490c0c882bb13de190546c50a0631ecb8255ad)
|
|
name registrations
- fixed a bug in the send queue handling on timeouts
- added support for handling unexpected replies (replies to the wrong
port) at the nbtsocket layer
- added separate layer 2 code for wins refresh and wins registration
(This used to be commit 2502b02898407e3262c09a5a4aa573c5f87b8f5f)
|
|
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 7b847de64f35b8e897b64ad047d8aea3813214f8)
|
|
(This used to be commit 7f54c8a339f36aa43c9340be70ab7f0067593ef2)
|
|
gettimeofday() call
and just use timeval_current() when its actually needed
(This used to be commit 236403cc4dc2924ed6a898acae0bb44cc1688dcc)
|
|
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 d7b4b6de51342a65bf46fce772d313f92f8d73d3)
|
|
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 72048e37179dd5b9ada0c5280d2f0d8c23d1a17d)
|
|
metze
(This used to be commit cbc1f172822363e1fc4495d27248464403748cae)
|
|
so we can use it in nbt.idl and
get a nicer debug output
metze
(This used to be commit abacbc9192646f6f3c720758ab65889b82b9ae7b)
|
|
metze
(This used to be commit 8507a57b88c6acce84d9ccc580e17c7f96c6d7af)
|
|
metze
(This used to be commit add1c579375d08040f722946da31ee3862f9e7ac)
|
|
against Samba4.
Also added support for the '*' wildcard name
(This used to be commit 2dd7ccf72444db668fa970c3a95de1448baea224)
|
|
names on the network and answers name queries. Lots of details are
still missing, but at least this now means you don't need a Samba3
nmbd to use Samba4.
missing pieces include:
- name registrations should be "shout 3 times, then demand"
- no WINS server yet
- no master browser code
(This used to be commit d7d31fdc6670f026f96b50e51a4de19f0b920e5b)
|
|
- added error checking on socket startup in nbtd
(This used to be commit 5707ebc9ecdce5c195a2788ab1e4214788a086ea)
|
|
Andrew Bartlett
(This used to be commit e5afc3609382a7b534c9d845e809d135a0d4eb3a)
|
|
queries
- fixed unaligned pulls at the end of the packet in the ndr lib
(This used to be commit 61c43509f7a538541d87bd505ca241e08a50f605)
|
|
(This used to be commit 7607ddda3f221bd5a68d28c0eae297569fbb58b1)
|
|
(This used to be commit 9587cbcb9ea5303b345c31a662e9cd75d7cd705d)
|
|
large commit. I thought this was worthwhile to get done for
consistency.
(This used to be commit ec32b22ed5ec224f6324f5e069d15e92e38e15c0)
|
|
(This used to be commit 1d1a9c11ee681540ef8a1029409bb24fc26f976c)
|
|
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 f86521677d7ff16bdc4815f9524e5286026f10f3)
|