| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
'release-2-0-0-alpha-5'.
|
| | |
|
| |
| |
| |
| | |
non-writeable for some reason.
|
| |
| |
| |
| |
| | |
expected. wins_write_database() didn't exit after doing its stuff, so
when it returned you had two copies of nmbd :)
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In sig_term() we were calling wins_write_database(0) which would fork a
child. This child might then get killed by the same process killing
off the parent. That process would then fork another child etc.
The solution is to pass a "background" flag to wins_write_database(0)
and only fork if this is set.
|
| |
| |
| |
| |
| | |
calls to strlen() a profiling hotspot.
Jeremy.
|
| |
| |
| |
| | |
Jeremy.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
directories (NTTrans/Create with Security Descriptor for
a directory). It turns out the CIFS spec is bogus (what a
suprise) and the 'is a directory' flag is actually embedded
in the create_options field.
Jeremy.
|
| |
| |
| |
| |
| |
| | |
Problems were just dumb bugs like (defining sys_lseek to return 'int' DOH !).
Jeremy.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I have tested it by creating a 'holey' 20GB file - checking that
it shows up correctl in the NT file view (it does) and am busily
copying it to NULL: on the NT box. All good so far.... :-).
Also implemented NT 'delete on close' semantics.
Jeremy.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Got 'religion' about using size_t and ssize_t for read/write stuff
as part of the code to expose 64 bits to the client.
This checkin does all the 'easy' stuff - such as all the read/write/lock
calls - but now comes the harder parts (open & friends) and all the
file enquiry functions.....
Jeremy.
|
| |
| |
| |
| |
| |
| |
| | |
files.c: Removed fd bitmap - not needed. Added code to do use arrays rather
than linked list - disabled by default but can be enabled to check
performance.
Jeremy.
|
| |
| |
| |
| |
| |
| | |
written continuously rather than once every 5 seconds (at most).
also changed it to 20 seconds :)
|
| |
| |
| |
| |
| |
| |
| | |
it if we're in case insensitive mode, and then doing a memcmp rather
than a StrnCaseCmp (which is *horribly* slow) on every lookup.
Fixed bug with refusing NT SMB's (use *brackets* where needed :-).
Jeremy.
|
| |
| |
| |
| | |
Chris -)-----
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
tactics :-). Protected by #ifdef until used.
Fixed bug in fd_attempt_close() where a pointer to potentially
free'd memory was returned. I hate that.
Added "blocking locks" as a per-share option for performance testing.
Changed is_mangled() so it will return true if called with a pathname
and any component of the pathname was mangled (it was already attempting
to do this, but not checking for a '/' as end-of-mangle).
This should be a better fix for the wierd stat cache bug Andrew identified.
Jeremy.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
I think we need this so we can rule out stat cache bugs when dealing
with bug reports. If we ask a user to disable the stat cache and the
problem persists then we know it isn't a stat cache bug. The stat
cache code is sufficiently complicated that it can be pretty hard to
tell if it is causing problems or not.
|
| |
| |
| |
| |
| |
| | |
The fix I used is a very conservative fix. I'll leave it up to Jeremy
to put in a better fix. The problem was the detection of mangled
names.
|
| |
| |
| |
| | |
aborts if essential functions are not available.
|
| |
| |
| |
| |
| | |
memory. Some FreeBSD systems have sysv shared memory but no
semaphores!
|
| | |
|
| |
| |
| |
| |
| | |
source directory! This adds a new "trivial" test that makes sure that
the autoconf tests are working. It aborts the configure run if not.
|
| |
| |
| |
| |
| |
| |
| |
| | |
painstakingly put in :)
This gets rid of most of the #ifdef LARGE_SMB_INO_T ifdefs around
DEBUG() statements. We just use %.0f in all cases. Makes the code a
bit easier to read :)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
prompted by the interpret_security() dead code that Jean-Francois
pointed out I added a make target "finddead" that finds potentially
dead (ie. unused) code. It spat out 304 function names ...
I went through these are deleted many of them, making others static
(finddead also reports functions that are used only in the local
file).
in doing this I have almost certainly deleted some useful code. I may
have even prevented compilation with some compile options. I
apologise. I decided it was better to get rid of this code now and add
back the one or two functions that are needed than to keep all this
baggage.
So, if I have done a bit too much "destroying" then let me know. Keep
the swearing to a minimum :)
One bit I didn't do is the ubibt code. Chris, can you look at that?
Heaps of unused functions there. Can they be made static?
|
| |
| |
| |
| | |
Jeremy.
|
| |
| |
| |
| |
| | |
Added "nt smb support" parameter to allow NT SMB's to be turned off.
Jeremy.
|
| |
| |
| |
| | |
out it is no longer used (replaced by enumerated types in loadparm.c)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
to oplock break message passing). I think that smbd/nmbd are now
inode and offset size independent (at least for 32 bit and 64 bit
systems).
Now to expose all this new functionality to NT clients.....
Jeremy.
|
| |
| |
| |
| | |
Jeremy.
|
| |
| |
| |
| |
| |
| | |
Nearly at the stage where I can expose the 64-bit-ness to
the NT clients....
Jeremy.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
to check for stat64 and friends, and then changes much of Samba
to use the data type SMB_OFF_T for file size information.
stat/fstat/lstat/lseek/ftruncate have now become sys_stat etc. to hide
the 64 bit calls if needed.
Note that this still does not expose 64 bit functionality to the
client, as the changes to the reply_xxx smb's are not yet done.
This code change should make these changes possible.
Still to do before full 64 bit-ness to the client:
fcntl lock code.
statfs code
widening of dev_t and ino_t (now possible due to SMB_DEV_T and SMB_OFF_T
types being in place).
Let me know if wierd things happen after this check-in and I'll
fix them :-).
Jeremy.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
observed from NT. We were aligning the data before but not the
parameters. This aligns both.
This change may break some other parts of ipc.c if we have relied on
the alignment somewhere, so if you think this broke something then let
me know.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
mangling a name can't increase it's size which isn't true. (imagine a
file called "L B" which mangles to "LB~XX")
The symptoms were that users couldn't run batch files from short
directory names that contained non 8.3 characters (such as spaces).
|
| |
| |
| |
| | |
Jeremy.
|
| |
| |
| |
| | |
always. Don't even install a handler.
|
| | |
|
| | |
|
| |
| |
| |
| | |
Jeremy.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
bit file interface for the NT SMB's.
Created a new define, SMB_STRUCT_STAT that currently is
defined to be struct stat - this wil change to a user
defined type containing 64 bit info when the correct
wrappers are written for 64 bit stat(), fstat() and lstat()
calls.
Also changed all sys_xxxx() calls that were previously just
wrappers to the same call prefixed by a dos_to_unix() call
into dos_xxxx() calls. This makes it explicit when a pathname
translation is being done, and when it is not.
Now, all sys_xxx() calls are meant to be wrappers to mask
OS differences, and not silently converting filenames on
the fly.
Jeremy.
|
| | |
|
| | |
|
| |
| |
| |
| | |
a table to give it a little border
|
| |
| |
| |
| | |
passwords with SWAT
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I made this change after getting a segv in reply_pipe_close(). The
funny thing was that pipes_open was 1 and Pipes was NULL. That "can't
happen" and suggests that we have a wild pointer somewhere.
I suspect the rpc code, as I was playing with long share names (a
share called "averylongusername") at the time and the logs show lots
of srvsvc operations. I bet there is a buffer in the rpc code
somewhere that is overflowing and trashing bits of the data segment.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
include/smb.h: Moved old typedefs of uint8 etc. into include/includes.h where
all the other defines live (changed them from typedefs to
defines).
Other changes : changed from using uint32 to SMB_DEV_T and SMB_INO_T
in preparation for moving to size independed (ie. 64 bit clean) device
and inode access. Stat call wrapper comes next :-).
Jeremy.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
nmbd default behavior (appending to logs instead of overwriting them) into
the "Major Changes" section, but added a "Minor Changes" section for the
things that wouldn't affect the running of Samba itself (eg., the splay
tree for WINS and the change to DEBUG output).
Chris -)-----
|