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

95 Commits

Author SHA1 Message Date
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
Andrew Bartlett
0101728d8e r6800: A big GENSEC update:
Finally remove the distinction between 'krb5' and 'ms_krb5'.  We now
don't do kerberos stuff twice on failure.  The solution to this is
slightly more general than perhaps was really required (as this is a
special case), but it works, and I'm happy with the cleanup I achived
in the process.  All modules have been updated to supply a
NULL-terminated list of OIDs.

In that process, SPNEGO code has been generalised, as I realised that
two of the functions should have been identical in behaviour.

Over in the actual modules, I have worked to remove the 'kinit' code
from gensec_krb5, and placed it in kerberos/kerberos_util.c.

The GSSAPI module has been extended to use this, so no longer requires
a manual kinit at the command line.  It will soon loose the
requirement for a on-disk keytab too.

The general kerberos code has also been updated to move from
error_message() to our routine which gets the Heimdal error string
(which may be much more useful) when available.

Andrew Bartlett
2007-10-10 13:16:45 -05:00
Andrew Tridgell
e564e3e596 r6747: first working version of cldapd server. It is missing 'sites' support, and
filling in some of the returned parameters is quite rough, but it seems to work OK
2007-10-10 13:16:41 -05:00
Andrew Tridgell
e51e0dffa8 r6725: the beginnings of a cldap server 2007-10-10 13:16:38 -05:00
Rafal Szczesniak
3389cfb135 r6615: As usual, I forgot to commit new structure in this file...
rafal
2007-10-10 13:16:31 -05:00
Andrew Bartlett
550f17f992 r6573: Start on my project to implement an NT4 compatible BDC in Samba4.
This brings in a compatability layer for Samba3 in Samba4 - where we
will start to define file formats and similar details.

The 'net samdump' command uses 'password server = ' for now, and
performs a similar task to Samba3's 'net rpc samsync'.

Andrew Bartlett
2007-10-10 13:16:27 -05:00
Andrew Bartlett
8ee208a926 r6565: Cludge, cludge, cludge...
We need to pass the 'secure channel type' to the NETLOGON layer, which
must match the account type.

(Yes, jelmer objects to this inclusion of the kitchen sink ;-)

Andrew Bartlett
2007-10-10 13:16:26 -05:00
Andrew Bartlett
106047032f r6467: keep the compiler quiet with another entry in structs.h
Andrew Bartlett
2007-10-10 13:11:40 -05:00
Andrew Bartlett
7a93ac49c2 r6462: Move the arcfour sbox state into it's own structure, and allocate it
with talloc() for the NTLMSSP system.

Andrew Bartlett
2007-10-10 13:11:39 -05:00
Rafal Szczesniak
98d98b9bc7 r6414: Added composite user del function. Slightly broken still, but I don't
want it to hang around not commited.

rafal
2007-10-10 13:11:35 -05:00
Rafal Szczesniak
3752122550 r6382: New structure for useradd call.
rafal
2007-10-10 13:11:34 -05:00
Alexander Bokovoy
441cff62ac r6352: Two new composite calls:
- qfsinfo (query file system information)
- appendacl (append an ACL to existing file's security descriptor and get new
full ACL)

The second one also includes an improvement to security descriptor handling
which allows to copy security descriptor. Written by Peter Novodvorsky
<peter.novodvorsky@ru.ibm.com>

Both functions have corresponding torture tests added. Tested under valgrind and
work against Samba 4 and Windows XP.

ToDo: document composite call creation process in prog_guide.txt
2007-10-10 13:11:34 -05:00
Andrew Tridgell
3b34df6a67 r6247: added the server side code for receiving mailslot requests, and
parsing incoming netlogon requests. No replies are sent yet.
2007-10-10 13:11:28 -05:00
Andrew Tridgell
47e1452da0 r6185: added LIBCLI_DGRAM to the list of libs to be built as part of LIBCLI 2007-10-10 13:11:24 -05:00
Stefan Metzmacher
92a3721bc7 r6179: - add new spoolss tests for all spoolss_Enum*() calls which didn't need
a handle as parameter,

  EnumPorts
  EnumPrinterDrivers
  EnumMonitors
  EnumPrintProcessors
  EnumPrinters

  we now do cross checks between the different info levels
  and sore the results in a global context,
  so that we later can add cross checks between the different object types

