1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-03 12:58:35 +03:00

12 Commits

Author SHA1 Message Date
Andrew Tridgell
d53d5beeb2 use cli_is_error() instead of looking in smb_rcls, otherwise NT status
codes don't work correctly
(This used to be commit 55d5828e608671f070a9e96938be0d16d50aeb26)
2001-09-05 11:32:59 +00:00
Andrew Tridgell
ee5f7237de started converting NTSTATUS to be a structure on systems with gcc in order to make it type incompatible with BOOL so we catch errors sooner. This has already found a number of bugs
(This used to be commit 1b778bc7d22efff3f90dc450eb12baa1241cf68f)
2001-08-27 17:52:23 +00:00
Jeremy Allison
364d0e56e9 Re-added readbraw call to test with smbtorture. This code not yet
tested...
Jeremy.
(This used to be commit fe85a19b4b9db5910ad8259890f94c9496e1aebf)
2001-08-24 20:20:08 +00:00
Tim Potter
2ccfea3de7 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.
(This used to be commit 6dbdb0d813f3c7ab20b38baa1223b0b479aadec9)
2001-08-10 06:00:33 +00:00
Andrew Tridgell
4592d107fc cli_read() was reading too many bytes.
(This used to be commit ba79d2a030b9ae087f0cc4248baa6cf6bee112fb)
2001-07-01 13:18:35 +00:00
Jeremy Allison
5fb9a869b7 Use a logical cli_read(), removed the cli_read_one() hack.
Jeremy.
(This used to be commit 2999eab5abe86bf08e693800c01ad544f04e4d6c)
2001-06-29 00:22:22 +00:00
Tim Potter
ff5a18ad3e Merged cli_read_one() function for reading DCE/RPC reply fragments.
(This used to be commit 9e074bc2bf2df34048b67457623bb8219fb1e4d6)
2001-06-22 01:09:40 +00:00
Andrew Tridgell
6fdffd9b6c added some comments to make the cli read code clearer
(This used to be commit bbfbe03cc6166c23c42a704b5acaa19cbdbc39ce)
2001-06-22 00:42:53 +00:00
Andrew Tridgell
91b8a8d1d2 next_token() was supposed to be a reentrant replacement for strtok(),
but the code suffered from bitrot and is not now reentrant. That means
we can get bizarre behaviour
i've fixed this by making next_token() reentrant and creating a
next_token_nr() that is a small non-reentrant wrapper for those lumps
of code (mostly smbclient) that have come to rely on the non-reentrant
behaviour
(This used to be commit 674ee2f1d12b0afc164a9e9072758fd1c5e54df7)
2001-06-21 09:10:42 +00:00
Jeremy Allison
5264e9a2a7 Set correct reply word in large writeX (greater than 64k) replies.
Also added smbtorture test for this.
Jeremy.
(This used to be commit 6d65556ae8bea45a203defaded8436cbb56965e1)
2001-06-05 08:17:16 +00:00
Jeremy Allison
7f36df301e Tidyup removing many of the 0xC0000000 | NT_STATUS_XXX stuff (only need NT_STATUS_XXX).
Removed IS_BITS_xxx macros as they were just reproducing "C" syntax in a more
obscure way.
Jeremy.
(This used to be commit c55bcec817f47d6162466b193d533c877194124a)
2000-08-01 18:32:34 +00:00
Andrew Tridgell
858e63cab3 split clientgen.c into several parts
the next step is splitting out the auth code, to make adding lukes
NTLMSSP support easier
(This used to be commit 10c5470835b43116ed48b3137c3b9cc867a20989)
2000-04-25 14:04:06 +00:00