1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-31 01:48:16 +03:00

271 Commits

Author SHA1 Message Date
Stefan Metzmacher
748ab5449b r6574: send a value for embedded ref pointers,
(this fixes the doublepointer test against w2k3)

but we accept zero pointers on the receive side,
because it's used in DRSUAPI

metze
2007-10-10 13:16:27 -05:00
Stefan Metzmacher
23b529ee09 r6572: add "string_array" as new scalar type for handling SPOOLSS string array's
metze
2007-10-10 13:16:26 -05:00
Stefan Metzmacher
a29d52817c r6519: move string handling functions to a seperate file
metze
2007-10-10 13:16:21 -05:00
Stefan Metzmacher
27ccdd6182 r6294: - add obfuscate support, which is used in MAPI rpc's, (the ^= 0xA5 stuff),
based on a patch from j.kerihuel@openchange.org

- remove unused $ndr_flags argument for the ParseCompression*Start() function's

metze
2007-10-10 13:11:30 -05:00
Andrew Tridgell
f8e77fcdea r6287: sorted out a small but surprisingly tricky dependency problem with the
ndr code for handling sids and security descriptors now that we have a
sid in the nbt IDL
2007-10-10 13:11:29 -05:00
Stefan Metzmacher
e66aa87f14 r6191: fix spoolss_Enum* push code
metze
2007-10-10 13:11:24 -05:00
Stefan Metzmacher
08d22a07cf r6189: move function to the right place
metze
2007-10-10 13:11:24 -05:00
Stefan Metzmacher
848f553117 r6188: correct fix for rev 6182
we should start with an empty switch_list
in ndr_print as we do for ndr_pull/ndr_push

metze
2007-10-10 13:11:24 -05:00
Richard Sharpe
6526f21fb7 r6182: Jelmer, I think we need to initialize the switch_list, else we are
crash city.
2007-10-10 13:11:23 -05:00
Jelmer Vernooij
4da9d1d5c2 r6181: Use ndr_print_set_switch_value() here as well. 2007-10-10 13:11:23 -05:00
Jelmer Vernooij
f66e11137e r6180: Use token_lists for storing switch values 2007-10-10 13:11:23 -05:00
Stefan Metzmacher
92a3721bc7 r6179: - add new spoolss tests for all spoolss_Enum*() calls which didn't need
a handle as parameter,

  EnumPorts
  EnumPrinterDrivers
  EnumMonitors
  EnumPrintProcessors
  EnumPrinters

  we now do cross checks between the different info levels
  and sore the results in a global context,
  so that we later can add cross checks between the different object types

- add idl for EnumMonitors and EnumPrintProcessors

metze
2007-10-10 13:11:23 -05:00
Stefan Metzmacher
460d1b089e r6134: add a new type dom_sid28 which is a 28 byte fixed buffer with a dom_sid in it
metze
2007-10-10 13:11:21 -05:00
Stefan Metzmacher
5e8558c5b4 r6129: - add our own MSZIP decompression implementation
(taken from cabextract.c from KDE)
  this code maybe need to be rewritten and the
  compression side needs to be done,
  but for now it seems to works

- remove the dependency to zlib

metze
2007-10-10 13:11:20 -05:00
Stefan Metzmacher
4b88ff2971 r6114: the marker is const and is 0x434B 'CK'
metze
2007-10-10 13:11:20 -05:00
Stefan Metzmacher
0d44d07797 r6112: try to decompress all chunks and put them together
it produces the correct DATA_BLOB length, but only the first chunk is
successfull decompressed...

metze
2007-10-10 13:11:19 -05:00
Stefan Metzmacher
ff32e2182e r6099: use the enum print function
metze
2007-10-10 13:11:19 -05:00
Stefan Metzmacher
fca4dc4827 r6065: revert test value
metze
2007-10-10 13:11:16 -05:00
Stefan Metzmacher
335adef370 r6061: add start of compression support in our rpc code
this is not complete cuurently...

