| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Changed "SMB/Netbios" to "SMB/CIFS" in file header.
|
|
|
|
| |
Sometimes an open error is OK.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
<a.bokovoy@sam-solutions.net>
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
|
| |
Merge SAFE_FREE fix in tdb from 2.2, and IRIX fix.
Jeremy.
|
| |
|
| |
|
| |
|
|
|
|
| |
Jeremy
|
| |
|
|
|
|
| |
Jeremy.
|
|
|
|
| |
Jeremy.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
up front, rather than working on the stack and then copying across.
|
| |
|
|
|
|
|
| |
just returning. I don't think this would leak at the moment, but it's
an accident waiting to happen.
|
| |
|
|
|
|
| |
just say "tdb" not "&tdb".
|
|
|
|
| |
tdb, to be consistent with the rest of the code.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Jeremy.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Jeremy.
|
|
|
|
| |
command.
|
|
|
|
|
| |
print_asc(): Don't try to print a trailing NULL character
print_key(), print_rec(): Display key in ASCII
|
| |
|
|
|
|
| |
so that tdbtool can be compiled without having to make clean.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Jeremy.
|
| |
|
|
|
|
|
|
| |
change these timestamp settings without good reason.
Remove CLEAR_IF_FIRST flag is tdb is read-only.
Jeremy.
|
| |
|