1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-14 20:23:54 +03:00
Commit Graph

123 Commits

Author SHA1 Message Date
Andrew Bartlett
aa30c16de0 r10809: Add struct decl 2007-10-10 13:39:31 -05:00
Stefan Metzmacher
dfc95de8fa r10766: - make it possible to mark a wrepl_request as send only,
used for WREPL_REPL_INFORM* messsages
- make it possible to close the connection after a request was send
  used for WREPL_ASSOCIATION_STOP
- fix the torture test that tests the assoc context handling
  between connections, you can issue a request and get the reply
  on another connection, I think we should not implement that in our server
  code, as I think it's a security hole, you can cause a windows server
  to send the replies to someone another client, that doesn't wait for data,
  and as there're no massage_id in the protocol the client would be confused
  by a replies that doesn't belong to a query

metze
2007-10-10 13:39:28 -05:00
Volker Lendecke
126c80aefc r10691: This gets half-way to wbinfo -n. It acquires an lsa pipe, and does a
queryinfopolicy. Idea is to get a consistency check between that and our
notion of the domain name and sid, and take the lsa pipe as the holder of the
central smbcli_tree that netlogon and samr use as well.

Volker
2007-10-10 13:39:19 -05:00
Volker Lendecke
5436d77648 r10683: Samba3's wbinfo -t should give the correct answer now.
Tridge, if you have time, you might want to look at the segfault I was still
seeing. Now I store the handle to the netlogon pipe in the global winbind
state and free it on the next entry into check_machacc. The problem seems to
be that talloc_free()ing a pipe struct from within a callback function on that
pipe is not possible. I think I can live with that, but it has been not really
obvious. To reproduce the segfault you might want to look at putting a
talloc_free(state->getcreds->out.netlogon) into
wbsrv_samba3_check_machacc_receive_creds. This is called from a dcerpc
callback function.

In particular if the check failed it would be nice if I could delete the pipe
directly and not post a different event to some winbind queue.

I tried to delete the pipe from a timed event triggered immediately, but this
also fails because the inner loop seems to hit the same event again, calling
it twice.

Volker
2007-10-10 13:39:18 -05:00
Rafal Szczesniak
b3b4059efe r10680: Fix a warning.
rafal
2007-10-10 13:39:17 -05:00
Volker Lendecke
6b88de182e r10677: Add smb_composite_connectmulti: Send out multiple SYN packets at once, use the
first one that replies correctly.

Add a talloc context to smb_composite_connect()

Volker
2007-10-10 13:39:17 -05:00
Stefan Metzmacher
131e5dfe69 r10638: - add wrepl_socket_merge() function that creates a wrepl_socket on top
of an existing socket, that is needed to handle WREPL_REPL_UPDATE
  in the server, because we need to flig the connection and act as client on it

metze
2007-10-10 13:39:14 -05:00
Jelmer Vernooij
b405b27ba4 r10604: Put in the new registry "patchfile" code (similar to ldif
for LDB); not finished yet.
2007-10-10 13:39:11 -05:00
Jelmer Vernooij
540155fad3 r10528: Add credentials.h back into includes.h as some compilers don't
seem to be able to handle incomplete enum types.
2007-10-10 13:39:02 -05:00
Jelmer Vernooij
03647e1321 r10510: Decrease the amount of data included by includes.h a bit 2007-10-10 13:38:58 -05:00
Volker Lendecke
4637964b19 r10491: First step towards wbinfo -t: This issues a name request for the primary
domain and gets the DC's name via a mailslot call.

Metze, I renamed wbsrv_queue_reply to wbsrv_send_reply in accordance with
irpc_send_reply. Having _queue_ here and _send_ there is a bit confusing. And
as everything is async anyway, the semantics should not be too much of a
problem.

Volker
2007-10-10 13:38:54 -05:00
Stefan Metzmacher
32f3e68a56 r10426: - restructure the winbind server code a bit
- remove the echo test stuff
- abstract out the used protocol
- we have a seperate handler for the samba3 protocol now
- the backend can easy do async replies
  by setting WBSRV_CALL_FLAGS_REPLY_ASYNC in wbsrv_call
  and then call wbsrv_queue_reply() later

