1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-14 19:24:43 +03:00

81 Commits

Author SHA1 Message Date
Tim Potter
dc1fc3ee8e Removed 'extern int DEBUGLEVEL' as it is now in the smb.h header.
(This used to be commit 2d0922b0eabfdc0aaf1d0797482fef47ed7fde8e)
2001-10-02 04:29:50 +00:00
Simo Sorce
81fdc3c3f7 move to SAFE_FREE()
(This used to be commit e61aec84edaf55b9ee087b076d2f1311033dc839)
2001-09-17 04:16:35 +00:00
Jeremy Allison
83ebf2b6b2 Fix the 62bit locking onto 32 bit NFS mounts problem generically for HPUX.
Don. please check this out.
Jeremy.
(This used to be commit ce9f95996498f7795aaef069e1443ea1c7d524b3)
2001-09-06 22:43:21 +00:00
Jeremy Allison
d3518f1d8a NFS v2 can return ENOLCK when greater than 31 bit offsets are used.
Treat this the same as an EFBIG error.
Jeremy
(This used to be commit 8fad5177701c1738a7f5bdd7c0082ef23a00b876)
2001-09-05 00:05:07 +00:00
Jeremy Allison
4a3f07456d Ignore locks of length zero as they mean different things in Win32
and POSIX.
Jeremy.
(This used to be commit bd9cbf4c6883c1a39f28db8afa7cc0bd04b1b09f)
2001-08-26 19:39:40 +00:00
Jeremy Allison
e430190a66 Add printing of errno when POSIX lock requests fail.
Jeremy.
(This used to be commit befbfea21035b0566fc6ba8674587fc44ad7bbdc)
2001-08-13 17:58:54 +00:00
Simo Sorce
2e783a4707 this is a big global fix for the ptr = Realloc(ptr, size) bug.
many possible mem leaks, and segfaults fixed.

someone should port this fix to 2.2 also.
(This used to be commit fa8e55b8b465114ce209344965c1ca0333b84db9)
2001-08-12 17:30:01 +00:00
Jeremy Allison
5b69009b25 Fixed the nastiest locking bug to track down.... smb_pids are sent in the
lockingX calls - use that instead of smb_pid in the packet.
Jeremy.
(This used to be commit a3925cb9c6303ce24e5fecad6c8f3a0ba78b9ee0)
2001-07-02 02:42:41 +00:00
Andrew Tridgell
05fc3e578c use LDSHFLAGS not -shared in several places
(This used to be commit 8ec9c87b5d1a7dae17d5b1a30f58effaf5e69e4b)
2001-06-04 05:13:59 +00:00
Jeremy Allison
2ef68c7e92 Merge of Andrew's changes in 2.2.
Jeremy.
(This used to be commit fc76681812b1469208ad6c8847afdfc68bc6db49)
2001-04-13 19:12:06 +00:00
Jeremy Allison
ba00796e6d Herb's warning fixes. Also the POSIX locking fix.
We now use our own vfs layer to do get/set acl calls (hurrah!).
Jeremy.
(This used to be commit dfe77c7046cbd65ee52aea7439f21503c1eac41d)
2000-10-06 18:13:52 +00:00
Jeremy Allison
636f146abf Restructuring of vfs layer to include a "this" pointer - can be an fsp or
a conn struct depending on the call.
We need this to have a clean NT ACL call interface.
This will break any existing VFS libraries (that's why this is pre-release
code).
Andrew gets credit for this one :-) :-).

In addition - added Herb's WITH_PROFILE changes - Herb - please examine
the changes I've made to the smbd/reply.c code you added. The original
code was very ugly and I have replaced it with a
START_PROFILE(x)/END_PROFILE(x) pair using the preprocessor.
Please check this compiles ok with the --with-profile switch.
Jeremy.
(This used to be commit b07611f8159b0b3f42e7e02611be9f4d56de96f5)
2000-10-06 03:21:49 +00:00
Andrew Tridgell
b50ca095af allow posix locking database to be opened read-only (for smbstatus)
(This used to be commit b9d78738bb30da3d989dfacc95cfde529f2afca5)
2000-06-13 15:46:46 +00:00
Jeremy Allison
9c4079d8c3 Fixed misunderstanding found during CIFS conference. Overlapping lock
ranges (not just included lock ranges) should be handled correctly.
UNIT test still needed.
Jeremy.
(This used to be commit 07872298e3ee8b4b50b69cb4e49b88635792128e)
2000-05-25 20:05:50 +00:00
Herb Lewis
e522de4808 Using a structure for a tdb key can lead to insideous, hard
to find bugs. On 64 bit IRIX, structure packing means that
a
struct {
SMB_DEV_T dev /* 4 bytes */
SMB_INO_T ino /* 8 bytes */
}

has 4 bytes of padding between the two members. If you
don't null the memory before using it as a tdb key,
you randomly can't find keys depending on what is in
the padding. This caused me immense pain and was hard
to track down.... :-)

