1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-21 12:23:50 +03:00
Commit Graph

548 Commits

Author SHA1 Message Date
Andrew Bartlett
093b98b5b5 r9490: Fix typo
Andrew Bartlett
2007-10-10 13:34:21 -05:00
Andrew Tridgell
6757d51a28 r9410: - a winreg_CloseKey() should return a zero key on success (zeroing the
callers key). This is the normal pattern with rpc handles.

- fixed reference to undefined error variable in winreg_DeleteKey()
2007-10-10 13:33:35 -05:00
Simo Sorce
31c69d0655 r9392: Fix ldb_dn_compose to make build farm happy
Add ldb_dn_string_compose so that you can build a dn starting from a
struct ldb_dn base and a set of parameters to be composed in a format
string with the same syntax of printf
2007-10-10 13:33:33 -05:00
Simo Sorce
692e35b779 r9391: Convert all the code to use struct ldb_dn to ohandle ldap like distinguished names
Provide more functions to handle DNs in this form
2007-10-10 13:33:32 -05:00
Andrew Tridgell
00e55be9ef r9388: we should fault bad handles given to winreg_GetVersion() 2007-10-10 13:33:32 -05:00
Andrew Tridgell
92ed69695b r9384: added a debug to show the dcerpc fault code for any calls we fault 2007-10-10 13:33:31 -05:00
Andrew Tridgell
17f3250dd6 r9359: don't check for size overflow if value is NULL
this gets viewing the product options in smbd HKLM from w2k3 regedit
working
2007-10-10 13:33:28 -05:00
Andrew Tridgell
bcef9e592a r9358: - opening a winreg key of "" is the same as re-opening the hive. The
w2k3 regedit does this.

- w2k3 expects null termination is string lengths
2007-10-10 13:33:27 -05:00
Andrew Tridgell
8354b01612 r9338: fixed the winreg IDL to be correct for the EnumKey and EnumValue
calls. The previous IDL was just a workaround for the limitations of
our older rpc infrastructure. Now that Jelmer has added much improved
string support using the charset keyword we can correctly implemenent
the unusual winreg string buffers.

Jelmer, note the little comment I put on winreg_StringBuf() about why
I couldn't use [value()] for the length field.

This also fixes EnumKey() and EnumValue() to use NTTIME fields for the
last_changed_time. I don't know why we were using a pair of uint32's,
as it is just a NTTIME.
2007-10-10 13:33:25 -05:00
Tim Potter
6a7922a02c r9284: Whitespace. (-: 2007-10-10 13:33:21 -05:00
Andrew Bartlett
e9837d49bc r9016: More work to avoid abuse of the "name" attribute, this time on
NETLOGON.

Andrew Bartlett
2007-10-10 13:31:08 -05:00
Andrew Bartlett
2beb694226 r9015: Fix access to BUILTIN again.
Andrew Bartlett
2007-10-10 13:31:08 -05:00
Andrew Bartlett
0f7b1136f6 r9011: Remove more references to "name" as a netbios name, using the
cross-reference instead.

Andrew Bartlett
2007-10-10 13:31:07 -05:00
Andrew Bartlett
242db48b98 r8998: More work on the RPC server code to avoid abusing the name attribute
as a netbios name.

Andrew Bartlett
2007-10-10 13:31:05 -05:00
Andrew Bartlett
ba5fe07b97 r8984: Use the correct cross-reference search in DRSUAPI, rather than making
assumptions about the behaviour of "name" as a NETBIOS domain name.

Andrew Bartlett
2007-10-10 13:31:03 -05:00
Andrew Bartlett
71958cb19f r8983: The KVNO (Kerberos key version number) should be incremented with
every password set.

Andrew Bartlett
2007-10-10 13:31:03 -05:00
Andrew Bartlett
c847ca2cc8 r8982: "name" is not the netbios name, but the RDN. Return the correct
netbios domain name of the host, as well as the sid from the cache we
fetched earlier.

Andrew Bartlett
2007-10-10 13:31:03 -05:00
Jelmer Vernooij
8d9c18a1b4 r8974: Support makefile fragments in .mk files 2007-10-10 13:31:01 -05:00
Jelmer Vernooij
fac77f5fa2 r8811: Fix the build.. 2007-10-10 13:30:07 -05:00
Andrew Bartlett
1f071b0609 r8790: Finish the migration of aliases and privilages with SamSync, by adding
templating support for foreignSecurityPrincipals to the samdb module.
This is an extension beyond what microsoft does, and has been very
useful :-)

