1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-26 10:04:02 +03:00

1045 Commits

Author SHA1 Message Date
Stefan Metzmacher
59d17eee38 r8375: - move from netr_StringLarge to lsa_StringLarge
- we need to use lsa_StringLarge in lsa_DnsDomainInfo, to make windows clients happy

metze
(This used to be commit 044d18f85f82b4ab5d71a6ae366052af0dbe8e7e)
2007-10-10 13:20:13 -05:00
Stefan Metzmacher
e87f589f00 r8368: the type filed depends on the user being present or not
call ndr_print for each call

metze
(This used to be commit 0a07e4ef8d869d35ceb0761495e367077f2361ba)
2007-10-10 13:20:12 -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
39b1d2b4c4 r8286: it makes more sense to combine the refresh count with the register count, as they
are really the same packet (you can register with a refresh)
(This used to be commit 5006528554a70c25fea15966d68b4002850ebb3e)
2007-10-10 13:19:31 -05:00
Andrew Tridgell
146c854109 r8268: added the 'needed' logic to ehs generation, so we don't generate
functions we don't need. That is a lot of functions, as ejs is only
client side, so it only needs push functions for [out] vars, and pull
functions for [in] vars

added irpc and srvsvc IDL to list of available pipes.
(This used to be commit c7a9dbe70a39156a20e56b4dd732fd838437eecd)
2007-10-10 13:19:28 -05:00
Andrew Tridgell
b4e53e6705 r8262: - simplify the dependency handling for ejs modules
- added config.mk entries for some more pipes

- simplify the handling of ejs variables in the pidl code
(This used to be commit 595304708db69229495c5739b5cacab732afd55f)
2007-10-10 13:19:27 -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
Andrew Tridgell
cd88764ba1 r8260: added an init based registration system for the generated ejs rpc code, so
adding a new pipe only involves changes to librpc/config.mk
(This used to be commit 0e54fa446665f380e9c46723a6e2be5a08b8d51c)
2007-10-10 13:19:27 -05:00
Andrew Tridgell
7efeb8f451 r8256: - allow rpc calls from non-command line ejs contexts by creating a set
of null credentials to use if cmdline_credentials is not setup

- hide the length and size elements of a lsa_String from js scripts,
  so you can use a lsa_String just as an ordinary string without
  knowing its a structure. We won't do this with all structures, just
  a few core ones that are used often enough to warrant it.

- make sure returned ldb arrays have a length property
(This used to be commit 12d2092dd8668de41776132ccbcd634790c371a9)
2007-10-10 13:19:26 -05:00
Andrew Bartlett
e75c7ff39f r8252: Steal metze's thunder, and prove that with a few small tweaks, we can
now push/pull a sample PAC, and still have the same byte buffer.
(Metze set up the string code, and probably already has a similar
patch).

Unfortunetly win2k3 still doesn't like what we provide, but every step helps.

Also use data_blob_const() when we are just wrapping data for API
reasons.

Andrew Bartlett
(This used to be commit e7c8076fc1459ff2ccefdaf0b091d04ee6137957)
2007-10-10 13:19:25 -05:00
Andrew Bartlett
c0a78453a7 r8250: More PAC work. We now sucessfully verify the KDC signature from my DC
(I have included the krbtgt key from my test network).

It turns out the krbtgt signature is over the 16 (or whatever,
enc-type dependent) bytes of the signature, not the entire structure.

Also do not even try to use Kerberos or GSSAPI on an IP address, it
will only fail.

Andrew Bartlett
(This used to be commit 3b9558e82fdebb58f240d43f6a594d676eb04daf)
2007-10-10 13:19:25 -05:00
Andrew Tridgell
f55b2b9610 r8233: - added support for more base types in pidl ejs
- added auto generation of a header with prototypes for public ejs functions

- make public functions non-static

- fixed allocation of fixed sized arrays

- added 'noejs' flag indicating that a typedef will be handled manually by ejs

- added manual functions for sid and GUID, so they show up as nice
  strings in ejs scripts

