Age | Commit message (Collapse) | Author | Files | Lines |
|
Main change is removal of find_name_search() confusion.
This has been replaced with find_name_on_subnet() which
makes it explicit what is being searched.
Also changed wins_subnet to be wins_client_subnet in
preparation for splitting the wins subnet into client
and server pieces.
This is a big nmbd change and I'd appreciate any
bug reports.
Specific changes follow :
asyncdns.c:
Removed wins entry from add_netbios_entry(). This is now
explicit in the subnet_record parameter.
interface.c:
iface_bcast(), iface_nmask(), iface_ip() return the
default interface if none can be found. Made this
behavior explicit - some code in nmbd incorrectly
depended upon this (reply_name_status() for instance).
nameannounce.c:
find_name_search changes to find_name_on_subnet.
namebrowse.c:
wins_subnet renamed to wins_client_subnet.
namedbname.c:
find_name_search removed. find_name_on_subnet added.
add_netbios_entry - wins parameter removed.
namedbsubnet.c:
find_req_subnet removed - not explicit enough.
nameelect.c:
wins_subnet renamed to wins_client_subnet.
namepacket.c:
listening() simplified.
nameresp.c:
wins_subnet renamed to wins_client_subnet.
nameserv.c:
find_name_search moved to find_name_on_subnet.
nameserv.h:
FIND_XXX -> changed to FIND_SELF_NAME, FIND_ANY_NAME.
nameservreply.c:
find_name_search moved to find_name_on_subnet.
Debug entries changed.
nameservresp.c:
wins_subnet renamed to wins_client_subnet.
namework.c:
wins_subnet renamed to wins_client_subnet.
nmbd.c:
wins parameter removed from add_netbios_entry.
nmbsync:
wins_subnet renamed to wins_client_subnet.
proto.h: The usual.
server.c:
remove accepted fd from fd_set.
Jeremy (jallison@whistle.com)
(This used to be commit 2c97b33fc0b5ef181dbf51a50cb61074935165bf)
|
|
I realised this afternoon just how easy it is to add this, so I
thought I'd implement it while the idea was fresh.
nmbd forks at startup and uses a pipe to talk to its child. The child
does the DNS lookups and the file descriptor of the child is added to
the main select loop.
While I was doing this I discovered a bug in nmbd that explains why
the dns proxy option has been so expensive. The DNS cache entries in
the WINS list were never being checked, which means we always did a
DNS lookup even if we have done it before and it is in cache. I'm sure
this used to work (I tested the DNS cache when I added it) so someone
broke it :-(
Anyway, the async DNS gets rid of the problem completely. I'll commit
just the fix to the DNS cache bug to the 1.9.17 tree.
You can disable async DNS by adding -DSYNC_DNS to the compile flags.
(This used to be commit 178e27de0791c1ff3268cb456ed5c5efc9ac2a01)
|
|
Jeremy (jallison@whistle.com)
(This used to be commit e7eb1f044d3101679dc7a118820ea5efe0cd837c)
|
|
sure it is.
Jeremy (jallison@whistle.com)
(This used to be commit 59ee0d0c7ea166a3bf58ceb4c939217d6ff74498)
|
|
Jeremy jallison@whistle.com
(This used to be commit 65f82fb153ef8b007d3f800a6e398545907ae95c)
|
|
namedbname.c: Made sure wins.dat updated when list changes.
Changed to returning 255.255.255.255 when 1e name
queried.
namepacket.c: Made sure recurse flags set correctly.
nameserv.c: Made sure recurse flags set correctly.
nameservreply.c: Made send_name_response() static, Made sure recurse flags set correctly.
Changed to returning 255.255.255.255 when 1e name
queried.
proto.h: Removed send_name_response().
Jeremy jallison@whistle.com
(This used to be commit 4e9fd24f65971bbbda5f76499e5d14f90eef8038)
|
|
all type 1e
names to be added as 255.255.255.255.
namedbsubnet.c: Fixed bug I intruduced - register 1e name on WINS subnet also.
(thanks to Luke for pointing this one out).
Jeremy (jallison@whistle.com)
(This used to be commit fbeaf146c0903f0939d1128af01cff8ea18a2546)
|
|
client.c: Fixed silly bugs detected on IRIX.
namedbname.c: Stopped 1d names from being registered in WINS db.
namedbsubnet.c: Only register 1e names on broadcast subnet.
nameelect.c: Changed add_my_name entries. Forced host announces if we
have less than 10 servers listed. Fixed registering 1b
domain name issues.
namepacket.c: Added error message when dgram discarded.
nameserv.c: Added notion of 'direct' names that are not registered on
the network. Needed to get around bugs in earlier nmbd
handling of DOMAIN(1b) names.
nameservreply.c:Tidied up debug message.
nameservresp.c: Added response_name_query_domain() code. Deals with
re-registering DOMAIN(1b) name.
nmbd.c: Fixed silly bugs detected on IRIX.
nmblib.c: Added paranoia debugs.
proto.h: Updated remove_name_entry(), add_my_name_entry().
server.c: Fixed silly bugs detected on IRIX.
trans2.c: Fixed silly bugs detected on IRIX.
uid.c: Fixed silly bugs detected on IRIX.
version.h: Updated to alpha3.
Jeremy (jallison@whistle.com).
(This used to be commit f08222bd8b86a061c52d22015f946a4737eb47fd)
|
|
includes.h: Changed to ifdef FAST_SHARE_MODES.
ipc.c: Changed lp_workgroup() to myworkgroup.
loadparm.c: Added new shared mem parameters. Added Luke's fix.
locking.c: Rewrite to do share modes better (both fast and slow modes).
nameannounce.c: Changed lp_workgroup() to myworkgroup. Added Luke's fix.
nameconf.c: Changed lp_workgroup() to myworkgroup.
namedbname.c: Improved debug.
namedbserver.c: Changed lp_workgroup() to myworkgroup.
namedbsubnet.c: Added Luke's fix - rewritten somewhat.
namedbwork.c: Changed lp_workgroup() to myworkgroup.
nameelect.c: Added Luke's fix - rewritten somewhat.
nameresp.c: Stoped shadowing global.
nameserv.c: Added Luke's fix - Improved debug.
nameservreply.c: Improved debug.
namework.c: Changed lp_workgroup() to myworkgroup.
nmbd.c: Added Luke's fix - Changed lp_workgroup() to myworkgroup.
pipes.c: Changed lp_workgroup() to myworkgroup.
proto.h: Added Luke's fix, added smb_shm_ proto's.
reply.c: Changed lp_workgroup() to myworkgroup.
server.c: Rewrite to do share modes better (both fast and slow modes).
shmem.c: Rewrite to do share modes better (both fast and slow modes).
smb.h: Rewrite to do share modes better (both fast and slow modes).
status.c: Rewrite to do share modes better (both fast and slow modes).
trans2.c: Fixed double slash issue.
util.c: Tidied up, created myworkgroup.
Jeremy Allison (jallison@whistle.com).
(This used to be commit 2a1711eaaf08bb6776770cd3c96b3010f431a677)
|
|
and CPU whilst trying to become a master browser. Don't ask,
you don't want to know :-).
nameresp.c: Tidied formating of code.
nameservresp.c: Added debug value of IP address that is rejecting our
registration.
jallison@whistle.com
(This used to be commit c0bae276a99211c0c7149a5e4e801706870074fd)
|
|
Wed May 7 1997: Update for 1.9.17alpha1 release - 'browsefix release'
designed to make browsing across subnets work.
byteorder.h: Updated copyright to 1997.
charcnv.c: Updated copyright to 1997.
charset.c Updated copyright to 1997.
charset.h Updated copyright to 1997.
client.c Updated copyright to 1997.
clientutil.c Updated copyright to 1997.
dir.c Updated copyright to 1997.
fault.c Updated copyright to 1997.
includes.h Updated copyright to 1997.
interface.c Updated copyright to 1997.
ipc.c Updated copyright to 1997.
kanji.c Updated copyright to 1997.
kanji.h Updated copyright to 1997.
loadparm.c Updated copyright to 1997.
locking.c Updated copyright to 1997.
mangle.c Updated copyright to 1997.
message.c Updated copyright to 1997.
nameannounce.c
Made use of WINS subnet explicit.
Added reset_announce_timer() so announcement
can be made immediately when we become a master.
Expanded code to do sync with dmb.
namebrowse.c
Removed redundent checks for AM_MASTER in
sync code. Made use of WINS subnet explicit.
namedbname.c Made use of WINS subnet explicit.
namedbresp.c Made use of WINS subnet explicit.
namedbserver.c Made use of WINS subnet explicit.
namedbsubnet.c
Explicitly add workgroup to WINS subnet
when we become a dmb. Made use of WINS subnet explicit.
namedbwork.c
Made use of WINS subnet explicit. Removed
redundent check_work_servertype() function.
nameelect.c
Explicitly add workgroup to WINS subnet
when we become a master browser. Made use of WINS subnet explicit.
namelogon.c Updated copyright to 1997.
namepacket.c Updated copyright to 1997.
namequery.c Updated copyright to 1997.
nameresp.c
Made use of WINS subnet explicit. Made nmbd fail if
configured as master browser and one exists already.
nameserv.c
Made use of WINS subnet explicit. Remove redundent
logon server and domain master code.
nameserv.h Add emumerate subnet macros.
nameservreply.c Made use of WINS subnet explicit.
nameservresp.c Updated copyright to 1997.
namework.c
Made use of WINS subnet explicit. Updated code to
add sync browser entries to add subnet parameter.
nmbd.c
Added sanity check for misconfigured nmbd.
nmblib.c Updated copyright to 1997.
nmblookup.c Updated copyright to 1997.
nmbsync.c
Removed redundent AM_ANY_MASTER check.
params.c Updated copyright to 1997.
password.c Updated copyright to 1997.
pipes.c Updated copyright to 1997.
predict.c Updated copyright to 1997.
printing.c Updated copyright to 1997.
proto.h
Changed protos for new nmbd code.
quotas.c Updated copyright to 1997.
replace.c Updated copyright to 1997.
reply.c Updated copyright to 1997.
server.c Updated copyright to 1997.
shmem.c Updated copyright to 1997.
smb.h Updated copyright to 1997.
smbencrypt.c Updated copyright to 1997.
smbpasswd.c Updated copyright to 1997.
smbrun.c Updated copyright to 1997.
status.c Updated copyright to 1997.
system.c Updated copyright to 1997.
testparm.c Updated copyright to 1997.
testprns.c Updated copyright to 1997.
time.c Updated copyright to 1997.
trans2.c Updated copyright to 1997.
trans2.h Updated copyright to 1997.
uid.c Updated copyright to 1997.
username.c Updated copyright to 1997.
util.c Updated copyright to 1997.
version.h
Changed to 1.9.17alpha1.
(This used to be commit cf23a155a1315f50d488794a2caf88402bf3e3e6)
|
|
access.c: Fixed crash if yp domain unavailable.
includes.h: Moved ifdefs for minor platform.
interface.c: Changed name of ipgrp to wins_ip to make it clearer.
loadparm.c: Changed default of wins support to 'no'.
nameannounce.c: Many changes to fix cross subnet browsing.
namebrowse.c: Many changes to fix cross subnet browsing.
namedbname.c: Many changes to fix cross subnet browsing.
namedbresp.c: Many changes to fix cross subnet browsing.
namedbsubnet.c: Many changes to fix cross subnet browsing.
namedbwork.c: Many changes to fix cross subnet browsing.
nameelect.c: Many changes to fix cross subnet browsing.
namelogon.c: Many changes to fix cross subnet browsing.
namepacket.c: Many changes to fix cross subnet browsing.
nameresp.c: Many changes to fix cross subnet browsing.
nameserv.c: Many changes to fix cross subnet browsing.
nameserv.h: Many changes to fix cross subnet browsing.
nameservreply.c: Many changes to fix cross subnet browsing.
nameservresp.c: Many changes to fix cross subnet browsing.
namework.c: Many changes to fix cross subnet browsing.
nmbd.c: Change to search wins subnet.
nmbsync.c: Change to check if we are any master before proceeding.
proto.h: Added find_subnet_all() and check_work_servertype().
util.c: Moved 'done' settings on name resolution.
(This used to be commit a82476eee2c521e5eed092bc367da0a7cef23de1)
|
|
jra@cygnus.com
(This used to be commit 61dc3087a0fbe92d703d46722338aa9e06b56ed0)
|
|
in log files. really verbose listings ought only to be shown at debug
log level 5 and above.
lkcl
(This used to be commit 6f0a4d71787cf64468cdba0b2f82288c71b1499b)
|
|
lkcl
(This used to be commit 992ca1f32bd2bcb88bf85a71524b5643f63b322e)
|
|
dns_name_search().
lkcl
(This used to be commit adf5a42c21cd73ee0eaf05030e01788908fbb8a5)
|
|
in 1.9.16 works at all!
question and resource record types for queries and response netbios
packets sorted out properly (see rfc1002.txt 4.2.1.3).
receipt of browser announcement packets were playing up
lkcl
(This used to be commit b289db62f1a53f1a68ea48dbfa59720cc778d39c)
|
|
lkcl
(This used to be commit 3f63dd6771ee1c4cd30049478ea053caefdc262f)
|
|
lkcl
(This used to be commit 7c2f1da3773bac59ba0aeea7c0cac1134a74381c)
|
|
lkcl
(This used to be commit 98cb371244fcb048ad13514140a4ea7243b2b039)
|
|
- fixed fault.c for linux 2.1
- put back in the FIND_SELF failing code
- cleaned up casts in encryption
(This used to be commit 3af04f1580b2569c0a4f2549bf6352c7a25afa0d)
|
|
lkcl
(This used to be commit 92a3d0f3e18f7e50ea24053a989fd0096264c816)
|
|
(compiler bugs were the problem)
- minor password cleanups (catch WfWG bug where it sets the password
to a space instead of a NULL)
- fix printing problem for kanji users
- minor cleanups
(This used to be commit 92566ecc315c29da6e9aaa67ddae33e64f5bcc67)
|
|
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
(This used to be commit ea472b7217b7693627a13a7b1e428a0a6a3d8755)
|
|
The 1.9.16 tree is now back to 1.9.16p2 as far as nmbd is concerned
apart from a small change that fixes the announce type in two places.
(This used to be commit 45e66a69d320024877c8b13f12b21bf895e04410)
|
|
stuff and also fix a pile of nmbd bugs. Unfortunately I found it very
hard to disentangle the new features from the bug fixes so I am
putting in the new code. I hope this is the last big pile of changes
to the 1.9.16 series!
(This used to be commit 20b6203dac4bbb43e4e7bea0b214496d76d679d9)
|
|
can't test the multi group changes.
I also found that some of lukes changes wiped out some recent bug
fixes. Is your CVS tree ok luke?
(This used to be commit 8b7fe224bce64803d55ae279fa61ef3ebbbb0241)
|
|
- added multiple workgroup code - samba can register under different
(unique) NetBIOS aliases, one per workgroup it joins.
lkcl
(This used to be commit f24e341e7e4d8726b98d3a0f83b24f61817fe536)
|
|
- add the * and __SAMBA__ names to all subnets
- sort the name status reply list and remove duplicate entries.
(This used to be commit 04353a9479c01322e34b2f59330fd74a759f6869)
|
|
correctly if there were multiple instances of a name. This led to the
infamous "not enough memory" error when browsing (but this isn't the
only cause of that message)
- fix a triple-chaining bug which affected OpenX following a TconX
- fix a serious nmbd bug that meant nmdb would answer packets that it
wasn't supposed to, causing havoc with browse lists.
- never time out SELF packets. This is an interim fix until I find out
why nmbd thought they should be timed out.
(This used to be commit 2960c3908c2c3b01a1f2b77def60350018d298e1)
|
|
- redid tridge's fprintf for storing wins.dat, and yet again removed the
unsigned long changing it to a unint32.
lkcl
(This used to be commit bb57170695a3582c3a1c5a89044a67ac79134d14)
|
|
- made nb_flags an unsigned 16 bit int in nameserv.h
- nmbd was calling add_my_subnets() with an uninitialised parameter group.
removed it.
lkcl
(This used to be commit 3d55e541569e7ab887bddc284bddcafdf86c4d22)
|
|
- you can now press enter after a password prompt with "smbclient -L
hostname" and it will use a blank username and password, the same as
if you used -U%
- changed the wins.dat store code to not go via a string variable
(just use fprintf instead)
- removed a "unsigned long" that luke put back in, changing it to
uint32 to keep 64 bit machines happy. Naughtly luke!
- allow guest non-connnected print queue listings so ms client 3 can
work
(This used to be commit 917160dee69bbc198985b6f3232ca2dcda809d8a)
|
|
it doesn't support loading of Internet Group names yet, but then again,
you can't create Internet Group names yet, so it's not a problem!
(This used to be commit 960aad39ac7b9d8c9820fbf7c4cb640ba96a29d6)
|
|
- 0x1d name query to a WINS server should always return FAIL (see WINS
server help on nt/as)
(This used to be commit a7330127a261f814c56e860b6de658dbef24c33f)
|
|
- changed the order of PROGS and SPROGS in Makefile (SPROGS first)
- another 64 bit cleanup (for INADDR_NONE)
- added paranoia code in DirCacheAdd() to detect looping
- fixed important DirCache flush bug
- rewrote the NetServerEnum code after I found it could return servers
from multiple workgroups at once, and this could cause browsing
havoc. Now a null workgroup query is equivalent to a query for the
servers primary workgroup
- got rid of my_workgroup()
- got rid of "workgroup = *" comment in Makefile. We no longer support
a workgroup of *, users must set the workgroup explicitly
- the wins.dat file was being stored in a different format to what it
was being loaded in - this could cause havoc. fixed.
- uppercase our netbios name and the workgroup name at startup
- if accept fails in main loop when running as a daemon then continue,
don't just exit!
- don't use ./ on smbclient in smbtar
- better code to detect if a process exists
(This used to be commit ec3d53963064b50ff33e8eff47812aac82f164ba)
|
|
addresses) to keep 64 bit machines happy.
(This used to be commit b4aaec504ae66dc6a0f05d12529100cb62d47afd)
|
|
bug spotted in nameservresp.c - arguments to test subnet the response
is received on (same_net()) were the wrong way round (ccm@shentel.net)
samba was adding WORKGROUP(1e) as a unique not a group name: fixed this
bug in reply_name_status() and reply_name_query(): WINS entries weren't
being looked up.
name status reply adds local SELF entries to WINS SELF entries: some
SELF entries are only added locally, while others are only added via
WINS. name status needs to have both, combined.
a sync will only occur when an ANN_LocalMasterAnnouncement is received, NOT
an ANN_HostAnnouncement or an ANN_DomainAnnouncement.
when samba is a member of a workgroup, it looks for (using a wins server)
and announces to its domain master. NAME_QUERY_ANNOUNCE_HOST - yet another
'state' - has been created to do this: do the name query on the wins server
and send the announce host to the answer to this query.
jeremy @ vantive wrote the original code to do this, which used the
name_query() function. i'm trying to avoid name_query: it times out and
generally messes things up, but using queue_netbios_packet() and
queue_netbios_pkt_wins() is... not intuitive?
lkcl with help from jra
(This used to be commit 6e932e4bae8b46e7ff4a55a75484bad78308336a)
|
|
namedbname.c:find_name_search() needed search capability on both local
subnet records and WINS records. it used to return NULL if the name
was not found in the local subnet records even if you asked it to search
the WINS name records as well.
(This used to be commit 96c2efded884ce4390c5da68afaccca9acc17558)
|
|
lkcl
(This used to be commit 45d3b2644733333c657c48a69719fec72881f7df)
|
|
namedbname.c:search_for_name() wasn't looking for 0x1b as well as
0x0 and 0x20 name types.
reduced number of retransmissions of packets from 4 to 3 times.
added code that ensures remote lmhosts entries don't get deleted when
a master browser cannot be found on a remote subnet. stopped forcing
an election on remote subnets if a master browser cannot be found.
stopped browse list and wins list from being written out too frequently.
only add samba's names to local interfaces.
add 0x1c name if we are a domain logon machine (needs more exploration).
why bother reloading services when receiving a SIGTERM?
sort out add_my_name_entry() and remove_name_entry() to deal with
broadcast, samba as a WINS and samba using a WINS. properly.
added extra debug information to help with expected response queue code.
updated debug comments in become_master().
altered dump_names() DEBUG format. it looks prettier.
altered wins.dat format to match DEBUG format.
lkcl
(This used to be commit 429f1f975e2936f2e220b656c51c211d48d47047)
|
|
previous commit (see previous log message for details)
fixed bug in nameservreply.c: wrong macro in use (RSSVAL not IVAL!).
did another make proto
lkcl
(This used to be commit d78b319062144d14a54408fce77ccc313ad58ee3)
|