1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-18 17:57:55 +03:00

1767 Commits

Author SHA1 Message Date
Andrew Tridgell
f04d5b6b11 we we have successfully done a query on *<1b> from a wins server and
then obtained a node status response we need to remember the server
name of the master browser so that other browse clients asking us for
a workgroup list will get a entry for the master of that workgroup.
(This used to be commit 601f995ffbfa0ee477ea628d92b9660d6bdd8cbc)
1998-08-30 09:50:45 +00:00
Andrew Tridgell
179e8c66f1 changed the way that name query records are sorted in replies. They
are now sorted by the number of common leading bits in the IP address
with the address of the querying host.
(This used to be commit 4460a1bc6aa7666d1c71d32ba73855d6ed32320a)
1998-08-30 08:45:23 +00:00
Andrew Tridgell
3debe642bd include our netbios names list and our workgroup in the wins.dat hash
(This used to be commit f555a76df696a0625acc16fa365dc048e0c2447d)
1998-08-30 06:49:14 +00:00
Andrew Tridgell
36ca3e3411 don't put two spaces at the start of lines if logging to stdout
or not timestamping.
(This used to be commit 70ed0ec202c50655e3ba99535b06ad918409051e)
1998-08-30 05:57:21 +00:00
Andrew Tridgell
5a44ce9caa changed the format of the wins.dat file slightly.
It now has a line like this:

VERSION 1 251152

the first number is a version #define in nmbd_winsserver.c and will be
used if we ever have to change the format again.

The second number is a hash of the current interfaces setting. It is
used to detect the case where nmbd is restarted on a machine after the
IP of the machine has changed (or the interfaces list has changed in
any way). When that happens we need to discard the old wins.dat cache
or you end up with chaos. This has bitten quite a few people, they
find that when they move a machine it continues using the old IP for
some things for the next week until the wins entries time out!

I've checked, and the old nmbd can handle the new format, although it
does spit out a spurious error message about the VERSION line. So
users can safely run 2.0alpha then switch back to 1.9.18 without
problems.
(This used to be commit c4a8cdc60a5b01894ab2456e77b6d89d4c16a088)
1998-08-30 05:43:59 +00:00
Andrew Tridgell
56cbed3904 allow smbclient to connect to IPC$ as an IPC service
(This used to be commit 275679db29f2630a16cd5e9f4b5346ac834a484f)
1998-08-30 04:37:07 +00:00
Andrew Tridgell
98411c48c0 - zero shared memory before freeing it
- changed the hash size to 13 (much smaller than before). This should
  make for more efficient shared memory usage as it will lead to less
  fragmentation.
(This used to be commit 9c1e4c2dae6323c9a1bd74148d0b45aac61e7c0a)
1998-08-30 04:35:54 +00:00
Andrew Tridgell
a6c94d7eb1 added a function zero_free(void *, int size) that zeros an area of
memory then frees it. Useful for catching bugs.
(This used to be commit 99782754f79f3795f81cbf57caeb0925f6a66c10)
1998-08-30 04:31:55 +00:00
Andrew Tridgell
c021867fee changed the size of a char array in the userdata_struct from 1 to 16
to account for padding/alignment issues. Eventually I'd like to find a
way to get rid of this construct altogether as it is a bit error
prone and hard to debug.

also added a new macro:

ZERO_STRUCTP() that takes a pointer to a structure and zeros the
structure. Used in nmbd to zero allocated structures before freeing
them to try to catch bugs a bit faster.
(This used to be commit d3dda65d5177154e2128f50ca3dd34e8e13b6b08)
1998-08-30 04:30:57 +00:00
Andrew Tridgell
1778debff1 added some defensive programming to nmbd. This mostly means zeroing
areas of memory before freeing them.

While doing this I also found a couple of real bugs. In two places we
were freeing some memory that came from the stack, which leads to
a certain core dump on many sytems.
(This used to be commit c5e5c25c854e54f59291057ba47c4701b5910ebe)
1998-08-30 04:27:26 +00:00
Andrew Tridgell
48514704c2 got rid of calls to update_protected_database(). It was causing core
dumps. It is gone until someone can tell us why its needed and what it
does. (It was only used on OSF1 and core dumped there anyway!)
(This used to be commit a564e4662711d384069757ce3ee5adcadc1b061d)
1998-08-29 14:08:17 +00:00
Andrew Tridgell
7731692b74 don't exit on a SIGPIPE
(This used to be commit f18b4e95bffb25fa016dd6e7f9a128a9fc69466f)
1998-08-29 03:10:39 +00:00
Jeremy Allison
38142a1ebb This checking fixes the statcache bug that stopped NetBench from running
correctly. Added new parameter "stat cache size" - set to 50 by default.

