| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
the client code still needs some work
|
| |
|
|
|
|
| |
to make it type incompatible with BOOL so we catch errors sooner. This has already found a number of bugs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
major changes include:
- added NSTATUS type
- added automatic mapping between dos and nt error codes
- changed all ERROR() calls to ERROR_DOS() and many to ERROR_NT()
these calls auto-translate to the client error code system
- got rid of the cached error code and the writebmpx code
We eventually will need to also:
- get rid of BOOL, so we don't lose error info
- replace all ERROR_DOS() calls with ERROR_NT() calls
but that is too much for one night
|
|
|
|
|
| |
and POSIX.
Jeremy.
|
|
|
|
| |
Jeremy.
|
| |
|
| |
|
|
|
|
| |
Jeremy.
|
|
|
|
|
|
| |
Don't delete a share mode that failed to remove the oplock (doh!),
just set the oplock entry to zero....
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
link from Seattle is having problems.
I've added 3 things here to work on the fcntl spin
problem.
1). Check *all* tdb return codes... :-).
2). If we're asking ourselves to break an oplock, and we can't
find a fsp pointer that matches the entry, this is a *logic bug*
and we should abort and panic so someone with gdb can pick up
the pieces.
3). After we've broken an oplock, ensure that the entry itself
has been removed, and if not remove it ourselves. This should
not be neccessary in a correctly working environmen,t, but will
provide an added layer of robustness in error situations.
4). I hate german keyboards :-) :-).
Jeremy.
|
|
|
|
|
|
|
| |
we're comparing structures (ie. don't just do a memcmp). I
don't think this will fix the fcntl spin issue, but it's a
"just in case" change.
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
|
|
| |
many possible mem leaks, and segfaults fixed.
someone should port this fix to 2.2 also.
|
|
|
|
| |
Jeremy.
|
|
|
|
|
| |
lockingX calls - use that instead of smb_pid in the packet.
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
|
| |
Clarion locktest.
Jeremy.
|
| |
|
|
|
|
| |
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when copying to a full disk problem, I discovered that we were not allowing
the delete on close flag to be set properly, this led to other things, and
after investigation of the proper delete on close semantics and their relationship
to the file_share_delete flag I discovered there were some cases where we
weren't doing the deny modes properly. And this after only 5 years working
on them..... :-) :-).
So here's the latest attempt. I realised the delete on close flag needs to
be set across all smbds with a dev/ino pair open - in addition, the delete
on close flag, allow share delete and delete access requested all need to
be stored in the share mode tdb.
The "delete_on_close" entry in the fsp struct is now redundant and should
really be removed. This may also mean we can get rid of the "iterate_fsp"
calls that I didn't like adding in the first place. Whilst doing this patch,
I also discovered we needed to do the se_map_generic() call for file opens
and POSIX ACL mapping, so I added that also.
This code, although ugly, now passes the deny mode torture tests plus the
delete on close tests I added. I do need to add one more multiple connection
delete on close test to make sure I got the semantics exactly right, plus we
should also (as Andrew suggested) move to random testing here.
The good news is that NT should now correctly delete the file on disk
full error when copying to a disk :-).
Jeremy.
|
|
|
|
|
|
| |
RPC code to merge with new passdb code.
Currently rpcclient doesn't compile. I'm working on it...
Jeremy.
|
| |
|
|
|
|
|
|
|
|
| |
a --with-spinlocks option to configure, this does mean the on-disk tdb
format has changed, so 2.2alphaX sites will need to re-create their
tdb's. The upside is no more tdb fragmentation and a +5% on netbench.
Swings and roundabouts....
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
|
| |
We now use our own vfs layer to do get/set acl calls (hurrah!).
Jeremy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a conn struct depending on the call.
We need this to have a clean NT ACL call interface.
This will break any existing VFS libraries (that's why this is pre-release
code).
Andrew gets credit for this one :-) :-).
In addition - added Herb's WITH_PROFILE changes - Herb - please examine
the changes I've made to the smbd/reply.c code you added. The original
code was very ugly and I have replaced it with a
START_PROFILE(x)/END_PROFILE(x) pair using the preprocessor.
Please check this compiles ok with the --with-profile switch.
Jeremy.
|
|
|
|
|
| |
The motivation for this system is to replace the UDP message for
oplocks, but this commit only does the "set debug level" message.
|
| |
|
| |
|
|
|
|
|
|
| |
ranges (not just included lock ranges) should be handled correctly.
UNIT test still needed.
Jeremy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to find bugs. On 64 bit IRIX, structure packing means that
a
struct {
SMB_DEV_T dev /* 4 bytes */
SMB_INO_T ino /* 8 bytes */
}
has 4 bytes of padding between the two members. If you
don't null the memory before using it as a tdb key,
you randomly can't find keys depending on what is in
the padding. This caused me immense pain and was hard
to track down.... :-)
Jeremy.
|
|
|
|
|
| |
to correctly set the fnum, as the brl_conflict code looks at it.
Jeremy.
|
|
|
|
|
| |
Fixed range split into two, as DLIST_ADD has the wrong semantics...
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
|
| |
case.
Jeremy.
|
|
|
|
|
| |
This caused smbd crashes on SIGKILL.
Jeremy.
|
|
|
|
|
| |
locktest.
Jeremy.
|
|
|
|
| |
- fixed a bug which caused lock records to not decrease in size
|
|
|
|
|
|
|
|
| |
to overlay a write lock on the same fnum. When overlaying read locks onto
a write lock, the number of locks is counted, and the first unlock removes
the write lock and downgrades this to a read lock. Do the same when mapping
to POSIX.
Jeremy.
|
|
|
|
|
|
|
| |
counting when Windows downgrades a write lock to a read lock, then reference
counts the unlocks to match the locks.
With this code the POSIX unlock isn't done until the final Windows unlock.
Jeremy.
|
|
|
|
|
|
|
|
| |
userdom_struct. As the name implies this also contains a domain
(unused at the moment).
This will be important shortly, as operation in appliance mode needs
the domain to be always carried with the username.
|
|
|
|
|
|
|
| |
errors etc.) into locking/posix.c, where it is needed. fcntl_lock in lib/util.c
is now very small and clean.
Added (*lock) op to vfs layer.
Jeremy.
|
|
|
|
|
| |
of doing a system call every time we want to just get our pid.
Jeremy.
|
|
|
|
|
|
| |
utils/make_smbcodepage.c:
utils/make_unicodemap.c: Insure 'make install' fixes.
Jeremy.
|