1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-12 21:58:10 +03:00

338 Commits

Author SHA1 Message Date
Jelmer Vernooij
31ffec1d41 r11107: Include 0 byte
(This used to be commit 407df9628e383822680af766dd94532e59397382)
2007-10-10 13:44:50 -05:00
Jelmer Vernooij
f598135c6b r11105: Warn if conformant arrays are not at the end of a struct
Support conformant [string] arrays
Eliminate utf8string

This breaks xattr binary compatibility with previous versions - is that a
problem?
(This used to be commit 7596c708ba6642473319a1b699a5a910a639e50d)
2007-10-10 13:44:50 -05:00
Stefan Metzmacher
3dfe8c22b8 r10873: check the complete payload header
metze
(This used to be commit 27f8d82231f2978ff15719e4b23912ae7f910638)
2007-10-10 13:39:39 -05:00
Stefan Metzmacher
b2490bb98d r10872: fix the length of the dummy XPRESS decompressed buffer
metze
(This used to be commit 0a1e4498a3550721b214716d1106843bf1ff4597)
2007-10-10 13:39:38 -05:00
Stefan Metzmacher
0e65d30bb7 r10869: add dummy functions and dummy parsing of XPRESS decompression,
this is the compression algorithm used by w2k3 for DsGetNCChanges().

This algorithm isn't known yet, but it seems to be some sort of Lempel-Ziv
algorithm.

metze
(This used to be commit 694252b6e02e365ae5baffb76cdbc89eec5358e7)
2007-10-10 13:39:38 -05:00
Stefan Metzmacher
b94fcbd306 r10868: make flag(NDR_PAHEX) possible to use and show the union level in hex
metze
(This used to be commit 7efb92adc057ad8a993eb9de66c3806608747104)
2007-10-10 13:39:38 -05:00
Stefan Metzmacher
f1c5227078 r10637: use the correct memory context in the ndr_pull_* function
to build the talloc hierachie correct

metze
(This used to be commit afd9dda5773d381550bdb061a8e345b33e1fc371)
2007-10-10 13:39:14 -05:00
Jelmer Vernooij
f3b412fbd6 r10438: Move portability functions to lib/replace/; replace now simply ensures
that a given set of (working) POSIX functions are available (without
prefixes to their names, etc). See lib/replace/README for a list.

Functions that behave different from their POSIX specification
(such as sys_select, sys_read, etc) have kept the sys_ prefix.
(This used to be commit 29919a71059b29fa27a49b1f5b84bb8881de65fc)
2007-10-10 13:38:45 -05:00
Stefan Metzmacher
b7545608ad r10346: here are only real ip-addresses valid, prevent dns lookups,
when the input is invalid

metze
(This used to be commit 1083204c1f89d9b918015113b6cc2ea423372fe0)
2007-10-10 13:38:30 -05:00
Stefan Metzmacher
efa30b073f r10339: fix ndr_push_udlongr
metze
(This used to be commit a34d0771ce60d4c590c8bc14449cc23d31a6dd2c)
2007-10-10 13:38:29 -05:00
Stefan Metzmacher
0559bae277 r10141: if some of the LIBNDR_ALIGN_* flags and LIBNDR_FLAG_REMAINING are set,
ndr_pull_data_blob() doesn't work correct. so make them exclute each other.

jelmer, tridge: does that look correct? it fixes a problem, abartlet had
with krb5pac.idl, where the align flags are inherited from the parent, and we want to get the
[flag(NDR_REMAINING)] DATA_BLOB signature;

metze
(This used to be commit b9ea3e8f9f85098b63081bf12e2be65687921874)
2007-10-10 13:38:02 -05:00
Stefan Metzmacher
172089214e r9795: fix the ndr_pull_string code to handle, some special cases,
where the idl was something like this:

uint32 size;
[size_is(size+1)] wchar_t *string;

we always need a pair of NDR_PULL_NEEDED_BYTES() and ndr_pull_advance(),
with the same size passed in.

metze
(This used to be commit 8eb75bd5ac5869f11f930ec872ec8a46fba9361b)
2007-10-10 13:35:02 -05:00
Stefan Metzmacher
8385973935 r9518: - remove the subcontext_size() hack from rev 9509
as it isn't needed
- parse some more DsAddEntry() errors
- add some more attid constands so that all attribute that are needed
  for a DsAddEntry in the DC Domain Join are mapped
