| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| | |
also doesn't switch to a registration if a refresh fails, instead the
name is removed! This makes it even more imortant that a Samba WINS
server accepts refresh requests as registration requests if the name
is not registered. I've gone ahead and implemented this.
|
| |
| |
| |
| | |
the local_master name on the unicast subnet if it is unknown.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
amount of network traffic grows as the square of the number of
workgroups. It probably wouldn't have caused problems but to be safe I
changed the code to use random() to decrease the probability of a
DMB<->DMB sync in proportion to the number of known workgroups. This
keeps the nice browse connectivity while making the traffic rise only
linearly with the number of workgroups.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The previous code was strictly correct, but not very practical. self
names were only refreshed every 3 days. I hit a situation where the
Samba WINS server was restarted after deleting wins.dat and didn't
notice some remote subnets (also running Samba). I realised that the
complete database wouldn't have been rebuilt for 3 days, which is way
too long. In order to recover from WINS restarts we need a much
shorter maximum refresh time.
|
| | |
|
| | |
|
| |
| |
| |
| | |
the correct port in environments like ip masq.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
to work (not a lot of testing yet though).
Now we just need to deal with people worried about having more than
two nmbd processes sometimes. (the async processes are created on
demand for browse sync, so you'll only see more than 2 occasionally)
|
| | |
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
are now sorted by the number of common leading bits in the IP address
with the address of the querying host.
|
| | |
|
| |
| |
| |
| | |
or not timestamping.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| | |
- 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.
|
| |
| |
| |
| | |
memory then frees it. Useful for catching bugs.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
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!)
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
Jeremy.
|
| |
| |
| |
| |
| |
| | |
NetBench testing though.... :-). Attempts to efficiently reduce
the number of stat() calls Samba does.
Jeremy.
|
| | |
|
| |
| |
| |
| | |
arrays. This prevents (harmless) warnings from some compilers
|
| | |
|
| |
| |
| |
| | |
needs them and what should really be there.
|
| | |
|
| |
| |
| |
| |
| |
| | |
the changes made re: -a and -o options.
Chris -)-----
|
| |
| |
| |
| |
| | |
rpcsvc/ypclnt.h wants a struct dom_binding. knock-on include effect under
freebsd 2.1.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
SMB_SET_FILE_ALLOCATION_INFO.
Office 97 expects this call to succeed when you tell it you do NT SMB calls.
Jeremy.
|
| |
| |
| |
| |
| | |
have an ASSERT macro defined.
Jeremy.
|
| | |
|
| |
| |
| |
| | |
in the rpc code.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 -)-----
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 -)-----
|
| |
| |
| |
| |
| |
| | |
if we do then NTws gets a BSOD.
I checked and NT server refuses these queries too :)
|