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

528 Commits

Author SHA1 Message Date
Andrew Bartlett
b16362fab6 r8700: Propmted by tridge's need to do plaintext auth in ejs, rework the
user_info strcture in auth/

This moves it to a pattern much like that found in ntvfs, with
functions to migrate between PAIN, HASH and RESPONSE passwords.

Instead of make_user_info*() functions, we simply fill in the control
block in the callers, per recent dicussions on the lists.  This
removed a lot of data copies as well as error paths, as we can grab
much of it with talloc.

Andrew Bartlett
(This used to be commit ecbd2235a3e2be937440fa1dc0aecc5a047eda88)
2007-10-10 13:29:55 -05:00
Andrew Bartlett
f3f9e09d6d r8670: Remove GUID code from SAMR, it is handled lower down now. I notice
this code also does string SIDs, but I'm not quite sure where that
fits in.

Andrew Bartlett
(This used to be commit 968bcc4fe8142319ca0a2ac9e3a895b5436b4552)
2007-10-10 13:29:52 -05:00
Andrew Tridgell
01dd0f8c6c r8593: register the rpc server with irpc
(This used to be commit bc9d9531f54d9dac3bb48e0704c6bff524dae465)
2007-10-10 13:29:42 -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
Stefan Metzmacher
58d06f205e r8429: fix compiler warnings
metze
(This used to be commit b9ee5818808f2e0cd38c0c5d2ef15cba22d4edbe)
2007-10-10 13:23:02 -05:00
Stefan Metzmacher
a4c614b012 r8371: the objectGUID is now stored in binary...
metze
(This used to be commit b920b306b3813ba4a220249dbd7e443605074c9b)
2007-10-10 13:20:13 -05:00
Stefan Metzmacher
557c78e36d r8370: remove the '$' from in the cn: attribute for computer and dc accounts
metze
(This used to be commit 206f33778e8ff88b5eea493ead31342cc4405a22)
2007-10-10 13:20:12 -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
b7952f8058 r8226: w2k3 adds a '.' after the forest and domain dns names for the primary domain
and NULL for the trusted domains forest dns name

metze
(This used to be commit 225fc1b8658f01217b55e2d1c6d5814ee5022559)
2007-10-10 13:19:22 -05:00
Andrew Bartlett
06348629b9 r8109: Try to print out more helpful debug messages on DCERPC server-side
gensec failure to start.

Andrew Bartlett
(This used to be commit bc8f8d2dcfbcf06bb9c49981bc3811b252a4b9b0)
2007-10-10 13:19:09 -05:00
Stefan Metzmacher
133d41d43d r8052: that looks nicer:-)
metze
(This used to be commit dad0371a9fea0de080650cb081beafdaa773ceda)
2007-10-10 13:19:03 -05:00
Stefan Metzmacher
96a073fdea r8049: add function that returns the build version (of w2k3 here 3790)
metze
(This used to be commit 81abbdaeb180a1618e34ab56275f6eeacfcc99ce)
2007-10-10 13:19:02 -05:00
Stefan Metzmacher
fe94ba6e71 r8046: - add somemore failure checks in the RPC-SPOOLSS test
- test AddForm on the PrintServer object

- GetForm() isn't allowed on the PrintServer object so remove NTPTR
  function for it

- accept the dns name as servername in the spoolss server

metze
(This used to be commit d8c308a4653d59514915021607fe55c5f2b38749)
2007-10-10 13:19:02 -05:00
Stefan Metzmacher
8ab3f59a10 r8036: revert rev 8023/8024 as they have a bugs.
metze
(This used to be commit 66d6b1d5783cba98f2f8e1c8eed1bdc26a5bad4f)
2007-10-10 13:19:01 -05:00
Stefan Metzmacher
5afa0a2d62 r8023: use a pointer to a DATA_BLOB for each reply,
that will allow the write_fn callback of dcesrv_output()
to reference the memory with a valid TALLOC pointer

metze
(This used to be commit d0574d407f426f5c001e943dee5c03d24f4fb21c)
2007-10-10 13:19:00 -05:00
Stefan Metzmacher
8a300c9248 r8021: we only need to return STATUS_BUFFER_OVERFLOW for the ipc_trans replies
and not for the ipc_read() replies as here the client explicit says how much data it wants

the write_fn() in dcesrv_output() now returns NTSTATUS

and the ipc specific implementations are moved to the ntvfs_ipc module