This allows ejs to bring in samr, security, lsa and misc IDL functions
(This used to be commit a8cb2dbdcc2871090a26f580f67db8f0636d1e7e)
2007-10-10 13:19:23 -05:00
Stefan Metzmacher
0b92507760 r8232: remove samr_String and netr_String as they are the same as lsa_String
metze
(This used to be commit e601042c07d7b6eed0dc34e5b136d9266b8a0f81)
2007-10-10 13:19:22 -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
06a4e5688e r8223: fix the values of nt_version and type we reply in the server code,
also name the struct like the nt_version number

metze
(This used to be commit 1e3af5cc1f68b7fa54b8ba77ed9836a619a69436)
2007-10-10 13:19:21 -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
Andrew Tridgell
7c3fc18315 r8192: updated the glue code for the generated ejs functions from pidl
only handles a small subset of all IDL files so far
(This used to be commit 14b6436cc51f599572932bef72c49e0da4888073)
2007-10-10 13:19:18 -05:00
Tim Potter
372f3fae88 r8171: According to Samba 3 and Ethereal, the winreg_OpenUnkown stuff is
actually a uint16 * without the [string] attribute, a la the the
system_name argument to samr_Connect().

Initialising the pointer to NULL is sufficient and we still pass the
RPC-WINREG test against win2k3.
(This used to be commit 407d962dacf7c833b36cb739e48fe97226968a34)
2007-10-10 13:19:16 -05:00
Stefan Metzmacher
a7fd68286a r8168: after testing I saw that w2k3 uses unique pointers on the mgmt pipe
that also matches the spec at http://www.opengroup.org/onlinepubs/9629399/apdyq.htm

metze
(This used to be commit 117e678bde040b9294c2fff473ececd0d7e3a1cc)
2007-10-10 13:19:16 -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
a33178fc72 r8156: I found out that the unknown[2] field of the unknown[4] array is a length too,
it's always 16 bytes smaller than the size in the PAC_BUFFER

we now dump the blob's on LOCAL-PAC with -d 10

metze
(This used to be commit 4ef721ce53539ac56ca8ac4d601f512149ca7283)
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
dbd2688c90 r8110: More PAC work. I still can't get WinXP to accept the PAC, but we are
much closer.

This changes PIDL to allow a subcontext to have a pad8 flag, saying to
pad behind to an 8 byte boundary.  This is the only way I can explain
the 4 trainling zeros in the signature struct.

Far more importantly, the PAC code is now under self-test, both in
creating/parsing our own PAC, but also a PAC from my win2k3 server.
This required changing auth_anonymous, because I wanted to reuse the
anonymous 'server_info' generation code.

I'm still having trouble with PIDL, particulary as surrounds value(),
but I'll follow up on the list.

Andrew Bartlett
(This used to be commit 50a54bf4e9bf04d2a8e0aebb3482a2ff655c8bbb)
2007-10-10 13:19:09 -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
Andrew Tridgell
9331714787 r8073: a successful rpc call from ejs!
the ejs_echo.c code is the stuff that needs to be auto-generated by
pidl. It only does echo_AddOne so far.

We also need a table for registering these calls. The code is
hard-wired for echo_AddOne for now.
(This used to be commit b1ea58ddc482c373783d16331dd07378010ba39a)
2007-10-10 13:19:05 -05:00
Andrew Tridgell
e7f84503c0 r8068: reduced the verbosity of the EPM code
(This used to be commit 4c5974fc3dabd090284b2ed455a0af114ddbec1d)
2007-10-10 13:19:04 -05:00
Andrew Tridgell
6ecc79b888 r8057: use our defined push/pull types in the validate code (fixes a warning)
(This used to be commit 4e14ebf51e871d6d70a194e2725c2158675dc6fc)
2007-10-10 13:19:04 -05:00
Stefan Metzmacher
ccaf752e35 r8054: add OSVersion, OSVersionEx, DNSMachineName PrintServerData
metze
(This used to be commit 47781fccbc9a4fc3867e4c3959a17765c7e4dc71)
2007-10-10 13:19:03 -05:00
Andrew Tridgell
4354bebda7 r8053: requests from mmc show that the auth info for a bind should be 4 byte aligned, not
8 byte aligned
(This used to be commit c112a2b23e6cd2c55fbb7e8096a7c523a91d6814)
2007-10-10 13:19:03 -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
Jelmer Vernooij
d6acd2fb16 r8012: Add UUID for NDR64 transfer syntax.
(This used to be commit 6a3f62222285fa091968bb025edfe21fcf5dfb86)
2007-10-10 13:18:58 -05:00
Andrew Bartlett
ddffc922df r8001: Also fill in the krbtgt checksum, and make sure to put the right
checksum in the right place...