Jeremy.
(This used to be commit f2a5ba3f0939f59097f0ef6a25f1cf9b5574f157)
2000-05-10 00:05:27 +00:00
Jeremy Allison
091c970682 Two fixes. Added missong logic & case in lock split code.
Fixed range split into two, as DLIST_ADD has the wrong semantics...
Jeremy.
(This used to be commit 82681edda14dcc3d58bb303cfac5452072de67df)
2000-05-05 02:17:39 +00:00
Jeremy Allison
fffeaf527d Updated to fix overlapping problem.
Jeremy.
(This used to be commit 9bdfe0f5023988962f8a8b4d847de7a0ee27f85c)
2000-05-04 19:01:14 +00:00
Jeremy Allison
05a28f1dfd Fix for debug statement crash.
Jeremy.
(This used to be commit 57bf92d90147b207664152d44ce4bfb5235dc7d8)
2000-05-04 00:29:50 +00:00
Jeremy Allison
756798d000 Fixed the bug locktest.c found, it was an off-by-one error in the non-overlap
case.
Jeremy.
(This used to be commit 65150c408a5254215de89c8c774c33c4d011c2c0)
2000-05-03 19:37:47 +00:00
Jeremy Allison
0d917c6cd6 Fixed silly bug where I wasn't checking for matching fd's in closing a file.
This caused smbd crashes on SIGKILL.
Jeremy.
(This used to be commit d4dcefd12d14df112f083c312acbea0196bc5c23)
2000-05-03 18:57:21 +00:00
Jeremy Allison
f6bcf3d324 Added range info to the panic message to track down the bug with
locktest.
Jeremy.
(This used to be commit 91f038356b7efa04cf4bfa5e6afd8b144b6b4ad5)
2000-05-03 17:50:42 +00:00
Jeremy Allison
20ce61ccc8 Fix for stacking locks in brlock and POSIX. Windows only allows a read lock
to overlay a write lock on the same fnum. When overlaying read locks onto
a write lock, the number of locks is counted, and the first unlock removes
the write lock and downgrades this to a read lock. Do the same when mapping
to POSIX.
Jeremy.
(This used to be commit 74d42644e6e52808037975e909aa56c850838b76)
2000-05-03 02:27:41 +00:00
Jeremy Allison
d009301464 Implemented the last (I hope:-) part of the locking puzzle, the reference
counting when Windows downgrades a write lock to a read lock, then reference
counts the unlocks to match the locks.
With this code the POSIX unlock isn't done until the final Windows unlock.
Jeremy.
(This used to be commit 6eb4fb6eef367f68169d6ec1c816226b1ad9f110)
2000-05-02 21:07:25 +00:00
Andrew Tridgell
32d5416b6a split the username in the vuser structure into a separate
userdom_struct. As the name implies this also contains a domain
(unused at the moment).

This will be important shortly, as operation in appliance mode needs
the domain to be always carried with the username.
(This used to be commit ee8546342d5be90e730372b985710d764564b124)
2000-05-02 13:55:42 +00:00
Jeremy Allison
ba020b0612 Moved uglyness needed in fcntl locking (64->32 bit mapping, NFS
errors etc.) into locking/posix.c, where it is needed. fcntl_lock in lib/util.c
is now very small and clean.
Added (*lock) op to vfs layer.
Jeremy.
(This used to be commit 46092ee1410faa4e3c143d80a960a8adaa19d7fc)
2000-05-02 03:20:47 +00:00
Jeremy Allison
830a9e571e locking/posix.c: Fixed double-free nasty crash bug found by insure.
utils/make_smbcodepage.c:
utils/make_unicodemap.c: Insure 'make install' fixes.
Jeremy.
(This used to be commit 3b25f7368be3877e9ad27498bc9451ec88d4b07f)
2000-05-01 19:43:50 +00:00
Andrew Tridgell
99fbf5c4bc added TDB_INTERNAL, TDB_NOLOCK and TDB_NOMMAP flags.
TDB_INTERNAL replaces the old method of passing a null filename
(This used to be commit 8ec815920d46f205b9f3fff82397c731753c3a10)
2000-05-01 00:41:47 +00:00
Andrew Tridgell
700f72453e - removed all our old wildcard matching code and replaced it with a
call to ms_fnmatch(). This also removes all the Win9X semantics stuff
and a bunch of other associated cruft.

- moved the stat cache code into statcache.c

- fixed the uint16 alignment requirements of ascii_to_unistr() and
  unistr_to_ascii()

- trans2 SMB_FIND_FILE_BOTH_DIRECTORY_INFO returns the short name as
  unicode always (at least thats what NT4 does)

- fixed some errors in the in-memory tdb code. Still ugly, but doesn't
  crash as much
(This used to be commit 03e9cea004bbba72161a5323cf3b4556c94aed8e)
2000-04-30 11:04:28 +00:00
Jeremy Allison
74ac259e07 Removed tdb locking calls (picky Andrew...:-)
(This used to be commit 6bded3b74e974b97d54acf9289f4cf812e2b1af7)
2000-04-29 01:09:31 +00:00
Jeremy Allison
9a5eb068ab Ok - this is the *third* implementation of this (third time's the charm :-).
This implementation keeps all POSIX lock records in a separate in memory
tdb database only known about in locking/posix.c. In addition, the pending
close fd's are also held in a tdb which has an array of fd's indexed by
device and inode.

The walk-split code uglyness has been moved to posix.c from brlock.c,
which is the only place that needs to know about it, and the extra
functions hacked into brlock to expose internal state have been removed.

This implementation passes smbtorture locktest4, the only thing I need
to check now for completeness is what to do about lock upgrade/downgrades
which Win32 allows under some *very* strange circumstances.

Jeremy.
(This used to be commit 3f655de1c764b9ee1472a111621d4317f19f624d)
2000-04-28 20:54:23 +00:00
Jeremy Allison
46e84a0090 Split off of POSIX locking into separate unit as Andrew requested.
Done so I don't lose my edits... :-).
Jeremy.
(This used to be commit 31a57be658f3fa3569a552e9c5d30174f5a51649)
2000-04-28 19:38:38 +00:00