metze
(This used to be commit fe483dcd874b7243d61e9623840c672b4ea06b2c)
2007-10-10 13:19:00 -05:00
Andrew Tridgell
939cb07232 r8006: I have seen w2k3 send multiple encoding syntaxes in rpc bind
requests. This is a simple change to accept that, as long as the first
one is NDR.
(This used to be commit 330293ddff39266abb688c6292e59472ff47aebe)
2007-10-10 13:18:58 -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
Andrew Tridgell
382fc485b2 r7927: fixed an error on partial socket writes in the rpc server
(This used to be commit 3c7b5de67294ef161289af7da6716b44ffc5d526)
2007-10-10 13:18:51 -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
bdee131f30 r7860: switch our ldb storage format to use a NDR encoded objectSid. This is
quite a large change as we had lots of code that assumed that
objectSid was a string in S- format.

metze and simo tried to convince me to use NDR format months ago, but
I didn't listen, so its fair that I have the pain of fixing all the
code now :-)

This builds on the ldb_register_samba_handlers() and ldif handlers
code I did earlier this week. There are still three parts of this
conversion I have not finished:

 - the ltdb index records need to use the string form of the objectSid
   (to keep the DNs sane). Until that it done I have disabled indexing on
   objectSid, which is a big performance hit, but allows us to pass
   all our tests while I rejig the indexing system to use a externally
   supplied conversion function

 - I haven't yet put in place the code that allows client to use the
   "S-xxx-yyy" form for objectSid in ldap search expressions. w2k3
   supports this, presumably by looking for the "S-" prefix to
   determine what type of objectSid form is being used by the client. I
   have been working on ways to handle this, but am not happy with
   them yet so they aren't part of this patch

 - I need to change pidl to generate push functions that take a
   "const void *" instead of a "void*" for the data pointer. That will
   fix the couple of new warnings this code generates.

Luckily it many places the conversion to NDR formatted records
actually simplified the code, as it means we no longer need as many
calls to dom_sid_parse_talloc(). In some places it got more complex,
but not many.
(This used to be commit d40bc2fa8ddd43560315688eebdbe98bdd02756c)
2007-10-10 13:18:44 -05:00
Jelmer Vernooij
66a52992ff r7850: Support mkdir() with just one parameter. Patch from
Steven Edwards <steven_ed4153@yahoo.com>.

I've moved the Win32-specific tests to win32.m4 so it does not
make any of the POSIX configure stuff more complicated.
(This used to be commit bf85fdd01552f75b745fdf3159a7a87cd6521ed2)
2007-10-10 13:18:42 -05:00
Tim Potter
f29aa44d57 r7802: Remove a junk file.
(This used to be commit a2d60dd878671d7ec4dbe631e8138d2279a2c6a4)
2007-10-10 13:18:37 -05:00
Andrew Tridgell
f0420c0292 r7800: added the same request serialisation logic to our socket based rpc
servers as I added to the smb server yesterday. This means rpc server
code can assume it runs serially unless it explicitly sets the async
flag on the request and returns
(This used to be commit 8546adb56aa4dda608a176409c243b074aeca77d)
2007-10-10 13:18:37 -05:00
Andrew Bartlett
3e73885ba4 r7756: Don't segfault by trying to search for the NULL DN, if the wrong
password was entered.  We would not use the results of the search in
any case.

Andrew Bartlett
(This used to be commit edeb908acaaaaab13bef4d2e3fae18d87c07af81)
2007-10-10 13:18:31 -05:00
Andrew Tridgell
f021c2da15 r7755: fixed an uninitialised event_ctx found by abartlet
(This used to be commit 1462da3b6d190eecfb82268e6f2f04a42d8d5298)
2007-10-10 13:18:31 -05:00
Stefan Metzmacher
19c9f032fd r7644: - remove some dublicate structures SetForm and AddForm uses the same struct
- fix some typos in EnumPrintServerForms()/GetPrintServerForms()
- add AddPrintServerForms()/SetPrintServerForms() and DeletePrintServerForms

metze
(This used to be commit 73906388421beebb34f2a00c9e0d1fc8b400a42a)
2007-10-10 13:18:17 -05:00
Stefan Metzmacher
8f85427d6d r7643: This patch adds a new NTPTR subsystem:
- this is an abstraction layer for print services,
  like out NTVFS subsystem for file services

- all protocol specific details are still in rpc_server/spoolss/
  - like the stupid in and out Buffer handling
  - checking of the r->in.server_name
  - ...

- this subsystem can have multiple implementation
  selected by the "ntptr providor" global-section parameter

- I currently added a "simple_ldb" backend,
  that stores Printers, Forms, Ports, Monitors, ...
  in the spoolss.db, and does no real printing
  this backend is basicly for testing, how the spoolss protocol
  works

- the interface is just a prototype and will be changed a bit
  the next days or weeks, till the simple_ldb backend can
  handle all calls that are used by normal w2k3/xp clients