- add value() for __ndr_size, to more attribute container, so that the caller
  doesn't need to fill them in, that was the reason for getting an NDR_FAULT

metze
(This used to be commit a9a1a6f861c8db626b3232f057ef0b9c3d0ad1b0)
2007-10-10 13:34:26 -05:00
Stefan Metzmacher
54a703d433 r9509: start to fix the pushing of drsuapi_DsAttributeValueDNString structs,
this uses a trick with talloc_get_type() to workaround using [value()] vars
in [subcontext_size()]

metze
(This used to be commit 93065f2d3439bceeaa7c2a09679cc6d81472150d)
2007-10-10 13:34:24 -05:00
Jelmer Vernooij
df3248f108 r9441: Use "const char *" for fixed-size arrays with charset() because
these can require more elements in the local charset (usually UTF8) then
in the wire one.
(This used to be commit a0e63c2691f596cdacbc2e15404829ebca075429)
2007-10-10 13:34:15 -05:00
Jelmer Vernooij
997da16d6c r9440: Fix bug introduced by new zero-padding code. Caught by the buildfarm.
(This used to be commit 9be03c057e229e9cf7fe8b1db04adb9d2f1efc64)
2007-10-10 13:34:14 -05:00
Jelmer Vernooij
7c77a16e40 r9439: Make sure the remainder of the array is always initialized if the buffer is
larger then the string to be pushed.
(This used to be commit 70b52e26f31b00637ed7f90f77ff0b2794dad729)
2007-10-10 13:34:14 -05:00
Stefan Metzmacher
ec96a742f7 r9373: - create a hierachical memory tree with recursiv ndr_pull_* functions
- with this it's also possible to talloc_free() the ndr_pull structure
  and talloc_steal(ndr->current_mem_ctx); to fetch the whole data of the hierachical tree
- if the toplevel struct is a valid talloc pointer it's also possible to use
  NDR_PULL_SET_MEM_CTX(ndr, mem_ctx); to the the toplevel pointer with the struct pointer

(NOTE: no callers are using this yet, but they shortly will)

metze
(This used to be commit 1a2b8369586642cc9bc15d015c1e4256c3a92732)
2007-10-10 13:33:29 -05:00
Stefan Metzmacher
a8d31eac00 r9372: - make the subcontext handling autogenerated code look nicer,
- unify the handling of subcontext, compression and obfucation

metze
(This used to be commit 09de7e0af7f9f7539cf63791baf90ac202536176)
2007-10-10 13:33:29 -05:00
Andrew Tridgell
36fb8185ed r9356: a better way of coping with NULL arrays in the array bounds checking. This copes with the
case of size_is(*size) where size is NULL, and the array is NULL
(This used to be commit 56769b4b1d900cce60cd35298b642a85e4eddfee)
2007-10-10 13:33:27 -05:00
Andrew Tridgell
212af7e08a r9347: this array bounds checking is harder than it looks ...
this copes with 2 more situations:

1) where the array is NULL, which would previously be coped with by a
   if (ptr) check, but now in the deferred array bounds checking needs
   to look at the array variable in the ndr code. Not nice.

2) nest the array checking along with the SCALARS vs BUFFERS checks, ensuring we don't
   do array bounds checking for a buffer when in scalars only mode
(This used to be commit ad1b9867a5a14bc9ed2e1a5eb8f05bb2046bc645)
2007-10-10 13:33:27 -05:00
Andrew Tridgell
d452cd061c r9300: cope with zero length in ndr_pull_charset()
(This used to be commit 1ae255aba44f4444486ae5bc634c8ab1a6328c87)
2007-10-10 13:33:22 -05:00
Andrew Tridgell
e95fbd6db2 r8707: this typedef isn't used, and breaks the build on HPUX, so I've removed it
(This used to be commit b9b8714297401664fcf8380d4c90ee22b7341d35)
2007-10-10 13:29:56 -05:00
Jelmer Vernooij
4f3d66b0df r8614: Add COMRESULT/HRESULT scalar type
(This used to be commit 8637a85e6a349cce15a298154500921e9a0183a3)
2007-10-10 13:29:44 -05:00
Jelmer Vernooij
d99d06d954 r8612: Parse::Pidl::NDR:
Values that are deferred but don't contain deferred data don't
	need NDR_BUFFERS

Parse::Pidl::Samba::NDR::Parser:
	Only use manually written array access functions when the array
	functions are faster then the autogenerated ones. Makes ndr_basic.c
	a bit shorter.