I now declare the statcache code officially "open" for business :-).
It gets a hit rate of 97% with a NetBench run and seems to make
using a case insensitive run as efficient as a case sensitive run.

Also tidied up our sys_select usage - added a maxfd parameter and
also added an implementation of select in terms of poll(), for systems
where poll() is much faster. This is disabled by default.

Jeremy.
(This used to be commit 779b924ec1f6c81ff578d22295b20fece698d1fc)
1998-08-28 21:46:29 +00:00
Andrew Tridgell
c077bce5c0 nmbd would core dump if a large number of netbios aliases is set. The
problem was a buffer overflow in process_node_status_request().

this really points out a general problem is allocating MAX_DGRAM_SIZE
packets on the stack in nmbd. There must be a better way.
(This used to be commit 7db45f169c33e0f3a67ba2260049226992de8bdf)
1998-08-28 14:35:24 +00:00
Jeremy Allison
d0cfc1f041 Fixed stat cache statistics calculation. Oops.
Jeremy.
(This used to be commit d6a9087e7e626e6e07503dba38854b136fe70c23)
1998-08-27 20:51:12 +00:00
Jeremy Allison
5e5e320d36 This is the stat cache code - seems to work fine (needs heavy
NetBench testing though.... :-). Attempts to efficiently reduce
the number of stat() calls Samba does.
Jeremy.
(This used to be commit d0e48a2d8072c3e77a57ac6a2fb5044c05f03b41)
1998-08-27 20:38:53 +00:00
Luke Leighton
74a2764726 oops - added /usr/include/rpc includes.
(This used to be commit cdc38c276d8344127c9edf35f24754c098a90754)
1998-08-26 14:05:23 +00:00
Andrew Tridgell
520d24c191 use a separate ZERO_ARRAY() macro instead of ZERO_STRUCT() for
arrays. This prevents (harmless) warnings from some compilers
(This used to be commit c2da46d1d0820a86e7f77506563cfe7f67b08fee)
1998-08-26 03:06:48 +00:00
Andrew Tridgell
f1451f5d2e get includes right for systems that use getpwanam()
(This used to be commit afe98165a261a740cd0ee88bf041d69721ec72e6)
1998-08-26 02:36:27 +00:00
Andrew Tridgell
54499a925c took all the rpc includes back out until we can work out _why_ freebsd
needs them and what should really be there.
(This used to be commit c2bf18fb8d2fea5af86ba8cf5d92b1dc076dd7d5)
1998-08-26 02:02:55 +00:00
Andrew Tridgell
7bc68de378 added a warning when loading a parameter that is deprecated
(This used to be commit c8b0041570a1fb0be0318f511c6ba746c733cda9)
1998-08-26 01:57:17 +00:00
Christopher R. Hertel
93e016e3d5 Finally got around to updating the man pages for nmbd and smbd to reflect
the changes made re: -a and -o options.

Chris -)-----
(This used to be commit e162819054d0241e92978b6b630be8cccc886caf)
1998-08-25 15:53:49 +00:00
Luke Leighton
3131d67cfd added loads of pointless rpcsvc/ and rpc/ include files, all because
rpcsvc/ypclnt.h wants a struct dom_binding.  knock-on include effect under
freebsd 2.1.
(This used to be commit d1005b5692e41660a2a7230231b0591aa0773485)
1998-08-25 13:17:04 +00:00
Andrew Tridgell
44079f1aec note that "alternate permissions" is deprecated in man page
(This used to be commit 2af95650174ae02a9768fbbbf7c206e15bf18f79)
1998-08-25 07:19:34 +00:00
Andrew Tridgell
0d35fe8992 proto changes
(This used to be commit e4f81f4a230130f53857e3664e6d83ce252c207e)
1998-08-25 06:52:26 +00:00
Andrew Tridgell
085c66aea5 some smbtorture hacks (random IPC calls)
(This used to be commit b32a346a1c50ba40224b8165e08e78867be2d376)
1998-08-25 06:42:09 +00:00
Andrew Tridgell
2c065107b1 changed the default permissions code to do this:
if ((sbuf->st_mode & S_IWUSR) == 0)
      result |= aRONLY;

rather than the very complex user/group permissions checks we do
currently. This is equivalent ot setting "alternate permissions = yes"
in the old code. The change is motivated by three main reasons:

1) it's basically impossible to second guess whether a file is
writeable without trying to open it for writing. ACLs, root squash etc
just make it too hard.

