summaryrefslogtreecommitdiff
path: root/source3/include/passdb.h
AgeCommit message (Collapse)AuthorFilesLines
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)