(This used to be commit cad40815dcfb7cdcab13bd0cd204ef8711605ef3)
2007-10-10 13:29:44 -05:00
Andrew Tridgell
9953452d49 r8522: fixed another couple of size_t warnings
(This used to be commit d2c928548336682ffd3dda873f9957f3d041f0af)
2007-10-10 13:29:34 -05:00
Andrew Tridgell
e835621799 r8520: fixed a pile of warnings from the build farm gcc -Wall output on
S390. This is an attempt to avoid the panic we're seeing in the
automatic builds.

The main fixes are:

 - assumptions that sizeof(size_t) == sizeof(int), mostly in printf formats

 - use of NULL format statements to perform dn searches.

 - assumption that sizeof() returns an int
(This used to be commit a58ea6b3854973b694d2b1e22323ed7eb00e3a3f)
2007-10-10 13:29:34 -05:00
Andrew Tridgell
ccc65fb995 r8519: better method of ensuring null termination
(This used to be commit f93bd0ced6b0b2b4ee3bf15e53ba30138fd6b533)
2007-10-10 13:29:34 -05:00
Andrew Tridgell
92760db79c r8518: ensure all constructed NDR packets are null terminated. This is needed
by the new ldb code dealing with binary records, but is also a good
defensive strategy in general
(This used to be commit 17decd129928290a6916a1d1cec73dad924d64f8)
2007-10-10 13:29:34 -05:00
Andrew Tridgell
8b80ef14fe r8500: greatly reduce the number of build warnings on x86-64 (every NDR macro
in the generated code from pidl generated a warning)
(This used to be commit 22f7fd76343646a149937fcdc891a98a516bf820)
2007-10-10 13:23:10 -05:00
Andrew Tridgell
70278929fc r8335: removed some duplicated code
(This used to be commit 1536d66662193568a51793d65fb319882db9d089)
2007-10-10 13:20:07 -05:00
Andrew Tridgell
5ed139f096 r8261: charset style strings in pidl should be const, just like old style ndr strings
(This used to be commit aa0e1d6699959571963d6e6fb455b33c4436dcdf)
2007-10-10 13:19:27 -05:00
Stefan Metzmacher
3d3a86f95d r8227: add STR_LARGE_SIZE flag, to support strings where the size is length+1,
metze
(This used to be commit cdd03fe87d0120ab3e18566bfc20df5955f9fb3c)
2007-10-10 13:19:22 -05:00
Stefan Metzmacher
e296c8de6e r8212: fix pushing of nbt_string's:
- we now use an ndr_token_list, for the nbt string label pointer offsets
  this avoids to scan the whole buffer

- we need to check for already send string on a per component basis
  not only for the fullname

e.g.
w2k3 response this in the CLDAP netlogon replies

forest: w2k3.vmnet1.vm.base
dns_name: sub1.
pdc_dns_name: w2k3-104.

and this will be interpreted like

forest: w2k3.vmnet1.vm.base
dns_name: sub1.w2k3.vmnet1.vm.base
pdc_dns_name: w2k3-104.w2k3.vmnet1.vm.base

metze
(This used to be commit d18303a0e27643285ffaf100eeddea2f9555c9db)
2007-10-10 13:19:20 -05:00
Stefan Metzmacher
0a91f1777a r8210: - make the ndr_token_* function public
- allow comparison function to be passed for ndr_token_retrive_cmp_fn(),
  this is for matching the keys, if NULL is passed, the old behavior
  tok->key == key is used

metze
(This used to be commit 019f3dc767ef703768df3acdbbd80808c122855c)
2007-10-10 13:19:20 -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 d19068bfb2e3ff5d88bc3b76d5cef93417c7f218)
2007-10-10 13:19:16 -05:00
Stefan Metzmacher
53067ce37f r8157: add the algorithm for unique pointers that w2k3 uses.
this is ifdef'ed out currently because we use 'unique' pointers in the epmapper pipe,
where we should use 'ptr' full pointers.

metze
(This used to be commit ccc9d9267a60287eff1fb26132aa7cae3b39dcee)
2007-10-10 13:19:13 -05:00
Stefan Metzmacher
b4b2b92282 r8150: these should be static
metze
(This used to be commit 25f5d1db296b03b62869c8467b652a0df3107222)
2007-10-10 13:19:13 -05:00
Stefan Metzmacher
148235a009 r8148: - make the PAC generation code a bit more readable and add some outof memory checks
- move to handmodified pull/push code for PAC_BUFFER
  to get the _ndr_size field and the subcontext size right