2) setting it not RONLY if the owner can write is closer to what NT
does (eg. look at a cdrom - files are not marked read only).

3) it prevents the silly problem of copying files from a read only
share to a writeable share and then finding you can't write to them as
windows preserves the RONLY flag. Lots of people get bitten by this
when they drag a folder from a Samba drive. It also hurts some install
programs.

I have also added a new flag type for loadparm.c called
FLAG_DEPRECATED which I've set for "alternate permissions". I'll soon
add code to testparm to give a warning about deprecated options.
(This used to be commit c4363a12fdc0be329ca2bfeb1d7b89bfe90031dc)
1998-08-25 06:40:42 +00:00
Jeremy Allison
5ae06b99c0 Added code to (correctly) ignore TRANSACT2_SETFILEINFO with SMB_SET_FILE_ALLOCATION_INFO.
Office 97 expects this call to succeed when you tell it you do NT SMB calls.
Jeremy.
(This used to be commit 260e7e27401d863e9f580d4748c577334d9fc9d0)
1998-08-25 02:29:17 +00:00
Jeremy Allison
8afc9c80ac Changed ASSERT macros to SMB_ASSERT macros as some systems already
have an ASSERT macro defined.
Jeremy.
(This used to be commit dbe6ad014a8b5dcbf17d7cd9865650c2e040d666)
1998-08-24 21:49:10 +00:00
Luke Leighton
0e877bd53b resource.h on FreeBSD 2.1 requires sys/time.h to come first.
(This used to be commit e94ab03a4f97ff7ee7bb938245cf054a00f950fd)
1998-08-24 18:53:37 +00:00
Andrew Tridgell
3f3f47b0bd added ASSERT() and ASSERT_ARRAY() macros and sprinkled them liberally
in the rpc code.
(This used to be commit e6ce1c5b5a9f29d8fcbbd23019186ff5c600e795)
1998-08-22 02:54:21 +00:00
Andrew Tridgell
bce4d95ca9 expanded MAX_LOOKUP_SIDS to 30 (I saw 21 in a packet)
(This used to be commit bd9290c36c9993a994e485da0a81df926f8662e4)
1998-08-22 02:52:25 +00:00
Christopher R. Hertel
c8b2ee3e4e Just tweaking.
If the output line is longer than the format buffer could manage, I was
simply ignoring the additional output (that is, *not* copying it to the
format buffer--thus avoiding a buffer overrun).  Instead, I now output
the current content followed by " +>\n", and then reset the format buffer.
I have never seen a debug line that exceeds the size of a pstring, but I
might as well handle the situation...just in case.

Chris -)-----
(This used to be commit 8a11d04b7796b256953bf92b2f2ccab763215bc4)
1998-08-21 19:57:59 +00:00
Christopher R. Hertel
7fe3a42857 nmbd and smbd had different behavior with respect to log files. nmbd would
default to overwrite and smbd would default to append.  Also, the -a option
(actually a toggle, such that "-a -a" would set the default) was documented
as append mode for nmbd, and *overwrite mode* for smbd.

nmbd now defaults to append mode, to match smbd.  The -a option now always
means append, and I've added the -o option to both, meaning overwrite.

Note that the change to nmbd's default behavior may confuse some people.
I've not seen anything about 2.0.0 changes in the WHATSNEW.txt file.
Where would I document a change like this?

Chris -)-----
(This used to be commit b1d374fb14b1fb92a84260f1dcc59a39a4b99a3d)
1998-08-21 17:21:55 +00:00
Andrew Tridgell
541cd2a2d9 don't attempt to answer QFILEINFO/SMB_QUERY_FILE_STREAM_INFO queries -
if we do then NTws gets a BSOD.

