1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-27 03:21:53 +03:00
Commit Graph

2691 Commits

Author SHA1 Message Date
Andrew Tridgell
82af221e4a we now pass all byte range locking tests
the last piece was to use a smb timeout slightly larger than the
locking timeout in bloking locks to prevent a race
(This used to be commit 1b54cb4a33)
2000-01-14 04:32:57 +00:00
Jeremy Allison
3a6c2069d7 Added "inherit permissions" patch.
Fixed locking bug found by Andrew.
Jeremy.
(This used to be commit 38dffd360d)
2000-01-14 01:41:04 +00:00
Andrew Tridgell
2afd5d5eb5 some more work on the byte range locking
note the ugly global_smbpid - I hope that won't bethere for long, I
just didn't want to do two lots of major surgery at the one time.
Using global_smbpid avoids the big change of getting rid of our
inbuf/outbuf interface to reply routines. I'll do that once the
locking stuff passes all tests.
(This used to be commit f8bebf91ab)
2000-01-14 00:50:48 +00:00
Andrew Tridgell
cdb8c99fce greatly expanded the lock4 locking test. we now pass all but one test
- that should be fixed soon.
(This used to be commit 23bb936e1f)
2000-01-13 12:11:30 +00:00
Andrew Tridgell
826446ddef changes to reflect the new syntax of the locking calls.
(This used to be commit 44117df2c9)
2000-01-13 12:10:48 +00:00
Andrew Tridgell
6c2a1fdf36 the bulk of the new byte range locking coode
it doesn't map to posix locks yet, that will come later.
(This used to be commit 7f2a493095)
2000-01-13 12:09:36 +00:00
Andrew Tridgell
6bad53f758 the lock routines now take a enumerated type for read/write locks, and
we now don't pass the lock type at all for unlocks.