- after looking closely to the sample w2k3 PAC in our torture test (and some more in my archive)
  I found out that the first uint32 before the netr_SamInfo3 was also a pointer,
  (and we passed a NULL pointer there before, so I think that was the reason why the windows clients doesn't want our PAC)

  w2k3 uses this for unique pointers:

  ptr = ndr->ptr_count * 4;
  ptr |= 0x00020000;
  ndr->ptr_count;

- do one more pull/push round with the sample PAC

metze
(This used to be commit 0eee17941595e9842a264bf89ac73ca66cea7ed5)
2007-10-10 13:19:13 -05:00
Andrew Bartlett
d92b30fe38 r8108: Fix indentation, and remove a discard_const_p() that we don't need any more.
Perhaps like minimal_includes.pl, we should have a way to find these
automaticly.  Hmm...

Andrew Bartlett
(This used to be commit d13b9f548e9d3696505178476d2615835cae8fe2)
2007-10-10 13:19:09 -05:00
Stefan Metzmacher
88df3c81ee r8050: - make use of more [value()] properties
- the out subcontext's need to have a fixed size of r->in.offered,
  to make windows clients happy

metze
(This used to be commit 054e1ca434b2f81de199eeb41cb6233524fc5779)
2007-10-10 13:19:02 -05:00
Stefan Metzmacher
cee17efc7c r8045: fix valgrind warning, add zero padding when the string doesn't fill the full FIXLEN
metze
(This used to be commit d8175b01db69436d8af64b97d7b7beca4ba4b552)
2007-10-10 13:19:02 -05:00
Andrew Tridgell
152a6a00c3 r7865: changed pidl to take a "const void *" instead of a "void *" for the
structure in ndr_push_*() and ndr_print_*(). The push and print
functions really should not modify the structure.

metze, to make this work I had to change your spoolss hand
marshaller. Can you please check it is OK? I think that the IN and OUT
sides of that function are not ever called on the same structure, so I
think that attempt at remembering the value by assigning to
r->in._offered was not doing anything anyway, but please correct me if
I have misunderstood it.

If you really do need to remember something on those structures I'd
suggest the ndr_token_store() and ndr_token_retrieve() functions,
which are used by pidl for just this sort of thing.
(This used to be commit eee528be97fa43ca53bdc5652b4d29a0a2caf563)
2007-10-10 13:18:44 -05:00
Jelmer Vernooij
d4d6d0d2e5 r7706: Move ParseExpr() to util.
(This used to be commit 72efb695291f0ad3cdc80daa9f979454f6a81c04)
2007-10-10 13:18:24 -05:00
Jelmer Vernooij
82dfe0b29b r7702: Implement [charset()] attribute.
(This used to be commit 7012e10bb6252a7e602e80f05c914a783610088c)
2007-10-10 13:18:23 -05:00
Jelmer Vernooij
cd39847e81 r7695: Add support for the [string] attribute that works in the traditional sense. Not
used anywhere yet.
(This used to be commit a73a35cfc7b5b92cd95bd0d0fbd64d04acecccf3)
2007-10-10 13:18:23 -05:00
Stefan Metzmacher
bc1f32b8ad r7575: - fix GetPrinterData() push side
- add somemore checks in the Emun*() pull/push glue code

metze
(This used to be commit 075fe1eb4b6b2d00cdd9965656598aaec53da638)
2007-10-10 13:18:11 -05:00
Stefan Metzmacher
04c3bbe053 r7574: - seperate [in] and [out] buffers and buf_sizes
- use the same names as etherel (offered,needed) for the buffer sizes
  (and they are really independently used)

metze
(This used to be commit f5532a5b74e972f44ed8aa19ee9c5851a4b40f65)
2007-10-10 13:18:11 -05:00
Stefan Metzmacher
46b829513a r7462: fix Enum* pushing, we need to send back a buffer of the same size as we got
in the recv code..., this makes the w2k3 printserver properties gui happy:-)

metze
(This used to be commit 0130b0d90223bb7278f924e1b1370778f25d0d91)
2007-10-10 13:17:55 -05:00
Stefan Metzmacher
f6e1f0cf92 r7364: - remove '\' chars from copy paste
- fix allocates [out,ref] pointers to be passed between functions

metze
(This used to be commit 9a1760c618b10ee08b4e6ad21eb0c7e757ae9dea)
2007-10-10 13:17:47 -05:00