I checked and NT server refuses these queries too :)
(This used to be commit d2fb7ee8f55dd1ff25fca46e18b02a05bc2b71ae)
1998-08-21 14:31:43 +00:00
John Terpstra
c8f34dac39 Adding first cut of the new Red Hat Linux packaging tools.
Note: It is intended to extend this so that the release
process produces all the packaging scripts, templates, etc.
that may be needed.
(This used to be commit 6e196841c618044d33da45d3de5371004a58e4c6)
1998-08-21 14:20:38 +00:00
Andrew Tridgell
038e3433d3 added new smb.conf option "panic action". see my samba-technical
explanation.
(This used to be commit c6899df44c34088a4d2bf1edc840320b0ba7e32e)
1998-08-21 11:37:40 +00:00
Andrew Tridgell
57f1129cdc use ZERO_STRUCT() to initialise lots of structures.
Luke, you need to do something similar in the rest of the rpc code.
Have fun!
(This used to be commit bdd8aaa544780898e20189195d4019b9beb4445c)
1998-08-21 09:44:30 +00:00
Andrew Tridgell
7d657984bb added a macro ZERO_STRUCT() which is useful for initialising
structures declared on the stack.
(This used to be commit f323af8fce54cd5d51c848aa7ea7be4dd3538f2e)
1998-08-21 09:43:21 +00:00
Richard Sharpe
04c4ca1b24 Submitting the smbtar changes to the main branch as well.
Regards
Richard Sharpe
(This used to be commit 749ec1e0a79c5836bba0fc0213576ed79ef761d5)
1998-08-21 09:01:30 +00:00
John Terpstra
2aa4ae7311 Fix "make clean" to also delete SPROGS.
(This used to be commit 268cbede0fd909da1cb5bbc964244456f32006a6)
1998-08-21 08:21:08 +00:00
Andrew Tridgell
1a5a571b41 and get the message right ...
(This used to be commit 0d641d0cebfbd8cc6015d2361e088ce0410c5d20)
1998-08-21 07:29:42 +00:00
Andrew Tridgell
cc32fc2af0 silly me.
perms on lock dir should be 755 not 644.
(This used to be commit 930a4292e95947d20696b7ce08bbb936442fe327)
1998-08-21 07:25:57 +00:00
Andrew Tridgell
60cf7ad5cf fixed a bug in trans2_qfilepathinfo() where we used the length of the
basename of a file but the whole file name. silly error.
(This used to be commit 6e00de7a1d3d5f9fa9bcc40db119fcb8602165c9)
1998-08-21 05:58:57 +00:00
Jeremy Allison
81b580fd22 Fixes for the problem in blocking locks with file_fsp returning the
chain_fsp on close (if you don't know what this means, consider yourself
lucky - this one took a day to track down :-).
Jeremy.
(This used to be commit 193cb5382464173e99a538867a266d793f0ceab5)
1998-08-21 01:30:29 +00:00
Jeremy Allison
dc76502cd8 Turning on blocking locking code. NB. Blocking lock requests that are not
the head of an SMB request (ie. are part of a chain) will not be queued -
this will be fixed when we move to the new chain code. In practice, this
doesn't seem to cause much of a problem (in my admittedly limited testing)
bug a debug level zero message will be placed in the log when this
happens to help determine how real the problem is.

smbd/locking.c: New debug messages.
smbd/blocking.c: New blocking code - handles SMBlock, SMBlockread and SMBlockingX
smbd/chgpasswd.c: Fix for master fd leak.
smbd/files.c: Tidyup comment.
smbd/nttrans.c: Added fnum to debug message.
smbd/process.c: Made chain_reply() use construct_reply_common(). Added blocking
                lock queue processing into idle loop.
smbd/reply.c: Added queue pushes for SMBlock, SMBlockread and SMBlockingX.
Jeremy.
(This used to be commit e1dd03ecda0bc6d7eaa31070c83774bb5679fd1b)
1998-08-20 19:28:37 +00:00
Andrew Tridgell
852519282d testparm now prints a warning if the lock directory doesn't have 0644
permissions.
(This used to be commit 10303a78d4b12a03166db89202759cd745c516c5)
1998-08-20 03:11:46 +00:00
Andrew Tridgell
8487f959d1 added a test for a working setresuid
(This used to be commit dbe333b590ef004ccbd31a14ad161d73139b2486)
1998-08-19 15:01:03 +00:00
Jeremy Allison
3f153e592b Blocking lock code split out...
Jeremy.
(This used to be commit 9cdb148ef56dc8f74891f5c6e9cae10142bd4c6e)
1998-08-19 01:49:57 +00:00
Jeremy Allison
12de4034c7 Makefile.in: Moved blocking lock code into smbd/blocking.c for link purposes.
include/includes.h: Added nterr.h.
locking/locking.c: Moved blocking lock code into smbd/blocking.c for link purposes.
smbd/close.c: Added blocking lock removal to file close.
smbd/filename.c: Tidied up unix_convert() so I could read it (:-) in preparation
                 for the stat_cache code.
smbd/nttrans.c: Added WRITE_ATTRIBUTES check.
smbd/reply.c: Fixed multibyte char problem in wildcard mask.
Jeremy.
(This used to be commit 148eaba3dadb1d0bd3ac3ef53da3d9811636e89a)
1998-08-19 01:49:34 +00:00