summaryrefslogtreecommitdiff
path: root/source4/librpc/ndr
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r5506: Simplify the use of subcontexts and make them a bit less a special case.Jelmer Vernooij1-76/+2
(This used to be commit 48d54a9b57c0b233c7c60392b23876b426bbdec1)
2007-10-10r5504: fix typoStefan Metzmacher1-1/+1
metze (This used to be commit 2bb29cc68ae795bbb4baa12501103ae9555f1898)
2007-10-10r5490: The big (D)COM commit! :-) Contains most of the changes described in theJelmer Vernooij1-0/+1
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)
2007-10-10r5489: hide handwritten pull/push/print code from the callerStefan Metzmacher1-70/+660
for the spoolss_Enum* functions metze (This used to be commit bfcc86e706cf32672323eda939e5def6694509a8)
2007-10-10r5487: - Allow disabling modulesJelmer Vernooij1-0/+0
- 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)
2007-10-10r5446: fix pulling of arrays in EnumXXX functionsStefan Metzmacher1-0/+6
metze (This used to be commit 0aea8522d7ddaf1ce4cc708c13888e44d14cda32)
2007-10-10r5427: NTSTATUS is treated by pidl as a 'real' scalar now.Jelmer Vernooij1-2/+2
(This used to be commit fa97059d000859b3d0192ed4a0135770888aba6f)
2007-10-10r5414: - added libcli/wins/, a basic client library for WINS replicationAndrew Tridgell1-1/+32
- 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)
2007-10-10r5376: ORPC is NDR specific, so move it to ndr.pm.Jelmer Vernooij1-3/+0
Get rid of register_enum/register_bitmap, etc. (use list of types in ndr.pm instead) (This used to be commit efc2e41b8df3a0171cca57291929fb63760c1662)
2007-10-10r5363: - ndr_%_ptr -> ndr_%_unique_ptrJelmer Vernooij2-6/+6
- 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)
2007-10-10r5361: Rename some functions, add tests to validator.Jelmer Vernooij1-1/+1
(This used to be commit c9d7b88756039a3eb3024c886851e489c46ef67f)
2007-10-10r5360: Remove a couple of unused functions.Jelmer Vernooij2-37/+0
(This used to be commit d8a0a6972156c3211001b7f98e990c167be2468c)
2007-10-10r5286: Some first steps in making the pidl code somewhat more generic for theJelmer Vernooij5-100/+100
various data types: Add ndr_flags argument to all ndr push/pull scalar functions (This used to be commit ab490c0c882bb13de190546c50a0631ecb8255ad)
2007-10-10r5155: define ipv4address as a based IDL type, mapped to a "const char *" inAndrew Tridgell1-0/+34
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)
2007-10-10r5145: define struct ipv4_addr in misc.idl,Stefan Metzmacher1-0/+10
so we can use it in nbt.idl and get a nicer debug output metze (This used to be commit abacbc9192646f6f3c720758ab65889b82b9ae7b)
2007-10-10r5139: fix typesStefan Metzmacher1-2/+2
metze (This used to be commit 8507a57b88c6acce84d9ccc580e17c7f96c6d7af)
2007-10-10r5118: added support for node status replies in nbtd. nmblookup -S now works ↵Andrew Tridgell1-1/+1
against Samba4. Also added support for the '*' wildcard name (This used to be commit 2dd7ccf72444db668fa970c3a95de1448baea224)
2007-10-10r5109: - fixed handling of zero-length subcontexts in the ndr libraryAndrew Tridgell1-3/+0
- added error checking on socket startup in nbtd (This used to be commit 5707ebc9ecdce5c195a2788ab1e4214788a086ea)
2007-10-10r5084: - handle arbitrary data in the NULL record reply type for nbt name ↵Andrew Tridgell2-1/+3
queries - fixed unaligned pulls at the end of the packet in the ndr lib (This used to be commit 61c43509f7a538541d87bd505ca241e08a50f605)
2007-10-10r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for theAndrew Tridgell2-16/+16
large commit. I thought this was worthwhile to get done for consistency. (This used to be commit ec32b22ed5ec224f6324f5e069d15e92e38e15c0)
2007-10-10r5036: changed HYPER_T to the more standard "hyper"Andrew Tridgell1-17/+17
(This used to be commit 1d1a9c11ee681540ef8a1029409bb24fc26f976c)
2007-10-10r5034: - added a type mapping function in pidl, so the type names in our IDLAndrew Tridgell2-47/+26
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)
2007-10-10r4885: added a new NBT client library. Features include:Andrew Tridgell3-12/+46
- structures defined using IDL in nbt.idl - build around our events structure, and talloc - fully async - supports all NBT packet fields as per rfc1002 - easy interfaces for name query and status For the moment there are just a couple of test functions in namequery.c, test_name_query() and test_name_status(). These will be removed when we hook the new library into libcli/ fully The new library will also be a fairly good basis for a nbt server. Although it can't be a server as-is, I wrote it with the needs of a server in mind (for example, extremely scalable idtree based packet handling) (This used to be commit ae7e625bfa4b4a3ee32c64566064b6a4c84ee4b9)
2007-10-10r4772: fixed checking of the conformant size for dom_sid2Andrew Tridgell1-1/+7
(This used to be commit 0d31523aaed7a8995970dc9933a6a9d9b8536ee0)
2007-10-10r4676: NTTIME_1sec is a standard NTTIME for the calling codeStefan Metzmacher1-1/+4
as it's already converted in the pull/push code metze (This used to be commit 0d2286ba56fa8d25244a5554e75b5be24eba28b0)
2007-10-10r4673: Fix the IDL for the QuerySecret LSA call.Andrew Bartlett1-2/+25
This call uses a new IDL type, NTTIME_hyper. This is 8-byte aligned, as the name suggests. Expand the QuerySecret LSA calls in RPC-SAMLOGON and RPC-LSA, to validate the behaviour of times, and of the old secrets. Thanks to tridge for spotting the use of HYPER! Andrew Bartlett (This used to be commit 1fed79cb0f2ae7940639d08ef99576559d4cd06e)
2007-10-10r4591: - converted the other _p talloc functions to not need _pAndrew Tridgell2-2/+2
- 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 6e7754abd0c225527fb38363996a6e241b87b37e)
2007-10-10r4557: support for [flags()] on typedef enum|bitmapStefan Metzmacher1-1/+5
NDR_PAHEX is handled by ndr_print_enum() now metze (This used to be commit c3b2d2cca37193fead0df1a8808c3ffcd5180a89)
2007-10-10r4550: talloc() is now typesafe. It is exactly equivalent to the old ↵Andrew Tridgell1-2/+2
talloc_p() macro. Use talloc_size() if you want the old behaviour. I have kept talloc_p() as an alias for now. Once we change all calls to be plain talloc() then we can remove it. (This used to be commit 2011bbeb841fd6bfccf3d44a49f79203f7f55baa)
2007-10-10r4549: got rid of a lot more uses of plain talloc(), instead usingAndrew Tridgell1-1/+1
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 89b74b53546e1570b11b3702f40bee58aed8c503)
2007-10-10r4535: add full support forStefan Metzmacher1-2/+11
typedef bitmap { FLAG1 = 0x01 } fooflags; typedef struct { fooflags flags; } metze (This used to be commit 052a7d4f9a3a178149c65a616fdfd87152dff7eb)
2007-10-10r4526: - much simpler (and more accurate!) ndr_size_*() code generation. ItAndrew Tridgell1-0/+21
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 1a24a50384b7f588844cd012f1218ca242ca4507)
2007-10-10r4519: added the enum print function in ndr_basic.cAndrew Tridgell1-0/+6
(This used to be commit 29955004aa256d5ac27b941f48384ab97ff5e4b8)
2007-10-10r4139: 2nd attempt at fixing the null ptr in size_is() problem.Andrew Tridgell1-8/+2
(This used to be commit 3040cd65151dbcc54404f9be9d1fbcf539c7b635)
2007-10-10r4110: fixed pidl to allow arrays to have size_is() and length_is() elementsAndrew Tridgell2-35/+110
that depend on variables that come after the array in the structure or function. This has been something that has been problematic for a while, but the winreg QueryValue problem finally prompted me to fix it properly. We should now go back and fix up all the ugly workarounds we have used to avoid this problem in other calls. Unfortunately the solution is fairly complex, and involves the use of the internal ndr token lists (similar to the solution for relative pointers). I wonder if anyone else will be able to follow the logic if I get run over by a bus :-) (This used to be commit e839b19ec5581f669f2a7705b1fb80845313251c)
2007-10-10r4102: more uint64 vs HYPER_T fixesStefan Metzmacher2-5/+11
NOTE: [u]int64 uses 4 Byte alignment and HYPER_T uses 8 Byte alignment metze (This used to be commit 717454eb2fd2bf90e67074acefdae5304cd7433f)
2007-10-10r4098: catch null guid string so RPC-DRSUAPI works against my serverAndrew Tridgell1-0/+4
(This used to be commit c4c83f04f55d206716380330d2a4d2b31f893346)
2007-10-10r4052: fixed a bunch of code to use the type safe _p allocation macrosAndrew Tridgell1-1/+1
(This used to be commit 80d15fa3402a9d1183467463f6b21c0b674bc442)
2007-10-10r4051: use talloc_array() instead of talloc() when allocating arrays in ↵Andrew Tridgell1-1/+1
auto-generated ndr code (This used to be commit 90cdfd921e1a6f8806fe94bba61f1bbaa79c79f1)
2007-10-10r3997: fix STR_CHARLEN pull caseStefan Metzmacher1-21/+25
metze (This used to be commit 623411f74ee766dee2170949b118216387779929)
2007-10-10r3984: success full parse the repsFrom/repsTo LDAP fieldsStefan Metzmacher1-0/+3
metze (This used to be commit 56c66f4a090b1efca011fc2fc9880c4d93da164c)
2007-10-10r3972: use GUID_* naming context and move GUID_* functions to one placeStefan Metzmacher2-84/+143
metze (This used to be commit 523e6acf4fec5d4946fa7c0c89f40d7d712c9f3a)
2007-10-10r3956: start to decode the repsFrom and repsTo fileds but not readyStefan Metzmacher1-0/+6
metze (This used to be commit 44f168c44de908fdf38b39aae8bf10e80206410a)
2007-10-10r3869: in the NDR encoded replPropertyMetaData attribute in ADSStefan Metzmacher1-1/+29
I see a new 64 bit time field which are seconds since 1601, this will be mapped to NTTIME by th eparsing code +#define NTTIME_1sec NTTIME metze (This used to be commit db35f3b0f99943311ff8b797e8336616dab28220)
2007-10-10r3861: - Put ndr and rpc client code in seperate filesJelmer Vernooij1-1/+1
- Add some const (This used to be commit a00bda88e1b6abdc36e5aa8c2a35f64855f67c96)
2007-10-10r3830: unified the query/set security descriptor code with the rest of theAndrew Tridgell1-56/+0
queryfileinfo/setfileinfo logic, so querying/setting a security descriptor is treated as just another file query/set operation. This will allow NTVFS backends to see the query/set security descriptor operations as RAW_FILEINFO_SEC_DESC and RAW_SFILEINFO_SEC_DESC operations. (This used to be commit f68a6b6b915c37e48c42390c1e74c2d1c2636fa9)
2007-10-10r3810: create a LIB_SECURITY subsystemStefan Metzmacher1-15/+1
- move dom_sid, security_descriptor, security_* funtions to one place and rename some of them metze (This used to be commit b620bdd672cfdf0e009492e648b0709e6b6d8596)
2007-10-10r3787: a function to generate a random GUIDStefan Metzmacher1-0/+10
metze (This used to be commit 8bd2e3cb4e5123a3e26965b8535e16ee18005714)
2007-10-10r3785: this strings are not constStefan Metzmacher1-2/+2
metze (This used to be commit 436da375a2a815926aaa0565120a4750ead37cb0)
2007-10-10r3611: DCOM client support works!!Jelmer Vernooij1-0/+2
The torture test DCOM-SIMPLE now successfully does an IStream_Read and a IStream_Write call. This test can now be run successfully against the "Simple DCOM" Visual Studio example. (You have to quote out line 337 in pidl. pidl complains if the variable that contains the array size follows the array. I still need to fix this properly) Next goals: - Clean up code - Server side support - Support custom marshalling - Support DCOM interfaces in files other then dcom.idl (This used to be commit 8693344772a9b700533179f4bacfe27ec27dfcfe)