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

3258 Commits

Author SHA1 Message Date
Jeremy Allison
3a6c2069d7 Added "inherit permissions" patch.
Fixed locking bug found by Andrew.
Jeremy.
(This used to be commit 38dffd360dc2e44bfc9e751f017e24f81ff0f2fa)
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 f8bebf91abcaa5bda3ec8701f9242f220da8943a)
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 23bb936e1fdeab2ad697ed946c945ef5ce87357d)
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 44117df2c908d473b3e1a1020b22af6d584809ef)
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 7f2a493095887cb0aae915ac36b9cded71d3a7a7)
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 1bbc1ce18b8ccb92b5a78ee648539a591a452118)
2000-01-13 12:08:53 +00:00
Andrew Tridgell
415e3c0cec added Enosuchshare and a lock_type enum
(This used to be commit 6927aa19052baba2dcfcdec7564dad1a17f4c562)
2000-01-13 12:06:39 +00:00
Andrew Tridgell
0704684614 new prototypes
(This used to be commit 671e52cec2f254a11f9dcef9ef692afa3b86c679)
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 09dbe8bccec244c8ea0893a7d8ca4fe85d5420f7)
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 67b7b2a5a68fd22222bd54771c779f752ff59917)
2000-01-13 12:04:31 +00:00
Jeremy Allison
6d81c60a05 Added missing #ifdef for WITH_UTMP.
Jeremy.
(This used to be commit 465c5a830827b82f0535d4507b3432c2df6de658)
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 95d37a1d25d56316c80eec54aea1f358cd621d4c)
2000-01-12 03:09:17 +00:00
Jeremy Allison
a2dac5f8f2 Use slprintf not snprintf.
Jeremy.
(This used to be commit b0a5ba9e01e71a64c7e693b6bf3f9bd499d3e095)
2000-01-12 02:52:42 +00:00
Jeremy Allison
50be4e1f34 Fix problems with broken libc fvct returns.
Jeremy.
(This used to be commit 6b61f2fe66a62082fdab998ec7bbb1184b9583d7)
2000-01-12 02:52:02 +00:00
Jeremy Allison
8f4e672094 Fixed pointer arithmetic found by IRIX compiler.
Jeremy.
(This used to be commit 20d72e8959fc800836369e4c970f7cb84b95ac9a)
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 f5fedf80bce84dba1468631202337077511bcd25)
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 3362fcdfa492cfd1d9d4ec35ef2108192302b984)
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 49637936b6e9478df248c4ef73d818870c73b597)
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 45b8f1c92cf7ecae35240e72741e5ac952587c58)
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 dd2ce575047eb57288bff11669512132fd347fda)
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 3f7fea58e8da6d98acadaabf0498ea2e88ea5678)
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 e21aa4cb088f348139309d29c85c48c8b777cff5)
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 2071105b439e87cb1c7c3a8c1b2046441eb46270)
2000-01-08 09:49:52 +00:00
Andrew Tridgell
5b7f0c733c improved the error checking
(This used to be commit 2a152998a1489dead0edadb06f78b0ad6ede1a3a)
2000-01-08 08:16:02 +00:00
Richard Sharpe
e9a8562383 Fix minor typos in the yodl for smb.conf.5 and fix minor English problems :-)
(This used to be commit eeb9482f0816558f22e47b1ea4c4272453d467ac)
2000-01-08 05:53:40 +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 d120f22fefde21b38e43ea5ad0180bf27304d2eb)
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 974af581fe428fd0233c2516b16a5132b0e1b583)
2000-01-08 01:23:13 +00:00
Andrew Tridgell
6e8548acb3 fixed a comment
(This used to be commit 32f29c490e6265c8a383ce771943f937c49bfabc)
2000-01-07 12:40:34 +00:00
Andrew Tridgell
e9ddceec9c the -i options are gone from nmbd and smbd - use the smb.conf
parameter "netbios scope" instead

-i is still available in the command line utils, as these may be used
to contact another scope
(This used to be commit 9fd955409f535850c33af2493d4d2ae493933386)
2000-01-07 08:49:46 +00:00
Andrew Tridgell
3c37bfe1aa netbios scope is a DOS_STRING
(This used to be commit e42b629baa15bf9328945d641d780fc4c7b3ffe0)
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 8728c0bc94743935cec28caa83d93833ea3aa6a6)
2000-01-07 08:47:34 +00:00
Andrew Tridgell
1dac1ec030 remove scope parameter here too
(This used to be commit c78deb1d229bd301be483a256f1fd2047cec6120)
2000-01-07 08:46:33 +00:00
Andrew Tridgell
d759a5fc0d added "netbios scope" docs
(This used to be commit ccb6e36d65e48ae08585d8905b975e601bdfcb2b)
2000-01-07 06:58:20 +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 b563be824b8c3141c49558eced7829b48d4ab26f)
2000-01-07 06:55:36 +00:00
Andrew Tridgell
102e44e446 don't use strcpy
(This used to be commit bf9b1328c5843eb217eff4ca05645498de2def82)
2000-01-07 06:14:43 +00:00
Andrew Tridgell
112faa49e6 don't require readline
(This used to be commit 2dbe70da8db548b3423c6c0de0f282fdf82f0fad)
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 21d4882f64a65ee1786231eb55b7768bb44921fd)
2000-01-07 03:01:55 +00:00
Jeremy Allison
f0a3883379 Removed unneeded #define.
Jeremy.
(This used to be commit c33b6d2aba63027408bd9895d2fedfc82f69a8f0)
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 9ba8ad1d3d4559fdf6695a18c99e83a1d37c9ac4)
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 8b790cf3e21dd415e1daba24f5eba219e824cdc4)
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 f4898a1f16a2dbc25d062b0088d6c589a34c93a0)
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 b3c0dd72339b2004684b1650c8f7832577bc44b0)
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 210d61db08136122f51a93428607fccd582c9e7d)
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 9e90122afd1b6a7cf38660fc3bc3aa8e526bf08b)
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 aa7f81552540f5dca2c146f5edd805611d5b390f)
2000-01-05 06:36:36 +00:00
Andrew Tridgell
1f438ffb7e lower the default hash size a bit
(This used to be commit 51ed6e8cec47642641e6b26682fd6f25624b19ae)
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 e154f041e8ec8b1097d4a0c727c68d217effba34)
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 8515bdb39c603864246d3a4ff2349fa76b0bd86e)
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 70d6f7635776bba98c9c09405eff6c2087dac590)
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 90c27b7bffa9b2121eaed0e07931830c3ba308d7)
2000-01-04 07:52:21 +00:00