Andrew Bartlett
(This used to be commit 90d0f502da20add6784c883b2085cde519604933)
2007-10-10 13:18:57 -05:00
Andrew Bartlett
9a7481bcfe r7993: Further work on the Krb5 PAC.
We now generate the PAC, and can verifiy both our own PAC and the PAC
from Win2k3.

This commit adds the PAC generation code, spits out the code to get
the information we need from the NETLOGON server back into a auth/
helper function, and adds a number of glue functions.

In the process of building the PAC generation code, some hints in the
Microsoft PAC specification shed light on other parts of the code, and
the updates to samr.idl and netlogon.idl come from those hints.

Also in this commit:

The Heimdal build package has been split up, so as to only link the
KDC with smbd, not the client utils.

To enable the PAC to be veified with gensec_krb5 (which isn't quite
dead yet), the keyblock has been passed back to the calling layer.

Andrew Bartlett
(This used to be commit e2015671c2f7501f832ff402873ffe6e53b89466)
2007-10-10 13:18:57 -05:00
Stefan Metzmacher
a6853cf5c6 r7932: don't use the nbt called name as server name, for dcerpc_server_name()
in the ncacn_np trnaport

it's now supported to use the ip address in smbtorture for ncacn_np tests
that use dcerpc_server_name(),

and we can now pass the dns host name in the tree connect when we have the dns name
on the smbtorture command line

metze
(This used to be commit e29edbc7e62c738564ae842c9c01c969f5c70e5d)
2007-10-10 13:18:52 -05:00
Andrew Tridgell
f04545f5d2 r7872: another place we were relying on the old behaviour of value()
(This used to be commit 25a64f8946274e07ca233751bc745b160ff3e7c1)
2007-10-10 13:18:46 -05:00
Andrew Tridgell
7fc49243f3 r7870: fixed the RPC-SCHANNEL test. It turned out it was my const changes, as
they slightly changed the semantics of value() in pidl, which broke
a optimisation hack in some of our IDL files.

I've changed the idl files to remove the hack for now. Sometime we
need to find a better way to handle these :-)
(This used to be commit 765f75ea630b13b1605409ff47a52cc11a1e496b)
2007-10-10 13:18:45 -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
Andrew Tridgell
a40d966ff5 r7763: fixed some circular dependencies
(This used to be commit 3bdf89b0f7521ca39d48dc4c32fe96971d4d60fd)
2007-10-10 13:18:32 -05:00
Jelmer Vernooij
327a9ac650 r7729: Small fixes to the charset stuff.
(This used to be commit 5122b9f608399a6c90521e2f8bd96154755fe397)
2007-10-10 13:18:27 -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
Andrew Bartlett
5b19286df0 r7690: Move the NT hash generation into the credentials system, rather than
in all the callers.  This also allows us to be more flexible in the
type of password we store.

Andrew Bartlett
(This used to be commit 00b8588c68526e1d86fda0bd81c0b86f690b62c3)
2007-10-10 13:18:23 -05:00
Andrew Tridgell
5c332f6e9d r7659: fixup the ordering of socket destruction for ncacn_ip_tcp so we don't try and
remove an epoll descriptor for a closed fd
(This used to be commit bec5e9f80a934e6472e8d227214a9baba4f15054)
2007-10-10 13:18:18 -05:00
Andrew Tridgell
3422499a85 r7658: don't timeout at the smb level for rpc requests as otherwise some rpc
level sign/seal mechanisms can break
(This used to be commit 9df569f023f9a1e0d8c35de8135a344933bc69bf)
2007-10-10 13:18:18 -05:00
Andrew Tridgell
be8139c1e7 r7653: when a dcerpc request times out, we need to ensure that if the server
does finally answer the request and it is on the smb transport that we
don't die in the callback code as the rpc request state is gone.
(This used to be commit d47477c5c3acbaa7242fa3a06d4095258db86297)
2007-10-10 13:18:17 -05:00