I have fixed quite a few important bugs in this commit.
authorAndrew Tridgell <tridge@samba.org>
Sat, 5 Oct 1996 10:41:13 +0000 (10:41 +0000)
committerAndrew Tridgell <tridge@samba.org>
Sat, 5 Oct 1996 10:41:13 +0000 (10:41 +0000)
commitea472b7217b7693627a13a7b1e428a0a6a3d8755
tree6be6d7819605ea8e6dfbb07108f170990b43cc7f
parent1303132113b24a3e84dd76efe1c664e0dffe5013
I have fixed quite a few important bugs in this commit.

Luke, can you take special note of the bug fixes to nmbd so you can
propogate them to your new code.

- rewrote the code that used to use fromhost(). We now call
gethostbyaddr() only if necessary and a maximum of once per
connection. Calling gethostbyaddr() causes problems on some systems so
avoiding it if possible is a good thing :-)

- added the "fake oplocks" option. See the docs in smb.conf(5) and
Speed.txt

- fixed a serious bug in nmbd where it would try a DNS lookup on
FIND_SELF queries. This caused a lot of unnecessary (and incorrect)
DNS lookups to happen. FIND_SELF queries should only go to the
internal name tables.

- don't set FIND_SELF for name queries if we are a wins proxy, as we
are supposed to be answering queries for other hosts.

- fixed a bug in nmbd which had "if (search | FIND_LOCAL)" instead of
"if (search & FIND_LOCAL)". Luke, this was in nameservreply.c

- the above 3 bugs together meant that DNS queries were being cached,
but the cache wasn't being used, so every query was going to DNS, no
wonder nmbd has been chewing so much CPU time! Another side effect was
that queries on names in lmhosts weren't being answered for bcast
queries with "wins proxy" set.

- ignore the maxxmit for seconday session setups (see CIFS spec)

- close user opened files in a uLogoffX for user level security (see
CIFS spec)

- added uid into the files struct to support the above change
12 files changed:
source/include/proto.h
source/include/smb.h
source/lib/access.c
source/lib/util.c
source/namedbname.c
source/nameservreply.c
source/param/loadparm.c
source/smbd/password.c
source/smbd/reply.c
source/smbd/server.c
source/smbd/trans2.c
source/utils/testparm.c