- add idl for EnumMonitors and EnumPrintProcessors

metze
2007-10-10 13:11:23 -05:00
Stefan Metzmacher
3e6ec81128 r5828: add some idl for DsAddEntry()
metze
2007-10-10 13:11:04 -05:00
Stefan Metzmacher
1084ad4bfc r5800: fix recursiv printing in ndr_print_DsGetNCChangesInfo1()
metze
2007-10-10 13:11:04 -05:00
Rafal Szczesniak
1294db747e r5499: Commit forgotten change what tridge immediately pointed out
in his comments to new rpc composite code.

rafal
2007-10-10 13:10:51 -05:00
Stefan Metzmacher
bfcc86e706 r5489: hide handwritten pull/push/print code from the caller
for the spoolss_Enum* functions

metze
2007-10-10 13:10:50 -05:00
Andrew Tridgell
cec1672662 r5451: - added separate wrepl_associate(), wrepl_pull_table() and wrepl_pull_names() functions, with reasonable
parameters, so callers don't need to deal directly with wins replication packet structures

- converted the NBT-WINSREPLICATION torture test to use the new APIs
2007-10-10 13:10:47 -05:00
Andrew Tridgell
bc8d60c918 r5414: - added libcli/wins/, a basic client library for WINS replication
- added a new IDL type "udlongr", which is like udlong, but with the
  two uint32 halves reversed

- modified the winsrepl.idl to cope with a wider range of packets
2007-10-10 13:10:43 -05:00
Andrew Tridgell
2899d28945 r5372: fixed the build 2007-10-10 13:09:48 -05:00
Andrew Tridgell
9aa3313b3f r5358: - added initial WINS server code. It passes most of the NBT-WINS test, but doesn't yet
do secure server WACK responses

- added a ldap_string_to_time() function, for converting a LDAP
  formatted time to a time_t
2007-10-10 13:09:45 -05:00
Andrew Tridgell
196c45b834 r5309: removed ads.h from includes.h 2007-10-10 13:09:40 -05:00
Andrew Tridgell
826baec7b3 r5307: removed db_wrap.h from includes.h 2007-10-10 13:09:40 -05:00
Andrew Tridgell
cfee0fb02e r5306: removed all the unused mutex functions from mutex.c. When (if?) we
decide to reinstate the mutex code for the threads process model, I'd
like to do it a little differently. At least this gets it out of
includes.h for now.
2007-10-10 13:09:40 -05:00
Andrew Tridgell
0df3fdd817 r5305: removed libcli/ldap/ldap.h from includes.h 2007-10-10 13:09:39 -05:00
Andrew Tridgell
bb1ab11d8e r5294: - added a separate NBT-WINS test for WINS operations (register, refresh, release and query)
- change the iface_n_*() functions to return a "const char *" instead of a "struct ipv4_addr"
  I think that in general we should move towards "const char *" for
  all IP addresses, as this makes IPv6 much easier, and is also easier
  to debug. Andrew, when you get a chance, could you fix some of the
  auth code to use strings for IPs ?

- return a NTSTATUS error on bad name queries and node status instead
  of using rcode. This makes the calling code simpler.

- added low level name release code in libcli/nbt/

- use a real IP in the register and wins nbt torture tests, as w2k3
  WINS server silently rejects some operations that don't come from the
  IP being used (eg. it says "yes" to a release, but does not in fact
  release the name)
2007-10-10 13:09:37 -05:00
Andrew Tridgell
2502b02898 r5275: - added support for NBT_OPCODE_MULTI_HOME_REG (opcode 0xf) for WINS name registrations
- fixed a bug in the send queue handling on timeouts

- added support for handling unexpected replies (replies to the wrong
  port) at the nbtsocket layer

- added separate layer 2 code for wins refresh and wins registration
2007-10-10 13:09:36 -05:00