Age | Commit message (Collapse) | Author | Files | Lines |
|
out the error handling into a bunch of separate functions rather than all
being handled in one big function.
Fetch error codes from the last received packet:
void cli_dos_error(struct cli_state *cli, uint8 *eclass, uint32 *num);
uint32 cli_nt_error(struct cli_state *);
Convert errors to UNIX errno values:
int cli_errno_from_dos(uint8 eclass, uint32 num);
int cli_errno_from_nt(uint32 status);
int cli_errno(struct cli_state *cli);
Detect different kinds of errors:
BOOL cli_is_dos_error(struct cli_state *cli);
BOOL cli_is_nt_error(struct cli_state *cli);
BOOL cli_is_error(struct cli_state *cli);
This also means we now support CAP_STATUS32 as we can decode and understand
NT errors instead of just DOS errors. Yay!
Ported a whole bunch of files in libsmb to use this new API instead of the
just the DOS error.
(This used to be commit 6dbdb0d813f3c7ab20b38baa1223b0b479aadec9)
|
|
This commit gets rid of all our old codepage handling and replaces it with
iconv. All internal strings in Samba are now in "unix" charset, which may
be multi-byte. See internals.doc and my posting to samba-technical for
a more complete explanation.
(This used to be commit debb471267960e56005a741817ebd227ecfc512a)
|
|
pointers.
Jeremy.
(This used to be commit 15c64199cb29e2fca6ee7353673dbb3f962e0e24)
|
|
send unaligned unicode strings sometimes!
Fixed our handling of the workgroup name tacked on the end of the
NT1 negprot response (a unaligned unicode)
fixed a couple of places where we should be using the message_end fns instead
of pre-calculated buffer lengths
(This used to be commit 86613493a9b2e56523153486931d0bf8d39beb7a)
|
|
in a twitch.
(This used to be commit 672242a52eafde35cba4657bce248fef0df9e46b)
|
|
(This used to be commit bfcc6f88271025760732271f03933839b1cbe0de)
|
|
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.
(This used to be commit 51987684bd231c744da2e5f3705fd236d5616173)
|
|
Jeremy.
(This used to be commit 6f7d9e29e4d3a17254ff0ae20c0da63eacded7fe)
|
|
Used in smbtorture mods. Re-cast cli_nt_create() as a call to cli_nt_create_full().
Jeremy.
(This used to be commit f602fa1205e99541e825ccae8502c35cd0e7ccfc)
|
|
unicode bit set differently to capabilities
(This used to be commit 34a0821e087810381996f5ff6cf3b4d7b9bb53a0)
|
|
macros to STR_
(This used to be commit 95c9e4e0ba8f37f565aaf136f41eb76489441ff7)
|
|
(This used to be commit 847de3b4adfb00a98032e478b2663d09e240380e)
|
|
enabled by default
you can disable it by setting the environment variable CLI_FORCE_ASCII
(This used to be commit 4d59c08c5e6f54c0d6ced7650750cb987e77b6c9)
|
|
(This used to be commit 5b2ef8a1b914265c6072c968d2dad7d26c2aeffc)
|
|
(This used to be commit f6b8d6730452522f77852af0917cb48424d4c8a9)
|
|
(This used to be commit c40a1e4ebdb379482bf6e7d4efcc9b5321a4e7c6)
|
|
- converted cli_rename and cli_unlink
(This used to be commit 0a8992e224b7a3d90d45b13d73fa8a6f155efa79)
|
|
(This used to be commit db60c0c26242be0370e6459fe6f1634c97b61176)
|
|
(This used to be commit 95268f52556e5983004e594002b7e18a8656d1f0)
|
|
(This used to be commit bce3ed01a9c3c7c89cdc21b60f1122dc6b6db264)
|
|
regardless of the settings negotiated in the flags2 smb field.
(This used to be commit c4476c6315a6e99dd4a1d0e3185a0d17c073205d)
|
|
(This used to be commit a2d07994e0376a8d530d262573c96710bdff2236)
|
|
(This used to be commit b7a1c00bed5f0650783c8d7397c11aa2ac59aa04)
|
|
a byte range lock (write lock only, but Win2k breaks on read lock also so I
do the same) - if you think about why, this is obvious. Also fixed our client
code to do level II oplocks, if requested, and fixed the code where we would
assume the client wanted level II if it advertised itself as being level II
capable - it may not want that.
Jeremy.
(This used to be commit 213cd0b5192307cd4b0026cae94b2f52fb1b0c02)
|
|
(This used to be commit 91f0a3cc2f59a49f6ce8550e7d07b9b01e0b285f)
|
|
the next step is splitting out the auth code, to make adding lukes
NTLMSSP support easier
(This used to be commit 10c5470835b43116ed48b3137c3b9cc867a20989)
|