summaryrefslogtreecommitdiff
path: root/source3/include/passdb.h
AgeCommit message (Collapse)AuthorFilesLines
2004-03-091) Two new functions to trust passwords interface in passdb:Rafal Szczesniak1-1/+9
settrustpwent, gettrustpwnam 2) Implementation of another couple of these functions in tdbsam: settrustpwent, gettrustpwnam, gettrustpwsid 3) Testing (mostly for now) usage of the interface in pdbedit which is soon to be offline tool back again. This is quite a new code, so many changes will be put in soon. rafal (This used to be commit 2ed23fbce846f9710747d72aa98c20d54894d61e)
2004-03-02fix typo for callback bitJim McDonough1-1/+1
(This used to be commit c1b1a1961f19e2fba680d48e41d0b29cdfd6d39c)
2004-03-01Ok here it is my latest work on privilegesSimo Sorce1-0/+20
This patch add privilege support for samba Currently it is implemented only for tdbsam backend but estending it to other sam backends is straightforward. I must make a big thank to JFM for his teachings on the matter and the functions at the base of this work. At thye moment only samr_create_user honours SeAddUsersPrivilege and SeMachineAccountPrivilege to permit any user to add machines and/or users to the server. The command "net priv" has been provided to manipulate the privileges database. There are still many things to do (like support in "net rpc vampire") but the working core is here. Feel free to comment/extend on this work. Of course I will deny that any bug may affect this code :-) Simo. This patch adds also my patch about add share command enhancements. (This used to be commit 7a78c3605e203bd8e0d7ae244605f076a5d0b0bc)
2004-02-29Apply my experimental aliases support to HEAD. This will be a bit difficult toVolker Lendecke1-0/+28
merge to 3_0, as the pdb interfaces has changed a bit between the two. This has not been tested too severly (which means it's completely broken ;-), but I want it in for review. Feel free to revert it :-) TODO: make 'net groupmap' a bit more friendly for alias members. Put that stuff into pdb_ldap. Getting the information over to winbind. One plan without linking pdb into winbind would be to fill group_mapping.tdb with the membership information and have that as a cache (or use gencache.tdb?). smbd on a PDC or stand-alone could trigger that itself, the problem is a BDC using LDAP. This needs to do it on a regular basis. The BDC smbd needs to be informed about SAM changes somehow... Volker (This used to be commit 30ef8fe1e85c0ca229b54f3f1595c4330f7191d1)
2004-02-19Add bad password time fieldsJim McDonough1-0/+2
(This used to be commit 9f496e113c60bde1746c7f1063e83735117b2fe8)
2004-02-12More sync between HEAD and SAMBA_3_0Jim McDonough1-1/+1
- passdb.h: replace UNKNOWN_3 with FIELDS_PRESENT - parse_samr.c: put comment back in...seems like we shouldn't lose info like this (This used to be commit 6b9efd2f4cd5cf042e2a04a08719a9fe83d54116)
2004-01-191. The most part of this patch changed the unknown_3 flag to the now knownSimo Sorce1-1/+37
meaning of fields_present bit mask. Also avoid it being saved in backends (0 is saved where removing the unit32 would have produced a format change). Also add support in samr functions to correctly interpret the flags. Flags still not set properly (eg. still set all flags 0xffffff as previous code), need a tool to test this properly (I',ve done preliminary tests with samba4 rpc torture and it seem to work properly against w2k). 2. Patch for handlig the flag user must change password at next logon in usrmgr based on Jianliang Lu <j.lu@tiesse.com> patch (This used to be commit 78975e9483e64412e436c5dbfe2b71e20b79de29)
2004-01-07Prototype version of trust passwords moved to SAM/pdb. This isRafal Szczesniak1-1/+54
backend-independent part ie. interface - does build and (it seems) doesn't break anything else. rafal (This used to be commit 9ce6dc6476202d9db6ea1c2deab93e454e4db546)
2004-01-05Merge commit to 3_0: add pdb_pgsqlJelmer Vernooij1-0/+2
(This used to be commit 61cbd5c9be1962d0c33c28ff472a2f82d3aa2a80)
2003-11-20Typo fix.Rafal Szczesniak1-2/+2
(This used to be commit d1394f02cb0e369701217ce6610f4efe54438c3a)
2003-10-31Whitespace syncup with 3.0Tim Potter1-7/+7
(This used to be commit 9746ef376d2a52ef6ef6b84421d6b7e988a6ca13)
2003-10-13So here it is a non-intrusive patch with my latest work on gums (theSimo Sorce1-8/+69
laternative to the current passdb). Currently it is run through a comatibility module in the passdb layer, with a subset of the functionality it may provide. It is still work in progress, but as someone asked me about it, and as it should make no difference to the normal code, I tought it was a good idea to put it into. It adds a dependency on perl. I know it is not very nice, but I'm sure we will work out a solution for that. As always blame me if I break something, but try to fix yourself, as I am busy-busy-busy :-) Simo. (This used to be commit 7b3c94b5cfc1a9ceb430613353a937345f2eda74)
2003-09-18The "unknown_5" 32 bit field in the user structs is actually 2 16-bitJeremy Allison1-2/+6
fields, bad_password_count and logon_count. Ensure this is stored/fetched in the various SAMs. As it replaces the unknown_5 field this fits exactly into the tdb SAM without any binary problems. It also is added to the LDAP SAM as two extra attributes. It breaks compatibility with the experimental SAMs xml and mysql. The maintainers of these SAMs must fix them so upgrades like this can be done transparently. I will insist on the "experimental" status until this is solved. Jeremy. (This used to be commit 71ecd10181cd35313b79f618c2928c2f45424812)
2003-07-16trying to get HEAD building again. If you want the codeGerald Carter1-14/+13
prior to this merge, checkout HEAD_PRE_3_0_0_BETA_3_MERGE (This used to be commit adb98e7b7cd0f025b52c570e4034eebf4047b1ad)
2003-05-06restore structures from previous erroneous commitSimo Sorce1-22/+30
(This used to be commit 58d284bd06f5893a752c1f22828715f8bd130c82)
2003-05-04move some things aroundSimo Sorce1-30/+167
(This used to be commit a4fc9c3b2dfbdbb3f75bf38415741ff66dbe1367)
2003-04-29ok next_rid out as well local_*id_to*id functionsSimo Sorce1-2/+2
reverted user making function, did not pass the abartlet test :-) idmap is now fully integrated, we only miss user creation and removal of uid and gid from SAM_ACCOUNT (This used to be commit 67af8c26586c4829166795813a373bf9be27b753)
2003-01-02BIG patch...Andrew Bartlett1-1/+1
This patch makes Samba compile cleanly with -Wwrite-strings. - That is, all string literals are marked as 'const'. These strings are always read only, this just marks them as such for passing to other functions. What is most supprising is that I didn't need to change more than a few lines of code (all in 'net', which got a small cleanup of net.h and extern variables). The rest is just adding a lot of 'const'. As far as I can tell, I have not added any new warnings - apart from making all of tdbutil.c's function const (so they warn for adding that const string to struct). Andrew Bartlett (This used to be commit 92a777d0eaa4fb3a1c7835816f93c6bdd456816d)
2002-11-15Use smb_register_passdb() - plus some small fixesJelmer Vernooij1-7/+0
(This used to be commit 2addbaff358993923a58ad3845c63168678c2c21)
2002-11-15Add smb_register_passdb()Jelmer Vernooij1-0/+1
(This used to be commit b5b3b2e6bef431c9c30dc8f2899dc22328801c0e)
2002-10-21This moves the group mapping API into the passdb backend.Volker Lendecke1-1/+47
Currently this calls back to mapping.c, but we have the framework to get the information into LDAP and the passdb.tdb (should we? I think so..). This has received moderate testing with net rpc vampire and usrmgr. I found the add_groupmem segfault in add_aliasmem as well, but that will be another checkin. Volker (This used to be commit f30095852fea19421ac8e25dfe9c5cd4b2206f84)
2002-10-12Nice *big* patch from metze.Andrew Bartlett1-1/+1
The actual design change is relitivly small however: It all goes back to jerry's 'BOOL store', added to many of the elements in a SAM_ACCOUNT. This ensured that smb.conf defaults did not get 'fixed' into ldap. This was a great win for admins, and this patch follows in the same way. This patch extends the concept - we don't store values back into LDAP unless they have been changed. So if we read a value, but don't update it, or we read a value, find it's not there and use a default, we will not update ldap with that value. This reduced clutter in our LDAP DB, and makes it easier to change defaults later on. Metze's particular problem was that when we 'write back' an unchanged value, we would clear any muliple values in that feild. Now he can still have his mulitivalued 'uid' feild, without Samba changing it for *every* other operation. This also applies to many other attributes, and helps to eliminate a nasty race condition. (Time between get and set) This patch is big, and needs more testing, but metze has tested usrmgr, and I've fixed some pdbedit bugs, and tested domain joins, so it isn't compleatly flawed ;-). The same system will be introduced into the SAM code shortly, but this fixes bugs that people were coming across in production uses of Samba 3.0/HEAD, hence it's inclusion here. Andrew Bartlett (This used to be commit 7f237bde212eb188df84a5d8adb598a93fba8155)
2002-09-26forgot include file, sorrySimo Sorce1-14/+14
(This used to be commit 67d600ed8ed1cdd25503fdb2299bdfa93befee1f)
2002-08-07Add 'const' to the function prototypes to match the recent commit.Andrew Bartlett1-2/+2
(This used to be commit 0118e459b603a991f23d48cfd7f5e68c4374f950)
2002-06-22Add module versioning to the passdb module systemAndrew Bartlett1-0/+14
All passdb modules need to include a 'magic' macro that creates simple 'return my version number' function. (from metze and jelmer) Also fix up the dir_drive autosubsitute code to correctly use lp_logon_drive(). (from metze) Andrew Bartlett (This used to be commit 4a57c445dd4354034fc41b132a484afe6ab66e16)
2002-05-26change: pdb_getsampwrid() ->pdb_getsampwsid()Simo Sorce1-2/+2
passdb interface change, now the passdb modules will be asked for SID not for rid, the modules have been updated with a passthrough function that calls the old getsampwrid() functions. srv_samr_nt.c functions that made use of the pdb_getsampwrid funcion has been updated to use the SID one. (This used to be commit f5c6496c33fa7f5c2826540ffb4a49d8a5790fb3)
2002-05-24Don't duplicat this here, use the existing function prototype.Andrew Bartlett1-4/+2
(This used to be commit 18c6db6a0014fd23383361485ec03eb871a85faa)
2002-05-18Oops, I missed commiting this earlier.Andrew Bartlett1-3/+3
The idea is that pdb_add_sam_account() should have a non-const SAM_ACCOUNT, and update some of the the properties generated during the add. Andrew Bartlett (This used to be commit b014d9ae4bc38d83d474888b73d350a62704341f)
2002-05-17indentAndrew Bartlett1-2/+2
(This used to be commit 173aac4a810782dddc85494c328a6917cb3fe0c2)
2002-04-13This is the 'multiple pdb backends' patch from ctrlsoft, aka Jelmer VernooijAndrew Bartlett1-9/+15
<jelmer@nl.linux.org>. This patch also includes major rework of pdbedit to use popt, and the addition of -i paramter (allowing the user to specify which PDBs is being operated on) and -e to export a pdb - useful for backup and testing etc. Use of -i and -e gets us pdb2pdb functionality for transition between backends, much like the sam2sam in TNG. Andrew Bartlett (This used to be commit c10def37f506d3f2bab442418ac08fdb62659b02)
2002-03-19second step to gain free uid<->rid mappingSimo Sorce1-8/+0
we still need to free gid<->rid mapping and few other stuff (This used to be commit aa4b6f8181f34196a28951264dd8b631a5deef7f)
2002-03-19ops forgot this :-)Simo Sorce1-0/+8
(This used to be commit fdb88eb06af09171af2027a90ef6f3ac872beaee)
2002-02-22Add the pdb_plugin module from Jelmer Vernooij <jelmer@nl.linux.org>.Andrew Bartlett1-1/+4
This allow the user to select 'passdb backend = plugin : /path/to/plugin.so : pluging args' And load any arbitary plugin. Apparently Jelmer has a mysql plugin in the works - hence this patch. We probably need to rework the interface a bit before 3.0 (add versioning of some kind) but this is a good start. Andrew Bartlett (This used to be commit d6d18b70f0c377344b0b3d9df5a11d209793bfe0)
2002-01-30Removed version number from file header.Tim Potter1-2/+1
Changed "SMB/Netbios" to "SMB/CIFS" in file header. (This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
2002-01-26This always points at a string literal, so it probably should be 'const'.Andrew Bartlett1-1/+1
(This used to be commit e72e511935ce7f2b658a133bd536833864bc6a92)
2002-01-20This is another *BIG* change...Andrew Bartlett1-0/+67
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. (This used to be commit ff354c99c585068af6dc1ff35a1f109a806b326b)
2002-01-02removed stuff I wasn't usingGerald Carter1-49/+0
(This used to be commit 27ffce157a655e267f225126f586847e5a0b8614)
2001-04-28rpcclient merge from 2.2 (including Jeremy's non-void return fix)Gerald Carter1-1/+1
(This used to be commit 0a6ceed279cc8111008b21f75c6791efbd993f4b)
2001-04-12forgot one thingGerald Carter1-0/+4
(This used to be commit a17f2471571596e97b212ff9de1c8b45dac12eb6)
2001-04-12still working on itGerald Carter1-6/+13
(This used to be commit ff7c5be88a05c0f1858fedb966ccfc038299bbc9)
2001-04-09looking towards abstracting the passdb and uidmapping interfaces.Gerald Carter1-0/+66
This is more of a note to myself. In not used anywhere yet. (This used to be commit 442605c6bc81dd115f4df5cc20df3f61601c6013)