1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-17 02:05:21 +03:00

212 Commits

Author SHA1 Message Date
Andrew Bartlett
6d66fb308a BIG patch...
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)
2003-01-02 09:07:17 +00:00
Simo Sorce
1a37c02890 it's getting comic ...
yet another missing piece :-O
(This used to be commit eb595efa7e6c260092478564e5fb3fdefcc120d8)
2002-12-17 01:38:48 +00:00
Jeremy Allison
7dd847ba9c Fixed auth module code. Added VALGRIND defines to reduce spurious warnings.
Jeremy.
(This used to be commit ff3a8d37289216a2cb808406044a7abef1e564d0)
2002-12-11 23:54:46 +00:00
Jeremy Allison
f023d6129b Lots of fixes for error paths where tdb_fetch() data need freeing.
Found via a post from Arcady Chernyak <Arcady.Chernyak@efi.com>.
Jeremy.
(This used to be commit 19f86f1f72aca924e9e320e20a175b5d21de45ad)
2002-11-23 02:52:38 +00:00
Jeremy Allison
02c58f3fb9 Add chainlock_read functions to get a read lock. Used in *massively*
contended tdb's (and I've got one :-).
Jeremy.
(This used to be commit 064fa201ab73f476a168c40c2b227507e7342ec4)
2002-11-09 03:37:01 +00:00
Jeremy Allison
47955b2f6c Merge of scalable printing code fix... Needs testing.
Also tidied up some of Richard's code (I don't think he uses the compiler
flags -g -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual like
I do :-) :-).
Jeremy.
(This used to be commit 10024ed06e9d91f24fdc78d59eef2f76bf395438)
2002-11-07 02:38:42 +00:00
Jeremy Allison
9c94d1a2f7 Add a timeout to tdb_lock_bystring(). Ensure we never have more than
MAX_PRINT_JOBS in a queue.
Jeremy.
(This used to be commit bb58a08af459b4abae9d53ab98c15f40638ce52b)
2002-10-04 22:53:30 +00:00
Jeremy Allison
c60f6f066e Make explicit the difference between a tdb key with no data attached, and
a non existent entry. Stop a malloc(0) being called in the first case.
Jeremy.
(This used to be commit ece9507ec3d363fccf56b000ad9758780a9b3fb4)
2002-09-26 21:00:25 +00:00
Volker Lendecke
7eb8c5e8d0 tdbdump also needs signal.h. Thanks to Guenther Deschner <gd@suse.de>
Volker
(This used to be commit a1bade0748fa46c6cb00e99d7022b21057679889)
2002-09-23 15:00:09 +00:00
Jeremy Allison
0ce509e2f5 tdb tools need #include <signal.h>
Jeremy.
(This used to be commit 7e19a6b7ade1e70aafa9be8a86665a49f592b6f4)
2002-09-19 17:36:29 +00:00
Jeremy Allison
8b46126a07 Never, *ever* hold a mutex lock in the message database where there may
be traversals being attempted. Yes, this was from bitter experience (and
an out of control server :-). Also allow callers to break out of a tdb_chainlock
with sigalarm if desired.
Jeremy.
(This used to be commit a7781f91d8c1177210bffc199cd2f3b7ff993eaf)
2002-09-17 23:45:21 +00:00
Andrew Tridgell
a6ace770eb ensure that we unlock in case we hit a tdb error
(This used to be commit 4aa7dfb7e7f4ad33b8768d20ec2eb9cb3fde6385)
2002-08-30 06:56:12 +00:00
Andrew Tridgell
ae10baa5fc don't report the faiilure of non-blocking locks. They are supposed to
fail sometimes, thats why they are non-blocking :)
(This used to be commit 775b918b8c63b1fcd9a8db1743505ab718978c19)
2002-07-15 03:51:53 +00:00
Jeremy Allison
25148a148c *Experimental* new large-scaling printer code. Splits printing.tdb into
a separate tdb per printer, but only keeps (currently one) tdb open at
a time (although this is easily changed by changing a #define). Needs
scalability testing with large numbers of printers now....
Jeremy.
(This used to be commit b0909cfa14fc7ef29d2b98b56d52723570da782a)
2002-07-11 00:06:29 +00:00
Andrew Tridgell
310e85d7fb don't backup to a newer file
(This used to be commit ae2f8aa9d0678aa0014d96fc8b1b52f42cba8349)
2002-06-28 03:52:22 +00:00
Tim Potter
8c64bd92bf Added tdb_delete_by_string() function.
(This used to be commit 0cd3952f408e2fcd2c833b9039dff4392ac16cf7)
2002-06-03 06:04:14 +00:00
Andrew Tridgell
c33cf24bcd auto-recover from the fairly common case of a non-clean tdb shutdown
while deleting a record. This leaves us with a non-free record on the
free list.
(This used to be commit e99b6a2b91e4022ce0a9a14415df71314b5e013f)
2002-05-22 01:32:12 +00:00
Jean-François Micouleau
9d0ff4b777 fixed tdbtool from core dumping. But the braces to make Chris happy !
J.F.
(This used to be commit d0eae50874ff6ddbf9fca24864e7638efb0936b1)
2002-04-30 16:54:14 +00:00
Jeremy Allison
dec3433303 Merge Herb's idmap endian fix.
Jeremy.
(This used to be commit 7ddad4061a1b7ed25e4d6471c7a1f8f97a98ed37)
2002-04-27 18:56:47 +00:00
Jeremy Allison
ca2e14ddc3 We cannot set errno=0 in any of the wrapper calls as this breaks UNIX error
returns to the client.
Jeremy.
(This used to be commit 1d66e53a64ec2878293e6d74a852b736ddab8f21)
2002-04-19 21:45:02 +00:00
Jeremy Allison
302b581ddc First cut at fix for the EINTR problem... More needs to be done I think.
Jeremy.
(This used to be commit 48475a7a697242b9fd7b1aec24389afb112569c4)
2002-04-19 02:08:52 +00:00
Andrew Tridgell
f70836df9e ignore a few more files
(This used to be commit 1c92fab4050f21b4c5cc962e0b80b5c551b24745)
2002-04-16 12:27:54 +00:00
Andrew Bartlett
cd58107e6e Extra file for the tdb search code (linked list definition).
Andrew Bartlett
(This used to be commit c3312006009f5b312b285e3e679d01719012f29d)
2002-04-14 09:45:09 +00:00
Andrew Bartlett
07e6ff5fcf Partly based on the work by mimir (Rafal Szczesniak
<mimir@diament.ists.pwr.wroc.pl>) this patch allows samba to correctly
enumerate its trusted domains - by exaimining the keys in the secrets.tdb file.

This patch has been tested with both NT4 and rpcclient/wbinfo, and adds
some extra functionality to talloc and rpc_parse to allow it to deal with
already unicode strings.

Finally, this cleans up some const warnings that were in net_rpc.c by pushing
another dash of const into the rpc client code.

Andrew Bartlett
(This used to be commit 0bdd94cb992b40942aaf2e5e0efd2868b4686296)
2002-04-14 09:44:16 +00:00
Andrew Bartlett
2248a88909 Make our atomic increment code actually do this during its first/second run.
The previous code would return the same value for both the initial and second
call, only incrementing on later calls.

Andrew Bartlett
(This used to be commit a4594d9efeca1f67dea57be8323fb4bd986318ce)
2002-04-13 03:23:08 +00:00
Jeremy Allison
4ad0ff29bf Added Shirish's client side caching policy change.
Jeremy.
(This used to be commit 16015c07eab2e57fa3771051e3e08fde21757cfa)
2002-04-10 01:04:13 +00:00
Tim Potter
45d3315e32 When printing a tdb log message display "unnamed" instead of "unknown" if
the tdb has not been named.
(This used to be commit 3e7985c60ee9888285769f1eb0ec81f764c26d91)
2002-04-09 23:03:17 +00:00
Simo Sorce
68518222a7 uint32 store and fectch functions, a signed int is not enough sometimes
(This used to be commit f07b2b3d5295202e0c8e530c43fae6d458b2cf2a)
2002-04-07 22:04:39 +00:00
Simo Sorce
4f80466480 better check of called function's return
tdbtorture say it's ok
(This used to be commit af0fa4cf7c229fb908063bfcc3cbb214dae5ed0e)
2002-04-07 22:02:09 +00:00
Jeremy Allison
67d21b5a4b Make winbindd_idmap tdb endian independent. This is very important for
sharing between machines with rsync.
Finally removed tdb_store_int/tdb_fetch_int.
Now only tdb_store_int32/tdb_fetch_int32 which are endian independent
are allowed.
Jeremy.
(This used to be commit 1c4a00dcc13f4a7c5876a5cf63ca730190d1132e)
2002-03-21 23:39:17 +00:00
Andrew Tridgell
ec4f138436 a bit more portability for tdbbackup
(This used to be commit 6edb5bea5f6dcbabe29f772c7ad7bcaaf2a72d53)
2002-03-11 00:01:54 +00:00
Andrew Tridgell
96300f6008 make tdbbackup more portable
(This used to be commit 9cc1dadfb09c2352ed188d668b02ccffaa009895)
2002-03-10 08:30:15 +00:00
Andrew Tridgell
34623e023a prevent bogus compiler complaints about comments in comments
(This used to be commit 73b3487daf4d7c65aac2c8ec150539791d19e1f5)
2002-03-10 01:46:56 +00:00
Andrew Tridgell
a47e103b85 added a bunch of explanation about tdbbackup
(This used to be commit 4ac4220e2f60dfac35dc80dcf1830a6a6352ace0)
2002-03-09 00:12:19 +00:00
Andrew Tridgell
d65228687f don't use -pg by default when building standalone
(This used to be commit 18e81a4a5b986aa8e14ae868a04caf8b1be413f0)
2002-03-09 00:11:48 +00:00
Andrew Tridgell
6bf9b6e702 added -v and -s options
-v is used for verify/restore from backup
(This used to be commit 1438cd8e5042f1ce6aef0d6be5a8285fbfe79158)
2002-03-08 18:14:35 +00:00
Andrew Tridgell
cb6c9ef475 added a tdb backup utility
when complete, this will be used to backup critical tdbs at samba
startup and possibly periodically while Samba is running so that if
tdb corruption is caused by a power failure Samba can restore from the
backup.
(This used to be commit f619330082712cab72ec2d2ab76d67b8e9f3194c)
2002-03-07 18:58:33 +00:00
Andrew Bartlett
d79e11ad6d Various comment fixes from Rafal Szczesniak <mimir@diament.ists.pwr.wroc.pl>
(This used to be commit 3bf4b42771d115500941be374bfdd9b8c2fdba4a)
2002-03-01 01:24:30 +00:00
Jeremy Allison
b06749d73c Memory leak on error condition fixed by Kian Win <codegrunt@rubbercookie.com>.
Jeremy.
(This used to be commit 9dae1398b45515e5b93de038ec18df297d73026d)
2002-02-27 17:48:45 +00:00
Tim Potter
cd68afe312 Removed version number from file header.
Changed "SMB/Netbios" to "SMB/CIFS" in file header.
(This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
2002-01-30 06:08:46 +00:00
Tim Potter
a4bd608b48 Raise log level of warning produced when the open() of the tdb fails.
Sometimes an open error is OK.
(This used to be commit 5fb3be62910faf91e0e8381ba91f314f2092cb8e)
2002-01-22 00:38:36 +00:00
Tim Potter
5916634a3a Display tdb name of "unknown" in logging debug when tdb has not been named.
(This used to be commit 96c36e51ee4df4c46e5e9e611844dfa83260f606)
2002-01-22 00:36:53 +00:00
Andrew Bartlett
1a74d8d1f0 This is another *BIG* change...
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-20 14:30:58 +00:00
Jeremy Allison
3a851587f8 Ensure we log tdb open fails. Patch from Alexander Bokovoy <a.bokovoy@sam-solutions.net>
Jeremy.
(This used to be commit eb99e7f29c2d6041054331425cb245da86bedaa4)
2002-01-18 02:15:04 +00:00
Jeremy Allison
d3e9213af7 Move SAFE_FREE into tdb.c to stop exporting it into tdb.h namespace.
Jeremy.
(This used to be commit 4f703b84cd7f258ae0169d52ca761b9404ccb348)
2002-01-09 18:26:39 +00:00
Jeremy Allison
af85c2f062 Added int32 version of "atomic" update.
Jeremy.
(This used to be commit 1233b553e78b8d7580b9ea4f1bba62c78b4cd186)
2002-01-09 01:53:19 +00:00
Jeremy Allison
b6f4f3465f Added int32 versions of the endian-dependent code.
Jeremy.
(This used to be commit d57fb9a8c25a95e434cb5fb3d63a87d98abeefef)
2002-01-09 01:32:17 +00:00
Jeremy Allison
eca99f5c22 Fixed nasty cast of tdb_delete in traversals.
Jeremy.
(This used to be commit a0cdec3acc82d1ce0292fadd4b8dac23638450f3)
2002-01-03 22:48:48 +00:00
Jeremy Allison
4178f211d1 debug statement fixups.
Merge SAFE_FREE fix in tdb from 2.2, and IRIX fix.
Jeremy.
(This used to be commit eb6607466565bcd5b3800492d0bc1ae8a44da4f6)
2002-01-02 23:28:55 +00:00
Andrew Tridgell
84ecd95dba more irix -64 portability fixes
(This used to be commit 65e857b36e170e3ecd78bf6695ae73342e9c04cd)
2001-12-31 14:05:22 +00:00