but I want other people to test it and help me on finishing it.
(try to change the #if 0 in torture/rpc/drsuapi.c into #if 1)

metze
2007-10-10 13:11:16 -05:00
Jelmer Vernooij
f3006e623b r5986: Fix the build. Metze, could you please verify that this fix is correct? 2007-10-10 13:11:12 -05:00
Jelmer Vernooij
4089d5f67d r5977: Fix uninitialised memory bug in ndr_pull_ref_ptr(). This fixes the
Test_DoublePointer test failure.
2007-10-10 13:11:11 -05:00
Jelmer Vernooij
ea61ec1122 r5866: Add InitShutdown IDL and torture test.
Implement push side of NDR_LEN4|NDR_NOTERM strings (pull side was already present)
2007-10-10 13:11:05 -05:00
Stefan Metzmacher
3e6ec81128 r5828: add some idl for DsAddEntry()
metze
2007-10-10 13:11:04 -05:00
Stefan Metzmacher
1084ad4bfc r5800: fix recursiv printing in ndr_print_DsGetNCChangesInfo1()
metze
2007-10-10 13:11:04 -05:00
Stefan Metzmacher
bcde67a7ef r5799: more DsGetNCChanges updates, I'm starting to understand it...
also add a really simple torture test for DsGetNCChanges

metze
2007-10-10 13:11:04 -05:00
Stefan Metzmacher
483bb1418f r5797: - add idl property [subcontext_size()]
this can be used like this
  [subcontext_size(28),subcontext(0)] dom_sid sid;

  this descripes a fixed 28 byte buffer which contains a dom_sid,
  and the rest of the buffer is padded with zero bytes if the dom_sid doesn't
  need all 28 byte in it's ndr encoding.

- only push and pull the subcontext when we are in the NDR_SCALARS section
  (tridge, jelmer: I hope this is correct for all cases...!?:-)

metze
2007-10-10 13:11:04 -05:00
Stefan Metzmacher
8ac0928a91 r5796: add ndr_* function for int8 and int16
metze
2007-10-10 13:11:03 -05:00
Jelmer Vernooij
e193555f0e r5775: Remove some unused functions (unions are no longer as special as they used to be)
Add oxid mapping table support in DCOM
2007-10-10 13:11:02 -05:00
Stefan Metzmacher
a8f7c3e59f r5765: remove unused var
metze
2007-10-10 13:11:01 -05:00
Stefan Metzmacher
112043b180 r5764: add support for embedded ref pointers
metze
2007-10-10 13:11:01 -05:00
Stefan Metzmacher
eaac0f2147 r5736: fix to avoid endless recursion in ndr_size_*() calculation
metze
2007-10-10 13:11:00 -05:00
Jelmer Vernooij
26d5a0b92c r5674: - Re-enable DCOM support.
- Always put IID in vtables (useful for asserts)
- Add table to keep track of DCOM proxy classes
- Bunch of smaller bug fixes
2007-10-10 13:10:59 -05:00
Jelmer Vernooij
dc6b4ffc82 r5672: Use switch_type() and the token storage mechanism for unions:
- Makes union handling less special
 - Allows unions in arrays, etc
 - Compatible with midl
 - Pidl will warn about switch_type() and the type of the switch_is() variable being different
2007-10-10 13:10:58 -05:00
Jelmer Vernooij
54e0be6f1e r5663: Revert some changes I didn't mean to commit... 2007-10-10 13:10:57 -05:00
Jelmer Vernooij
a416de5825 r5661: Be a little stricter on syntax regarding arrays. A pointer to an
array can now only be :

 type *name[];

rather then :

 type *name;

which was supported in the past. Warnings will be given when the first
syntax is used. Reasons for this change in behaviour include improved
readability and the fact that the second format makes dealing with multiple
levels of pointers harder.
2007-10-10 13:10:57 -05:00
Jelmer Vernooij
48d54a9b57 r5506: Simplify the use of subcontexts and make them a bit less a special case. 2007-10-10 13:10:52 -05:00
Stefan Metzmacher
2bb29cc68a r5504: fix typo
metze
2007-10-10 13:10:52 -05:00
Jelmer Vernooij
71fd3e5c3a r5490: The big (D)COM commit! :-) Contains most of the changes described in the
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.
2007-10-10 13:10:50 -05:00
Stefan Metzmacher
bfcc86e706 r5489: hide handwritten pull/push/print code from the caller
for the spoolss_Enum* functions

metze
2007-10-10 13:10:50 -05:00
Jelmer Vernooij
f298f2a547 r5487: - Allow disabling modules
- 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
2007-10-10 13:10:50 -05:00
Stefan Metzmacher
0aea8522d7 r5446: fix pulling of arrays in EnumXXX functions
metze
2007-10-10 13:10:46 -05:00
Jelmer Vernooij
fa97059d00 r5427: NTSTATUS is treated by pidl as a 'real' scalar now. 2007-10-10 13:10:45 -05:00
Andrew Tridgell
bc8d60c918 r5414: - added libcli/wins/, a basic client library for WINS replication
- 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
2007-10-10 13:10:43 -05:00
Jelmer Vernooij
efc2e41b8d r5376: ORPC is NDR specific, so move it to ndr.pm.
Get rid of register_enum/register_bitmap, etc. (use list of
types in ndr.pm instead)
2007-10-10 13:09:48 -05:00
Jelmer Vernooij
53b4ecbcc7 r5363: - ndr_%_ptr -> ndr_%_unique_ptr
- 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")
2007-10-10 13:09:46 -05:00
Jelmer Vernooij
c9d7b88756 r5361: Rename some functions, add tests to validator. 2007-10-10 13:09:46 -05:00
Jelmer Vernooij
d8a0a69721 r5360: Remove a couple of unused functions. 2007-10-10 13:09:45 -05:00
Jelmer Vernooij
ab490c0c88 r5286: Some first steps in making the pidl code somewhat more generic for the
various data types:

Add ndr_flags argument to all ndr push/pull scalar functions
2007-10-10 13:09:36 -05:00
Andrew Tridgell
72048e3717 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.
2007-10-10 13:09:28 -05:00
Stefan Metzmacher
abacbc9192 r5145: define struct ipv4_addr in misc.idl,
so we can use it in nbt.idl and
get a nicer debug output

metze
2007-10-10 13:09:27 -05:00