metze
2007-10-10 13:38:44 -05:00
Jelmer Vernooij
414e5f7f6d r9798: Add generic functions for handling smb.conf files (the parameters don't to be pre-declared). Also doesn't use any globals, so multiple files can be loaded at once.
Currently uses the prefix "param" for all functions and structures; suggestions for better ones are welcome...

Remove old smb.conf-parsing code from libsamba3.
2007-10-10 13:35:02 -05:00
Jelmer Vernooij
c2211df586 r9672: Fix build for compilers that don't like undefined-length arrays at the end of structs... 2007-10-10 13:34:39 -05:00
Jelmer Vernooij
84b2fb3467 r9602: Add support for reading share_info.tdb and smb.conf.
Add userdata argument to function pointers for pm_process()
2007-10-10 13:34:33 -05:00
Jelmer Vernooij
e0a0d3f092 r9595: Add ldb map module 2007-10-10 13:34:33 -05:00
Jelmer Vernooij
dd15131b52 r9589: Support reading secrets tdb 2007-10-10 13:34:32 -05:00
Jelmer Vernooij
b264e9f56a r9581: Registry db 2007-10-10 13:34:31 -05:00
Jelmer Vernooij
b91a695bd8 r9557: Some more updates. Use combined function for parsing a set of
samba3 databases
2007-10-10 13:34:28 -05:00
Jelmer Vernooij
46c5cdb673 r9556: Define a few libsamba structs 2007-10-10 13:34:28 -05:00
Stefan Metzmacher
a9a1a6f861 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
2007-10-10 13:34:26 -05:00
Stefan Metzmacher
93065f2d34 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
2007-10-10 13:34:24 -05:00
Jelmer Vernooij
65ddea09b9 r9453: Add samba3_samaccount (fix the build) 2007-10-10 13:34:17 -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 Bartlett
379bcf7061 r9085: Missing structs.h entry.
Andrew Bartlett
2007-10-10 13:31:15 -05:00
Andrew Bartlett
d2789c4260 r8847: Rework the Samba4 'net join' code. I'm trying to get this closer to
what WinXP does when joining an AD domain, but in the meantime this
removes the excess unions, and uses the LSA pipe in same way XP does.

Andrew Bartlett
2007-10-10 13:30:11 -05:00
Andrew Bartlett
1e0f7792bb r8752: With all the infrustructure done, details like a SamSync migration
into LDB are actually quite easy.

This brings us the users, and sets basic domain information.

You are expected to have provisioned with the settings for the target
domain, and have joined the domain as a BDC.  Then simply 'net
samsync'.

Now we just need to flesh out the delta types.

Andrew Bartlett
2007-10-10 13:30:02 -05:00
Andrew Bartlett
2eadcf4669 r8744: Split 'net samdump' out into a separate file
Work on the talloc memory tree, as I think talloc_reference and other
things were biting me.

Crush unions in the name of code reform. ;-)

Andrew Bartlett
2007-10-10 13:30:01 -05:00
Rafal Szczesniak
bee1c9ec2d r8692: Starting parts of code to provide user modify functionality.
It's more like a placeholder now, than a working code. Just don't
want to hang it around my laptop only.

rafal
2007-10-10 13:29:54 -05:00
Stefan Metzmacher
2286fad27d r8164: - match the ordering w2k3 uses for the PAC_BUFFER:
LOGON_INFO
   LOGON_NAME
   SRV_CHECKSUM
   KDC_CHECKSUM

- w2k3 also don't use the groupmembership array with rids
  it uses the othersids array

