Age | Commit message (Collapse) | Author | Files | Lines |
|
Sometimes an open error is OK.
(This used to be commit 5fb3be62910faf91e0e8381ba91f314f2092cb8e)
|
|
(This used to be commit 96c36e51ee4df4c46e5e9e611844dfa83260f606)
|
|
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)
|
|
<a.bokovoy@sam-solutions.net>
Jeremy.
(This used to be commit eb99e7f29c2d6041054331425cb245da86bedaa4)
|
|
Jeremy.
(This used to be commit 4f703b84cd7f258ae0169d52ca761b9404ccb348)
|
|
Jeremy.
(This used to be commit 1233b553e78b8d7580b9ea4f1bba62c78b4cd186)
|
|
Jeremy.
(This used to be commit d57fb9a8c25a95e434cb5fb3d63a87d98abeefef)
|
|
Jeremy.
(This used to be commit a0cdec3acc82d1ce0292fadd4b8dac23638450f3)
|
|
Merge SAFE_FREE fix in tdb from 2.2, and IRIX fix.
Jeremy.
(This used to be commit eb6607466565bcd5b3800492d0bc1ae8a44da4f6)
|
|
(This used to be commit 65e857b36e170e3ecd78bf6695ae73342e9c04cd)
|
|
(This used to be commit 79feca4d25aaa7e15553a10707efdb3003fed9cf)
|
|
(This used to be commit 412e79c448bf02e3097b5c14a36fe0172d8d2895)
|
|
Jeremy
(This used to be commit 1d2504b5c76bf23ac49a401adce8a49f193bc22c)
|
|
(This used to be commit fe0db4c55f8bfc70004edd60a29359337fa40723)
|
|
Jeremy.
(This used to be commit 9e3581827d91f5fd33fabd5ad4c9a79d63355731)
|
|
Jeremy.
(This used to be commit b03aaddcf35dee93556013eaac9d99bc0f22256a)
|
|
(This used to be commit 6c684c89a4e6e212476335ee57c3b616015598f8)
|
|
(This used to be commit caa08bb56e2dc533c3754f90f6139fe04a317545)
|
|
(This used to be commit 8118676f780a80662f28c3cc1a74cc12d0e1ef51)
|
|
(This used to be commit b50e566ab93e9a8068e26c9c902db81311cb394c)
|
|
(This used to be commit a228c7efcc06b901ca51a6da77f8a52b77912f55)
|
|
up front, rather than working on the stack and then copying across.
(This used to be commit b1d7d800680f77e02185bb237982b284414aac1e)
|
|
(This used to be commit 52ef112e10dbe273b6e66c4a5081f468e4630b7d)
|
|
just returning. I don't think this would leak at the moment, but it's
an accident waiting to happen.
(This used to be commit fe901ec194d1b8ef94386b097e72508075eb8a54)
|
|
(This used to be commit bb6c0df4bc4eb8ce789886ec17e434dc27bb34b0)
|
|
just say "tdb" not "&tdb".
(This used to be commit fac685d30f58c25d73d1690ed008c797291558e4)
|
|
tdb, to be consistent with the rest of the code.
(This used to be commit d159415049c25caeaf01b6bc947da3472c54d1f8)
|
|
(This used to be commit d902baf70970f0358e825cd520b1794fd46465f0)
|
|
(This used to be commit c4f5a6c65d7dd933e9d6faf14ebf6afcf5232a1e)
|
|
18.
when you're looking at a level 10, and it's all clutered with
tdb_pack/unpack, it's getting .... And anyway most of our code using
tdb_pack/unpack have DEBUG around the call if there is a problem.
J.F.
(This used to be commit 7e20fad5ed00be4594bfc45603db89d600f46c55)
|
|
Jeremy.
(This used to be commit 837f2b961b1e7dcd6998f36d58d2059290e89e18)
|
|
(This used to be commit 3dbb5dfcfb29671f136d1ed6c865362eaf027446)
|
|
(This used to be commit 58cfea3c2aba5a8309e4084ec8df0cfcb48a4075)
|
|
(This used to be commit 0c22a10d738041b3dc0c92d8ea060a86de769563)
|
|
(This used to be commit fc176f15f27686049453552219b56b9de33ceffa)
|
|
as it was, and add tdb_open_ex() which takes a log callback. I guess
this makes more sense since it's a public interface.
(This used to be commit 391a65395e6cdc0300f81eb1072a3366cacd1203)
|
|
- tdb_open api changed so that you now pass an error handling
callback when opening the file, so that errors detected during
opening have somewhere to go. (All calls from the body of Samba to
this function go through a wrapper in tdbutil, which has been
updated.)
- Clean up logic for deciding how to open tdb. Emit log messages if
something goes wrong (e.g. bad magic.)
- tdbtool now logs errors to stderr.
(This used to be commit 0aa800618eab1043d802c04fb1d125cd07936769)
|
|
(This used to be commit e9085129ddf15d499d77c77694c05b028593718c)
|
|
database, but no underlying system call sets errno.
The particular case I had was a mangled .tdb, but there are others.
For this one, set EIO. It's a shame Unix messages aren't more
detailed -- "bad data format" would be better.
(This used to be commit 5630a988be05c21b60aba6304d4aaadce6024817)
|
|
Jeremy.
(This used to be commit 2a7bd621b400173d61bb0adab3eded0baeb48d0b)
|
|
command.
(This used to be commit a1cf70ab65058258e56ffcff5b28087b29425b1c)
|
|
print_asc(): Don't try to print a trailing NULL character
print_key(), print_rec(): Display key in ASCII
(This used to be commit 303b3a35951211775a4e87bcca47cc21236aa422)
|
|
(This used to be commit 1d2305c233ef40ccb016688f918e34392d1a691e)
|
|
so that tdbtool can be compiled without having to make clean.
(This used to be commit dad688d8c6b3c98173a846ad833599a4016d2e1a)
|
|
means that a read-write opener and a read-only opener are using different
locking mechanisms - this needs to be addressed, but it's hard as the
read-write opener using the spinlocks is usually first, so there's no
way to force them to change down to the fcntl method.
Read only access is less important anyway and can never corrupt the
tdb anyway, so errors in read-only record reads are more tolerable.
Jeremy
(This used to be commit 21f776df5932e024a0d1fef9097377d35b5cf511)
|
|
Jeremy.
(This used to be commit 2b135fba625191a13e4110c68531a0e6d5fb373d)
|
|
(This used to be commit 6612abf8270c9c697fdb528aba3af07ea5be7f33)
|
|
change these timestamp settings without good reason.
Remove CLEAR_IF_FIRST flag is tdb is read-only.
Jeremy.
(This used to be commit a71d9d98b013a6c30fd85524b7cdc929bdbd9bcb)
|
|
(This used to be commit 2f44756233e2655856f003bb15c3898118756b98)
|
|
(This used to be commit b8d9d1fca3eec5150fb9784f1d0157a82e60cebd)
|