Rework much of the service.c code:
authorAndrew Bartlett <abartlet@samba.org>
Sat, 15 Jun 2002 12:38:13 +0000 (12:38 +0000)
committerAndrew Bartlett <abartlet@samba.org>
Sat, 15 Jun 2002 12:38:13 +0000 (12:38 +0000)
commit4c0cbcaed95231f8cf11edb43f6adbec9a0d0b5c
tree88a8da11af235faf5a7d3fc0c3b6f757a86f2a46
parent6872de2e5b27fd2de61ed14c85475a0eacd637ca
Rework much of the service.c code:

The aim of this execise is to give the 'security>=user' code a straight paper
path.  Security=share will sill call authorise_login(), but otherwise we avoid
that mess.

This allow *much* more accurate error code reporting, beocuse we don't start
pretending that we can use the (nonexistant) password etc.

Also in this patch is code to create the 'homes' share at session setup time
(as we have done in the past - been broken recently) and to record this on
the user's vuser struct for later reference.  The changes here should also
allow for much better use of %H (some more changes to come here).

The service.c changes move a lot of code around, but are not as drastric
as they look...

(Also included is a fix to srv_srvsvc_nt.c where 'total_entries' not
'*total_entries' was compared).

This code is needs testing, but passes my basic tests.

I expect we have lost some functionality, but the stuff I had expected
to loose was already broken before I started.  In particular, we don't 'fall
back' to guest if the user cannot access a share (for security=user).  If you
want this kind of stuff then you really want security=share anyway.

Andrew Bartlett
source/include/smb.h
source/lib/substitute.c
source/param/loadparm.c
source/passdb/pdb_get_set.c
source/rpc_server/srv_srvsvc_nt.c
source/smbd/password.c
source/smbd/service.c