The setup scripts have been modified to use the new template, as has
the SAMR and LSA code.

Other cleanups in LSA remove the assumption that the short domain name
is the first component of the realm.

Also add a lot of useful debug messages, to make it clear how/why the
SamSync may have gone wrong.  Many of these should perhaps be hooked
into an error string.

Andrew Bartlett
2007-10-10 13:30:05 -05:00
Andrew Bartlett
ecbd2235a3 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
2007-10-10 13:29:55 -05:00
Andrew Bartlett
968bcc4fe8 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
2007-10-10 13:29:52 -05:00
Andrew Tridgell
bc9d9531f5 r8593: register the rpc server with irpc 2007-10-10 13:29:42 -05:00
Andrew Tridgell
a58ea6b385 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
2007-10-10 13:29:34 -05:00
Stefan Metzmacher
b9ee581880 r8429: fix compiler warnings
metze
2007-10-10 13:23:02 -05:00
Stefan Metzmacher
b920b306b3 r8371: the objectGUID is now stored in binary...
metze
2007-10-10 13:20:13 -05:00
Stefan Metzmacher
206f33778e r8370: remove the '$' from in the cn: attribute for computer and dc accounts
metze
2007-10-10 13:20:12 -05:00
Stefan Metzmacher
e601042c07 r8232: remove samr_String and netr_String as they are the same as lsa_String
metze
2007-10-10 13:19:22 -05:00
Stefan Metzmacher
225fc1b865 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
2007-10-10 13:19:22 -05:00
Andrew Bartlett
bc8f8d2dcf r8109: Try to print out more helpful debug messages on DCERPC server-side
gensec failure to start.

Andrew Bartlett
2007-10-10 13:19:09 -05:00
Stefan Metzmacher
dad0371a9f r8052: that looks nicer:-)
metze
2007-10-10 13:19:03 -05:00
Stefan Metzmacher
81abbdaeb1 r8049: add function that returns the build version (of w2k3 here 3790)
metze
2007-10-10 13:19:02 -05:00
Stefan Metzmacher
d8c308a465 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
2007-10-10 13:19:02 -05:00
Stefan Metzmacher
66d6b1d578 r8036: revert rev 8023/8024 as they have a bugs.
metze
2007-10-10 13:19:01 -05:00
Stefan Metzmacher
d0574d407f 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
2007-10-10 13:19:00 -05:00
Stefan Metzmacher
fe483dcd87 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
2007-10-10 13:19:00 -05:00
Andrew Tridgell
330293ddff 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.
2007-10-10 13:18:58 -05:00
Andrew Bartlett
e2015671c2 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
2007-10-10 13:18:57 -05:00
Andrew Tridgell
3c7b5de672 r7927: fixed an error on partial socket writes in the rpc server 2007-10-10 13:18:51 -05:00
Andrew Tridgell
eee528be97 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.
2007-10-10 13:18:44 -05:00
Andrew Tridgell
d40bc2fa8d 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.
2007-10-10 13:18:44 -05:00
Jelmer Vernooij
bf85fdd015 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.
2007-10-10 13:18:42 -05:00
Tim Potter
a2d60dd878 r7802: Remove a junk file. 2007-10-10 13:18:37 -05:00
Andrew Tridgell
8546adb56a 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
2007-10-10 13:18:37 -05:00
Andrew Bartlett
edeb908aca 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
2007-10-10 13:18:31 -05:00
Andrew Tridgell
1462da3b6d r7755: fixed an uninitialised event_ctx found by abartlet 2007-10-10 13:18:31 -05:00
Stefan Metzmacher
7390638842 r7644: - remove some dublicate structures SetForm and AddForm uses the same struct
- fix some typos in EnumPrintServerForms()/GetPrintServerForms()
- add AddPrintServerForms()/SetPrintServerForms() and DeletePrintServerForms

metze
2007-10-10 13:18:17 -05:00
Stefan Metzmacher
455b5536d4 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
2007-10-10 13:18:16 -05:00
Stefan Metzmacher
520d5c6732 r7634: move TestSleep functions so that all of them are together
metze
2007-10-10 13:18:15 -05:00
Andrew Tridgell
3a3025485b 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
2007-10-10 13:18:15 -05:00