- I'll also make the api async, as the ntvfs api
  this will make things like the RemoteFindFirstPrinterChangeNotifyEx(),
  that opens a connection back to the client, easier to implement,
  as we should not block the whole smbd for that

- the idea is to later implement a "unix" backend
  that works like the current samba3 code

- and maybe some embedded print server vendors can write there own
  backend that can directly talk to a printer without having cups or something like this

- the default settings are (it currently makes no sense to change them :-):

ntptr providor = simple_ldb
spoolss database = $private_dir/spoolss.db

metze
(This used to be commit 455b5536d41bc31ebef8290812f45d4a38afa8e9)
2007-10-10 13:18:16 -05:00
Stefan Metzmacher
804b8d2792 r7634: move TestSleep functions so that all of them are together
metze
(This used to be commit 520d5c67329e957121e3b71c1ffc0be3893c2033)
2007-10-10 13:18:15 -05:00
Andrew Tridgell
af237084ec r7633: this patch started as an attempt to make the dcerpc code use a given
event_context for the socket_connect() call, so that when things that
use dcerpc are running alongside anything else it doesn't block the
whole process during a connect.

Then of course I needed to change any code that created a dcerpc
connection (such as the auth code) to also take an event context, and
anything that called that and so on .... thus the size of the patch.

There were 3 places where I punted:

  - abartlet wanted me to add a gensec_set_event_context() call
    instead of adding it to the gensec init calls. Andrew, my
    apologies for not doing this. I didn't do it as adding a new
    parameter allowed me to catch all the callers with the
    compiler. Now that its done, we could go back and use
    gensec_set_event_context()

  - the ejs code calls auth initialisation, which means it should pass
    in the event context from the web server. I punted on that. Needs fixing.

  - I used a NULL event context in dcom_get_pipe(). This is equivalent
    to what we did already, but should be fixed to use a callers event
    context. Jelmer, can you think of a clean way to do that?

I also cleaned up a couple of things:

 - libnet_context_destroy() makes no sense. I removed it.

 - removed some unused vars in various places
(This used to be commit 3a3025485bdb8f600ab528c0b4b4eef0c65e3fc9)
2007-10-10 13:18:15 -05:00
Simo Sorce
9189833a87 r7582: Better way to have a fast path searching for a specific DN.
Old way was ugly and had a bug, you couldn't add an attribute named
dn or distinguishedName and search for it, tdb would change that search in a dn search.
This makes it also possible to search by dn against an ldap server as the old method was
not supported by ldap syntaxes.

sss
(This used to be commit a614466dec2484a0d39bdfae53da822cfcf80926)
2007-10-10 13:18:11 -05:00
Stefan Metzmacher
056d63c62f r7580: - add GetPrinterDriverDirectory() idl, torture test and server code
- add EnumMonitors() server code and return "Standard TCP/IP Port"
- add parsing for opening Ports and Monitors with OpenPrinterEx()

metze
(This used to be commit 08e6de37bc293e2f000d03b51642964d92d6e95e)
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
33bbe2b9e1 r7536: doesn't spam the smbd_log in the build_farm...
metze
(This used to be commit 9f4ed54c58a1d029b171ad199dd4a7ccf1f96f64)
2007-10-10 13:18:07 -05:00
Andrew Tridgell
694488d29c r7507: fixed the problem with users being shown too many times in acl
editors, and added a test for it.
(This used to be commit 9e428881f6fc0a422ac9011d847e8f692284397a)
2007-10-10 13:18:02 -05:00
Stefan Metzmacher
838e4835de r7465: - return empty lists for now
- return WERR_NOT_SUPPORTED on AddPort()
(we pass the RPC-SPOOLSS test now :-)

metze
(This used to be commit d62db5b7d3b6418e870b87c8fd33a1587ecc1728)
2007-10-10 13:17:56 -05:00
Stefan Metzmacher
d20bc8c6f4 r7370: change debug levels
metze
(This used to be commit 665e4f0bd47117ce597f7eb6be0b89420582c471)
2007-10-10 13:17:47 -05:00
Stefan Metzmacher
501986ab4e r7368: some server side spoolss stuff, w2k3 shows the printers icon,
and I can view the print server properties...

But it didn't like our EnumPorts() reply and also didn't show the test Form...
(jerry: can you have a look at this?)

