1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-16 20:23:50 +03:00
Commit Graph

84 Commits

Author SHA1 Message Date
Gerald Carter
7a4c874842 merging some rpcclient and net functionality from HEAD -
Jeremy Allison
8dcbfa4e77 Fix client reporting of 64 bit files.
Jeremy.
-
Herb Lewis
172dccf55e use the new IVAL_TO_SMB_OFF_T for file_info size member
dir now shows correct size on large files
-
Gerald Carter
65e7b5273b sync'ing up for 3.0alpha20 release -
Andrew Tridgell
03ac082dcb updated the 3.0 branch from the head branch - ready for alpha18 -
Tim Potter
6a58c9bd06 Removed version number from file header.
Changed "SMB/Netbios" to "SMB/CIFS" in file header.
-
Jeremy Allison
01ff6ce496 Same fix as went into 2.2 (I'm waiting for jerry to finish some code).
Jeremy.
-
Simo Sorce
48fc6a6cd5 move to SAFE_FREE() -
Andrew Tridgell
55d5828e60 use cli_is_error() instead of looking in smb_rcls, otherwise NT status
codes don't work correctly
-
Andrew Tridgell
ae669720d8 fixed shortname length in trans2 list -
Andrew Tridgell
5a3fd3317e a fix for directory listing with the dave/thursby client -
Andrew Tridgell
3eba9606f7 a bunch of fixes from the sflight to seattle
in particular:
 - fixed NT status code for a bunch of ops
 - fixed handling of protocol levels in ms_fnmatch
-
Tim Potter
a7863f0f03 Fixed crash bug when attempting to list contents of non-existent
directory.
-
Simo Sorce
fa8e55b8b4 this is a big global fix for the ptr = Realloc(ptr, size) bug.
many possible mem leaks, and segfaults fixed.

someone should port this fix to 2.2 also.
-
Tim Potter
6dbdb0d813 A rewrite of the error handling in the libsmb client code. I've separated
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.
-
Andrew Tridgell
dc99b9ddf8 fixed some unicode and LANMAN2 bugs in trans2 find first -
Andrew Tridgell
debb471267 The big character set handling changeover!
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.
-
Andrew Tridgell
797293811e added STR_ASCII support to clistr_pull() -
Andrew Tridgell
34a0821e08 simpler clistr interface which handles individual packets having
unicode bit set differently to capabilities
-
Andrew Tridgell
95c9e4e0ba to use the same macros in the client and server rename the CLISTR_
macros to STR_
-
Andrew Tridgell
e7ccb9be6d made some LANMAN1 wildcard progress
it now handles -M LANMAN1 -f '.x' -m '?x' nicely
-
Andrew Tridgell
a5407366b7 add cli_list_new() for forced new protocol listing -
Andrew Tridgell
735f29319b use cli_list_old() when negotiating the older protocols -
Andrew Tridgell
4d59c08c5e the unicode conversion of our client code is complete enough to be
enabled by default

you can disable it by setting the environment variable CLI_FORCE_ASCII
-
Andrew Tridgell
5b2ef8a1b9 yipee! client unicode now works well with nt -
Andrew Tridgell
bdce09b778 converted cli_list() -
Andrew Tridgell
ba3ce3404e pipe opening now works with unicode -
Richard Sharpe
d45e667a74 Needed a callback arg on cli_list ... -
Jeremy Allison
1ed146467e lib/util_unistr.c:
libsmb/clilist.c:
rpc_server/srv_spoolss_nt.c:
smbd/trans2.c: Changed unistr_to_ascii to unistr_to_dos - do codepage conversion.
msdfs/msdfs.c: Removed stub unistr_to_dos.
libsmb/pwd_cache.c: Removed obfuscation functions as they don't do anything and
					don't add any security.
Jeremy.
-
Andrew Tridgell
9e4b352945 fixed parsing of broken NT short name -
Andrew Tridgell
64f91a7a98 - get the findclose code right
- handle broken NT response to trans2 findfirst
-
Andrew Tridgell
8a5c8cfa0e added cli_list_old() to allow for old style directory listing from
masktest
-
Andrew Tridgell
cc9e007cdf YIPEE!!!!!
We finally have a perfect emulation of Microsoft wildcard
matching. The routine ms_fnmatch() does wildcard matching with all MS
wildcards (including the unicode wildcards), and masktest against a
NT4 workstation with hundreds of thousands of random exmaples has not
found a single error.

amazingly it is only about 60 lines of code, but it has taken us years
to get it right. I didn't sleep much last night :)
-
Andrew Tridgell
10c5470835 split clientgen.c into several parts
the next step is splitting out the auth code, to make adding lukes
NTLMSSP support easier
-