metze
2007-10-10 13:19:16 -05:00
Stefan Metzmacher
0eee179415 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
2007-10-10 13:19:13 -05:00
Rafal Szczesniak
9f0dfafcde r8128: Janitor work...
rafal
2007-10-10 13:19:12 -05:00
Rafal Szczesniak
34592b6a92 r8078: rpc connect function uses structure now.
rafal
2007-10-10 13:19:06 -05:00
Stefan Metzmacher
054e1ca434 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
2007-10-10 13:19:02 -05:00
Rafal Szczesniak
6886aefe4c r7999: Fix lacking structure definition.
rafal
2007-10-10 13:18:57 -05:00
Andrew Bartlett
31e7df1392 r7971: structs.h update 2007-10-10 13:18:55 -05:00
Rafal Szczesniak
12b468417d r7733: New io structure for name lookup function.
rafal
2007-10-10 13:18:27 -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
Andrew Tridgell
2e3c660b2f r7626: a new ldap client library. Main features are:
- hooked into events system, so requests can be truly async and won't
   interfere with other processing happening at the same time

 - uses NTSTATUS codes for errors (previously errors were mostly
   ignored). In a similar fashion to the DOS error handling, I have
   reserved a range of the NTSTATUS code 32 bit space for LDAP error
   codes, so a function can return a LDAP error code in a NTSTATUS

 - much cleaner packet handling
2007-10-10 13:18:14 -05:00
Andrew Tridgell
96620ab2ee r7527: - added a ldb_search_bytree() interface, which takes a ldb_parse_tree
instead of a search expression. This allows our ldap server to pass
  its ASN.1 parsed search expressions straight to ldb, instead of going
  via strings.

- updated all the ldb modules code to handle the new interface

- got rid of the separate ldb_parse.h now that the ldb_parse
  structures are exposed externally

- moved to C99 structure initialisation in ldb

- switched ldap server to using ldb_search_bytree()
2007-10-10 13:18:06 -05:00
Rafal Szczesniak
f6ef7b882a r7490: Rename functions and prefices s/rpc_composite/libnet_rpc/
This makes more clear where the functions belong to. Also
the rule will be that lowercased function names are not
part of "official" libnet API (though it doesn't mean one
absolutely cannot use them).

rafal
2007-10-10 13:17:59 -05:00
Rafal Szczesniak
240409bc3c r7379: Simplify CreateUser function and io structure. Also, implementing
it based on composite functions. Moving to fully async CreateUser
on the way...

rafal
2007-10-10 13:17:48 -05:00
Stefan Metzmacher
73d597bacf r7328: fix GetPrinterData and SetPrinterData, with zero length subcontexts
metze
2007-10-10 13:17:42 -05:00
Tim Potter
54ff16b9a1 r7253: Fix build. 2007-10-10 13:17:32 -05:00
Rafal Szczesniak
be3b283b20 r7251: Initial work on composite domain open call.
rafal
2007-10-10 13:17:31 -05:00
Andrew Bartlett
51ba3ea60c r7221: Add the start of a KDC service (to be built on a 'libkdc' from a to be
included Heimdal) to Samba4.

Andrew Bartlett
2007-10-10 13:17:27 -05:00
Stefan Metzmacher
e9f30ad698 r7183: add some forward declarations ...
metze
2007-10-10 13:17:24 -05:00
Andrew Tridgell
5537a0d38d r7002: added support for getting at loadparm config parameters via lpGet() in esp scripts
lpGet takes 4 forms
    v = lpGet("type:parm");             gets a parametric variable
    v = lpGet("share", "type:parm");    gets a parametric variable on a share
    v = lpGet("parm");                  gets a global variable
    v = lpGet("share", "parm");         gets a share variable

in all cases a ejs object of the appropriate type for the variable is returned.

This commit also adds the function typeof() which returns the type of an object
2007-10-10 13:17:04 -05:00
Andrew Tridgell
26f0ba92c0 r6981: first version of the builtin web server for Samba4
This includes an embedded server side scripting system called 'esp'
(see http://www.appwebserver.org/products/esp/esp.html) and javascript
based scripting language called 'esj' (see
http://www.appwebserver.org/products/ejs/ejs.html)

The justification for including this scripting language is that it
should make it much easier to write a high quality web interface for
Samba4. The scripting language can call into any Samba4 library code
(so for example it will be able to make ldb and loadparm calls), plus
it provides easy support for forms, cookies, sessions etc.

There is still quite a bit more work to do on the web server, but
there is enough here now for people to look at and comment. I will be
committing some sample web pages that test esp functionality shortly.
2007-10-10 13:17:01 -05:00
Rafal Szczesniak
eb83a8210a r6963: Further definitions for share manipulation code. Untested.
Original patch provided by Gregory Leocadie <gleocadie@idealx.com>

rafal
2007-10-10 13:17:00 -05:00