metze
(This used to be commit 42c9a66da9b4adf1c44dcca13ea184ed2e7a4681)
2007-10-10 13:17:47 -05:00
Jelmer Vernooij
fcc74fc060 r7313: Prefix a few functions with ncacn_ rather then dcerpc_ because they are
ncacn_ specific
(This used to be commit 875cce126878172eedb43b4ecab3970ea9d82e4a)
2007-10-10 13:17:41 -05:00
Jelmer Vernooij
430dc36c1a r7312: Add IDL for ncadg packets.
(This used to be commit 2009a430b03c685dd65bd573e70d3618f2e0dd0f)
2007-10-10 13:17:40 -05:00
Jelmer Vernooij
c56ddaf7ef r7195: - Fix echo pipe
- Don't allocate strings
- Give higher preference to the [out] part of variables when they
  are being used by another [out] variable. Also make sure that
  [in] variables never use [out] variables (i.e. switch_is() on an
  [in] variable can no longer use an [out] variable).
(This used to be commit 837c83d77a2d1990419c4f3e343616daf8da5799)
2007-10-10 13:17:25 -05:00
Jelmer Vernooij
03c2d642a6 r7159: Improve the messages from pidl's validator module.
Change the IDL file for the echo interface to match the one we use for
Windows. The only thing different between the two files currently is the
names of the scalar types and the handling of strings.
(This used to be commit b264c61061d222347919837600adf809fbadfb13)
2007-10-10 13:17:21 -05:00
Stefan Metzmacher
62480f1252 r7120: make use of the new 'noopnum' property and get rid of handwritten
parsing code for the spoolss_Enum* functions, there still same handwritten code needed
but just to stack the autogenerated code into the correct way

metze
(This used to be commit 155d18e8b78afebfb4a84e43e3b4d8fc6c9cc4e2)
2007-10-10 13:17:19 -05:00
Jelmer Vernooij
e427f58622 r6973: Merge new version of pidl into the main SAMBA_4_0 branch.
The main difference in this new version is the extra data structure generated
between the IDL data structure and the NDR parser:

IDL -> NDR -> { ndr_parser, ndr_header, eparser, etc }

This makes the ndr_parser.pm internals much more sane.

Other changes include:

- Remove unnecessary calls with NDR_BUFFERS (for example, GUID doesn't have any buffers, just scalars) as well as some (unnecessary) nested setting of flags.
- Parse array loops in the C code rather then calling ndr_pull_array(). This allows us to have, for example, arrays of pointers or arrays of pointers to arrays, etc..
- Use if() {} rather then if () goto foo; everywhere
- NDR_IN no longer implies LIBNDR_FLAG_REF_ALLOC
- By default, top level pointers are now "ref" (as is the default in
  most other IDL compilers). This can be overridden using the
  default_pointer_top() property.
- initial work on new ethereal parser generators by Alan DeKok and me
- pidl now writes errors in the standard format used by compilers, which
  is parsable by most editors
- ability to warn about the fact that pidl extension(s) have been used,
  useful for making sure IDL files work with other IDL compilers.

oh, and there's probably some other things I can't think of right now..
(This used to be commit 13cf227615f6b9e0e5fa62e59197024410254f01)
2007-10-10 13:17:01 -05:00
Tim Potter
4888823524 r6939: Get rid of SUBSYSTEM::NDR since all it did was require NDR_RAW.
(This used to be commit e077d9948f1406c61982d49c2fd925852fdf6553)
2007-10-10 13:16:59 -05:00
Volker Lendecke
283991e1ff r6907: Unixinfo for samba4, not activated by default.
Volker
(This used to be commit 81ddffde369c5b5e91bc130510f43c6841a789c4)
2007-10-10 13:16:56 -05:00
Jelmer Vernooij
f9ad3029ae r6863: lib-friendlier names + fix some dependencies
(This used to be commit cab81a51bfd435b54e6f0d5a308aaf6828d38c00)
2007-10-10 13:16:52 -05:00
Jelmer Vernooij
e73d051e20 r6839: Add support for building subsystems as shared libraries. This can be
done by setting:
OUTPUT_TYPE = SHARED_LIBRARY
in the [SUBSYSTEM::...] section belonging to a subsystem.

The idea is to allow multiple values to OUTPUT_TYPE simultaneously
(e.g. OUTPUT_TYPE = SHARED_LIBRARY, STATIC_LIBRARY, OBJLIST )
(This used to be commit b9d0ae93ba86fec0115f58e7940b2a6c908bc809)
2007-10-10 13:16:50 -05:00
Jelmer Vernooij
5b18cf2268 r6795: Make some functions static and remove some unused ones.
(This used to be commit 46509eb89980bfe6dabd71264d570ea356ee5a22)
2007-10-10 13:16:44 -05:00
Andrew Bartlett
b5da6b2c85 r6714: We can only ask GENSEC questions if we are authenticated.
Andrew Bartlett
(This used to be commit b429712f1e8234c64138aaa8ff67dce94988406c)
2007-10-10 13:16:37 -05:00