summaryrefslogtreecommitdiffstats
path: root/source
Commit message (Collapse)AuthorAgeFilesLines
* Inititialise the gid to what standard_sub_advanced wants for 'no value'.Andrew Bartlett2002-01-201-1/+1
| | | | Andrew Bartlett
* Fix the negation of the extra parinoia check on machine password changes.Andrew Bartlett2002-01-201-1/+1
| | | | | | I *love* automated testing - this one got picked up by the build farm. Andew Bartlett
* Spelling fixes.Tim Potter2002-01-203-13/+15
|
* fixes from 2.2Simo Sorce2002-01-201-93/+127
|
* This is another *BIG* change...Andrew Bartlett2002-01-2021-637/+1267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Samba now features a pluggable passdb interface, along the same lines as the one in use in the auth subsystem. In this case, only one backend may be active at a time by the 'normal' interface, and only one backend per passdb_context is permitted outside that. This pluggable interface is designed to allow any number of passdb backends to be compiled in, with the selection at runtime. The 'passdb backend' paramater has been created (and documented!) to support this. As such, configure has been modfied to allow (for example) --with-ldap and the old smbpasswd to be selected at the same time. This patch also introduces two new backends: smbpasswd_nua and tdbsam_nua. These two backends accept 'non unix accounts', where the user does *not* exist in /etc/passwd. These accounts' don't have UIDs in the unix sense, but to avoid conflicts in the algroitmic mapping of RIDs, they use the values specified in the 'non unix account range' paramter - in the same way as the winbind ranges are specifed. While I was at it, I cleaned up some of the code in pdb_tdb (code copied directly from smbpasswd and not really considered properly). Most of this was to do with % macro expansion on stored data. It isn't easy to get the macros into the tdb, and the first password change will 'expand' them. tdbsam needs to use a similar system to pdb_ldap in this regard. This patch only makes minor adjustments to pdb_nisplus and pdb_ldap, becouse I don't have the test facilities for these. I plan to incoroprate at least pdb_ldap into this scheme after consultation with Jerry. Each (converted) passdb module now no longer has any 'static' variables, and only exports 1 init function outside its .c file. The non-unix-account support in this patch has been proven! It is now possible to join a win2k machine to a Samba PDC without an account in /etc/passwd! Other changes: Minor interface adjustments: pdb_delete_sam_account() now takes a SAM_ACCOUNT, not a char*. pdb_update_sam_account() no longer takes the 'override' argument that was being ignored so often (every other passdb backend). Extra checks have been added in some places. Minor code changes: smbpasswd no longer attempts to initialise the passdb at startup, this is now done on first use. pdbedit has lost some of its 'machine account' logic, as this behaviour is now controlled by the passdb subsystem directly. The samr subsystem no longer calls 'local password change', but does the pdb interactions directly. This allow the ACB_ flags specifed to be transferred direct to the backend, without interference. Doco: I've updated the doco to reflect some of the changes, and removed some paramters no longer applicable to HEAD.
* Kill off another ugly wart from the side of the passdb subsystem.Andrew Bartlett2002-01-208-70/+23
| | | | | | | | | | | | | This time its the pdb_getsampwuid() function - which was only being used by the SAMR rpc subsystem to gain a 'user session key'. This 'user session key' is actually generated at login time, and the other changes here simply move that data around. This also means that (when I check some details) we will be able to use the user session key, even when we are not actually the DC, becouse its one of the components of the info3 struct returned on logon. Andrew Bartlett
* Fix up an embarrsing bug I introduced when I moved the id21/id23 -> SAM_ACCOUNTAndrew Bartlett2002-01-201-20/+40
| | | | | | | | | conversion across to the pdb_set...() interface. Now we only set strings that are non-null. This allows Win2k to join the domain again, particularly when using tdbsam. Andrew Bartlett
* Kill off the old varient of 'check_plaintext_password' (new version justAndrew Bartlett2002-01-202-103/+28
| | | | | | | committed in auth/auth_compat.c and use the new version to make the plaintext password change slightly sane... (Needs testing). Andrew Bartlett
* Add a touch of 'const' to some auth components, and move the simple plaintextAndrew Bartlett2002-01-202-32/+41
| | | | | | | password check into its own helper funciton. (This will allow it to be called from other places). Andrew Bartlett
* Fix a couple of memory leaks in the cli_establish_connection() code's failureAndrew Bartlett2002-01-201-0/+2
| | | | | | | | case. Thanks to Nigel Williams <nigel@wednesday.demon.co.uk> for spotting these! Andrew Bartlett
* This is the current patch from Luke Leighton <lckl@samba-tng.org> to add aAndrew Bartlett2002-01-209-95/+341
| | | | | | | | | | | | | | | | | | degree of seperation betwen reading/writing the raw NamedPipe SMB packets and the matching operations inside smbd's RPC components. This patch is designed for no change in behaviour, and my tests hold that to be true. This patch does however allow for the future loadable modules interface to specify function pointers in replacement of the fixed state. The pipes_struct has been split into two peices, with smb_np_struct taking the information that should be generic to where the data ends up. Some other minor changes are made: we get another small helper function in util_sock.c and some of the original code has better failure debugs and variable use. (As per on-list comments). Andrew Bartlett
* This patch makes the 'winbind use default domain' code interact better withAndrew Bartlett2002-01-2016-148/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | smbd, and also makes it much cleaner inside winbindd. It is mostly my code, with a few changes and testing performed by Alexander Bokovoy <a.bokovoy@sam-solutions.net>. ab has tested it in security=domain and security=ads, but more testing is always appricatiated. The idea is that we no longer cart around a 'domain\user' string, we keep them seperate until the last moment - when we push that string into a pwent on onto the socket. This removes the need to be constantly parsing that string - the domain prefix is almost always already provided, (only a couple of functions actually changed arguments in all this). Some consequential changes to the RPC client code, to stop it concatonating the two strings (it now passes them both back as params). I havn't changed the cache code, however the usernames will no longer have a double domain prefix in the key string. The actual structures are unchanged - but the meaning of 'username' in the 'rid' will have changed. (The cache is invalidated at startup, so on-disk formats are not an issue here). Andrew Bartlett
* Ensure identical between 2.2.3 and 3.0 - no need for difference here..Jeremy Allison2002-01-201-1/+0
| | | | Jeremy.
* Fix file size calculations for write cache code.Jeremy Allison2002-01-201-5/+41
| | | | Jeremy.
* Attempt to fix bugs in write cache code (yes I know it's going away :-).Jeremy Allison2002-01-202-3/+21
| | | | Jeremy.
* Readline has problems on non tty fd's. Use readline replacement to in casesJeremy Allison2002-01-191-31/+32
| | | | | where stdin is !isatty to allow stripts to work. Jeremy.
* Added #ifdef for FreeBSD TCP bug.Jeremy Allison2002-01-191-0/+4
| | | | Jeremy.
* Report write fail in smb_dump.Jeremy Allison2002-01-191-1/+3
| | | | Jeremy.
* Fix to close winbindd_idmap on exit. Pointed out by Alexander Bokovoy.Jeremy Allison2002-01-193-0/+10
| | | | Jeremy.
* fixes (asprintf) from 2.2Simo Sorce2002-01-195-17/+24
|
* Don't do tridge's crazy 'am I a trusted domain' lookup for guests.Andrew Bartlett2002-01-181-9/+12
| | | | Andrew Bartlett
* Ensure (C) message is output on startup.Jeremy Allison2002-01-182-4/+4
| | | | Jeremy.
* If 127.0.0.1 matches both allow & deny then allow. Patch from Steve Langasek ↵Jeremy Allison2002-01-181-1/+7
| | | | | | vorlon@netexpress.net Jeremy.
* This is the 'winbind default domain' patch from Alexander BokovoyAndrew Bartlett2002-01-1810-50/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <a.bokovoy@sam-solutions.net>. The idea is the domain\username is rather harsh for unix systems - people don't expect to have to FTP, SSH and (in particular) e-mail with a username like that. This 'corrects' that - but is not without its own problems. As you can see from the changes to files like username.c and wb_client.c (smbd's winbind client code) a lot of assumptions are made in a lot of places about lp_winbind_seperator determining a users's status as a domain or local user. The main change I will shortly be making is to investigate and kill off winbind_initgroups() - as far as I know it was a workaround for an old bug in winbind itself (and a bug in RH 5.2) and should no longer be relevent. I am also going to move to using the 'winbind uid' and 'winbind gid' paramaters to determine a user/groups's 'local' status, rather than the presence of the seperator. As such, this functionality is recommended for servers providing unix services, but is currently less than optimal for windows clients. (TODO: remove all references to lp_winbind_seperator() and lp_winbind_use_default_domain() from smbd) Andrew Bartlett
* Tidyup & code refactoring from Martin.Sheppard@csiro.au.Jeremy Allison2002-01-181-26/+23
| | | | Jeremy.
* Ensure we log tdb open fails. Patch from Alexander Bokovoy ↵Jeremy Allison2002-01-181-4/+2
| | | | | | <a.bokovoy@sam-solutions.net> Jeremy.
* Added prs_mem_clear(). Clear memory on buffer reallocation. That wayJeremy Allison2002-01-182-11/+19
| | | | | we're not returning what the client gave us. Jeremy.
* Always clear malloced memory for parse structs.Jeremy Allison2002-01-181-0/+1
| | | | Jeremy.
* A nice *big* change to the fundemental way we do things.Andrew Bartlett2002-01-1719-72/+243
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Samba (ab)uses the returns from getpwnam() a lot - in particular it keeps them around for a long time - often past the next call... This adds a getpwnam_alloc and a getpwuid_alloc to the collection. These function as expected, returning a malloced structure that can be free()ed with passwd_free(&passwd). This patch also cuts down on the number of calls to getpwnam - mostly by taking advantage of the fact that the passdb interface is already case-insensiteve. With this patch most of the recursive cases have been removed (that I know of) and the problems are reduced further by not using the sys_ interface in the new code. This means that pointers to the cache won't be affected. (This is a tempoary HACK, I intend to kill the password cache entirly). The only change I'm a little worried about is the change to rpc_server/srv_samr_nt.c for private groups. In this case we are getting groups from the new group mapping DB. Do we still need to check for private groups? I've toned down the check to a case sensitve match with the new code, but we might be able to kill it entirly. I've also added a make_modifyable_passwd() function, that copies a passwd struct into the form that the old sys_getpw* code provided. As far as I can tell this is only actually used in the pass_check.c crazies, where I moved the final 'special case' for shadow passwords (out of _Get_Pwnam()). The matching case for getpwent() is dealt with already, in lib/util_getent.c Also included in here is a small change to register the [homes] share at vuid creation rather than just in one varient of the session setup. (This picks up the SPNEGO cases). The home directory is now stored on the vuid, and I am hoping this might provide a saner way to do %H substitions. TODO: Kill off remaining Get_Pwnam_Modify calls (they are not needed), change the remaining sys_getpwnam() callers to use getpwnam_alloc() and move Get_Pwnam to return an allocated struct. Andrew Bartlett
* Move the bang (!) command back to the bottom of the list, allowing smbclientAndrew Bartlett2002-01-171-1/+3
| | | | | | | | | to function again. Add comment to warn anybody that wants to 'Alphabetize' the list to read crh's existing comment on the issue. Andrew Bartlett
* Made a debug look nicer.Tim Potter2002-01-171-1/+2
|
* Added some guards.Tim Potter2002-01-171-0/+4
|
* Fixed typo.Tim Potter2002-01-171-1/+1
|
* fixed a typo in the error map for WRONG_PASSWORDAndrew Tridgell2002-01-171-1/+1
|
* don't use O_NONBLOCK in open(). This was added erroneously for kernelAndrew Tridgell2002-01-171-4/+0
| | | | oplocks and really shouldn't be used
* Separate out get_user_home_dir() from get_user_home_service_dir().Jeremy Allison2002-01-164-44/+51
| | | | Jeremy.
* Merged in %S fixes and XX_NOT_CHANGED fixes from 2.2.Jeremy Allison2002-01-164-27/+67
| | | | Jeremy.
* Fixup error mapping so we have only one table containing errno -> dos error ↵Jeremy Allison2002-01-164-66/+48
| | | | | | | -> NT STATUS maps. Fixes problem with disk full returning incorrect error. Jeremy.
* Alphabetize.Jeremy Allison2002-01-161-3/+3
| | | | Jeremy.
* Added CIFS UNIX extension code to client.Jeremy Allison2002-01-163-0/+316
| | | | Jeremy.
* Fix name register bug with non-existent wins server.Jeremy Allison2002-01-161-32/+29
| | | | Jeremy.
* At leadt don't lose this - I need to re-sync trans2.c between 2.2.x andJeremy Allison2002-01-161-27/+66
| | | | | HEAD soon. Jeremy.
* Roll back PSTRING_SANCTIFY patch; just leave non-controversial typeMartin Pool2002-01-165-59/+30
| | | | and constness changes.
* Quieten some pointer cast warnings.Tim Potter2002-01-161-3/+4
|
* much better support for organisational units in ADS joinAndrew Tridgell2002-01-163-15/+53
|
* Roll back PSTR insertion.Martin Pool2002-01-161-23/+21
| | | | | Just leave the fstrcpy/pstrcpy bugfix, and conversion to pstr_sprintf rather than manual calculation of length.
* Merge of name_status_find() debugs.Tim Potter2002-01-161-5/+18
|
* Fix from 2.2. It didn't break on HEAD because it isn't being compiled. Herb?Jim McDonough2002-01-151-10/+10
|
* Missing assign fix from Bernt Nilsson bkn@ida.liu.se.Jeremy Allison2002-01-151-1/+1
| | | | Jeremy.
* For some reason I wasn't thinking about failure cases this morning...Andrew Bartlett2002-01-151-0/+72
| | | | | | | Anyway, this makes it slightly sane, but we may decide to smb_panic() here instead. Andrew Bartlett