I was surprised to discover that NT totally ignores the lock type in
unlocks. It unlocks a matching write lock if there is one, otherwise
it removes the first matching read lock.
(This used to be commit 1bbc1ce18b)
2000-01-13 12:08:53 +00:00
Andrew Tridgell
415e3c0cec added Enosuchshare and a lock_type enum
(This used to be commit 6927aa1905)
2000-01-13 12:06:39 +00:00
Andrew Tridgell
0704684614 new prototypes
(This used to be commit 671e52cec2)
2000-01-13 12:05:58 +00:00
Andrew Tridgell
e18a2cad69 defined br_off as a type for byte range offsets. For now I've set it
as SMB_OFF_T, we need to do some autoconf changes to generate a 64 bit
int whenever possible (eg. long long on 32 bit i386)
(This used to be commit 09dbe8bcce)
2000-01-13 12:05:40 +00:00
Andrew Tridgell
08685f6a62 added locking/brlock.c, a byte range locking system
(This used to be commit 67b7b2a5a6)
2000-01-13 12:04:31 +00:00
Jeremy Allison
6d81c60a05 Added missing #ifdef for WITH_UTMP.
Jeremy.
(This used to be commit 465c5a8308)
2000-01-13 00:42:04 +00:00
Jeremy Allison
1e2f92af55 Added utmp fix from David Lee <T.D.Lee@durham.ac.uk>.
Jeremy.
(This used to be commit 95d37a1d25)
2000-01-12 03:09:17 +00:00
Jeremy Allison
a2dac5f8f2 Use slprintf not snprintf.
Jeremy.
(This used to be commit b0a5ba9e01)
2000-01-12 02:52:42 +00:00
Jeremy Allison
50be4e1f34 Fix problems with broken libc fvct returns.
Jeremy.
(This used to be commit 6b61f2fe66)
2000-01-12 02:52:02 +00:00
Jeremy Allison
8f4e672094 Fixed pointer arithmetic found by IRIX compiler.
Jeremy.
(This used to be commit 20d72e8959)
2000-01-11 20:12:46 +00:00
Jeremy Allison
ec5b3043bf Fixed bug in unix_mask_match() that caused veto files not to work.
Jeremy.
(This used to be commit f5fedf80bc)
2000-01-11 02:18:46 +00:00
Luke Leighton
8433aa4379 modified smbd/msrpc credential transfer system. user session key
is *missing* from samba cvs main, therefore it is set to all zeros.
this will cause, amongst other things, administrator-changing-user-passwords,
and setting up new accounts, to fail, as the user's password can only be
decoded with the session key (in this case, the administrator's usr sess key).

it's never a perfect world, is it?
(This used to be commit 3362fcdfa4)
2000-01-11 02:00:31 +00:00
Andrew Tridgell
0af00edf67 I'm currently designing a new locking system (using a tdb database!)
that will make us match NT semantics exactly and do away with the
horrible fd multiplexing in smbd.

this is some diag stuff to get me started.

- added the ability to do read or write locks in clientgen.c

- added a LOCK4 test to smbtorture. This produces a report on the server
and its locking capabilities. For example, NT4 gives this:

the same process cannot set overlapping write locks
the same process can set overlapping read locks
a different connection cannot set overlapping write locks
a different connection can set overlapping read locks
a different pid cannot set overlapping write locks
a different pid can set overlapping read locks
the same process can set the same read lock twice
the same process cannot set the same write lock twice
the same process cannot override a read lock with a write lock
the same process can override a write lock with a read lock
a different pid cannot override a write lock with a read lock
the same process cannot coalesce read locks
this server does strict write locking
this server does strict read locking


whereas Samba currently gives this:

the same process can set overlapping write locks
the same process can set overlapping read locks
a different connection cannot set overlapping write locks
a different connection can set overlapping read locks
a different pid can set overlapping write locks
a different pid can set overlapping read locks
the same process can set the same read lock twice
the same process can set the same write lock twice
the same process can override a read lock with a write lock
the same process can override a write lock with a read lock
a different pid can override a write lock with a read lock
the same process can coalesce read locks
this server does strict write locking
this server does strict read locking


win95 gives this - I don't understand why!

the same process cannot set overlapping write locks
the same process cannot set overlapping read locks
a different connection cannot set overlapping write locks
a different connection cannot set overlapping read locks
a different pid cannot set overlapping write locks
a different pid cannot set overlapping read locks
the same process cannot set the same read lock twice
the same process cannot set the same write lock twice
the same process cannot override a read lock with a write lock
the same process cannot override a write lock with a read lock
a different pid cannot override a write lock with a read lock
the same process cannot coalesce read locks
this server does strict write locking
this server does strict read locking
(This used to be commit 49637936b6)
2000-01-10 14:41:20 +00:00
Andrew Tridgell
735ee07018 don't treat a packet as a oplock break unless it is a request, not a
reply!
(This used to be commit 45b8f1c92c)
2000-01-10 13:40:27 +00:00
Andrew Tridgell
c01663c1a9 extent smbtorture to test with both an exe file and a dat file
(This used to be commit dd2ce57504)
2000-01-08 11:37:45 +00:00
Andrew Tridgell
f2fc3a2dca fix a error in access_table revealed by the new deny test in smbtorture. We now exactly match NT for normal files. We still don't match for *.exe files though
(This used to be commit 3f7fea58e8)
2000-01-08 11:32:00 +00:00
Andrew Tridgell
e8b5cb4515 cli_open() wasn't handling DENY_FCB or O_WRONLY correctly.
After fixing that I needed to use O_RDWR instead of O_WRONLY in
several places to avoid the silly bug in MS servers that doesn't allow
getattrE on a file opened with O_WRONLY
(This used to be commit e21aa4cb08)
2000-01-08 10:15:53 +00:00
Andrew Tridgell
6ba295ce0b added a DENY test that tests deny mode handling. It produces a matrix
of 324 lines (6*6*3*3) of all possible deny mode behaviour. This
allows us to compare with NT. We currently don't match :)
(This used to be commit 2071105b43)
2000-01-08 09:49:52 +00:00
Andrew Tridgell
5b7f0c733c improved the error checking
(This used to be commit 2a152998a1)
2000-01-08 08:16:02 +00:00
Jeremy Allison
fab3e0eb08 smbd/mangle.c
smbd/negprot.c: Tidyup of static initializers.
smbd/server.c: Fix -l option.
Jeremy.
(This used to be commit d120f22fef)
2000-01-08 02:16:15 +00:00
Jeremy Allison
faa302c768 Fixed deny mode bug :
: If a file is resident on NT and the first user opens it read/write with DENY_READ then a subsequent
: attempt by a second user (running under Windows 95) to open it read/write DENY_NONE fails.
: Under samba 2.0.5a the second open succeeds but the file is write only.
Jeremy.
(This used to be commit 974af581fe)
2000-01-08 01:23:13 +00:00
Andrew Tridgell
6e8548acb3 fixed a comment
(This used to be commit 32f29c490e)
2000-01-07 12:40:34 +00:00
Andrew Tridgell
3c37bfe1aa netbios scope is a DOS_STRING
(This used to be commit e42b629baa)
2000-01-07 08:48:04 +00:00
Andrew Tridgell
dd9e8074f7 always restart nmbd and smbd when asked, even if they appear not to be
responding. They could be stuck
(This used to be commit 8728c0bc94)
2000-01-07 08:47:34 +00:00
Andrew Tridgell
1dac1ec030 remove scope parameter here too
(This used to be commit c78deb1d22)
2000-01-07 08:46:33 +00:00
Andrew Tridgell
171da4d787 this looks like a big commit, but it isn't really :)
This fixes our netbios scope handling. We now have a 'netbios scope' option
in smb.conf and the scope option is removed from make_nmb_name()

this was prompted by a bug in our PDC finding code where it didn't append
the scope to the query of the '*' name.
(This used to be commit b563be824b)
2000-01-07 06:55:36 +00:00
Andrew Tridgell
102e44e446 don't use strcpy
(This used to be commit bf9b1328c5)
2000-01-07 06:14:43 +00:00
Andrew Tridgell
112faa49e6 don't require readline
(This used to be commit 2dbe70da8d)
2000-01-07 03:02:13 +00:00
Andrew Tridgell
e91ceacb6c - patch from Rusty to neaten up the code a bit
- fixed a race condition in tdb_open()
(This used to be commit 21d4882f64)
2000-01-07 03:01:55 +00:00
Jeremy Allison
f0a3883379 Removed unneeded #define.
Jeremy.
(This used to be commit c33b6d2aba)
2000-01-06 21:58:26 +00:00
Jeremy Allison
20bd653b48 Fixed spurious error message when doing a 'put' of an empty file.
Jeremy
(This used to be commit 9ba8ad1d3d)
2000-01-06 21:23:49 +00:00
Jeremy Allison
cebc23762d Generic wildcard matching fix from weidel@multichart.de.
Jeremy.
(This used to be commit 8b790cf3e2)
2000-01-06 21:09:11 +00:00
Jeremy Allison
8bd94c178f Re-added "dfree command" functionality that was described in the man pages
but was not in the code.
Jeremy.
(This used to be commit f4898a1f16)
2000-01-06 01:41:27 +00:00
Jeremy Allison
eb87c3fbdc Fix for renaming directories on OS/2 server. Fix from John Janosik <jpjanosi@us.ibm.com>.
Jeremy.
(This used to be commit b3c0dd7233)
2000-01-06 00:06:46 +00:00
Jeremy Allison
5983a77020 Moved check_plaintext_password() into smbd/chgpasswd.c from smbd/ipc.c.
configure configure.in include/config.h.in: Added <sys/un.h> autoconf
code for Luke's UNIX domain sockets code.
Jeremy.
(This used to be commit 210d61db08)
2000-01-05 23:46:47 +00:00
Jeremy Allison
c4914e2202 client/client.c: I18N fixes.
smbd/dir.c: Reformatting comments.
smbd/ipc.c: New password change code for Win98.
Jeremy.
(This used to be commit 9e90122afd)
2000-01-05 19:59:42 +00:00
Andrew Tridgell
5e9f559187 implemented talloc() as described on samba-technical. This fixes the
lp_string() bug properly.

we still need to add lp_talloc_free() calls in all the main event
loops, I've only put it in smbd and nmbd thus far.
(This used to be commit aa7f815525)
2000-01-05 06:36:36 +00:00
Andrew Tridgell
1f438ffb7e lower the default hash size a bit
(This used to be commit 51ed6e8cec)
2000-01-05 01:50:06 +00:00
Andrew Tridgell
437c68b5fe use a minimal hash size in the unexpected packet database. A large
hash is only useful when we fetch by key, not when we use
tdb_traverse()
(This used to be commit e154f041e8)
2000-01-05 01:48:30 +00:00
Jeremy Allison
794aafe349 Added "crap" fix for rotating string buffers. (Increased to 20, added #define).
Andrew - please fix this properly when you have time :-).
Jeremy.
(This used to be commit 8515bdb39c)
2000-01-04 19:19:07 +00:00
Luke Leighton
ac9c6994e0 using read_with_timeout(), min data size 16 bytes (DCE/RPC header), max
size of SMBtrans response, timeout of 10 seconds.  read_data() _certainly_
doesn't work, as you don't know what size of the data is going to come
back that needs to be fed back in the SMBtrans response.  yes, oops :-)
(This used to be commit 70d6f76357)
2000-01-04 15:59:57 +00:00
Luke Leighton
528399a8a2 oops, must use read_data() not read(), as read() may only provide
part of the data stream.  read_data() is a wrapper to guarantee
receiving exactly the requested number of bytes.
(This used to be commit 90c27b7bff)
2000-01-04 07:52:21 +00:00
Jeremy Allison
7434c1aabd Fixed getgrent() recurse problem.
Jeremy.
(This used to be commit b5420f6152)
2000-01-04 01:01:27 +00:00
Luke Leighton
fbd17c8daf simple mods to add msrpc pipe redirection. default behaviour: fall back
to using internal msrpc code in smbd.
(This used to be commit 8976e26d46)
2000-01-03 19:19:48 +00:00