1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00

fixed some places where we don't brace (flags & STR_UNICODE)

this fixes the samba4 server with ascii clients
This commit is contained in:
Andrew Tridgell 0001-01-01 00:00:00 +00:00
parent 4059fbcf02
commit c770603ac6
4 changed files with 5 additions and 4 deletions

View File

@ -769,7 +769,7 @@ ssize_t pull_utf8_allocate(void **dest, const char *src)
ssize_t push_string(const void *base_ptr, void *dest, const char *src, size_t dest_len, int flags)
{
if (!(flags & STR_ASCII) && \
((flags & STR_UNICODE || \
(((flags & STR_UNICODE) || \
(SVAL(base_ptr, NBT_HDR_SIZE+HDR_FLG2) & FLAGS2_UNICODE_STRINGS)))) {
return push_ucs2(base_ptr, dest, src, dest_len, flags);
}
@ -794,7 +794,7 @@ ssize_t push_string(const void *base_ptr, void *dest, const char *src, size_t de
ssize_t pull_string(const void *base_ptr, char *dest, const void *src, size_t dest_len, size_t src_len, int flags)
{
if (!(flags & STR_ASCII) && \
((flags & STR_UNICODE || \
(((flags & STR_UNICODE) || \
(SVAL(base_ptr, NBT_HDR_SIZE+HDR_FLG2) & FLAGS2_UNICODE_STRINGS)))) {
return pull_ucs2(base_ptr, dest, src, dest_len, src_len, flags);
}

View File

@ -754,7 +754,7 @@ size_t cli_req_pull_string(struct cli_request *req, TALLOC_CTX *mem_ctx,
char **dest, const char *src, int byte_len, unsigned flags)
{
if (!(flags & STR_ASCII) &&
((flags & STR_UNICODE || (req->flags2 & FLAGS2_UNICODE_STRINGS)))) {
(((flags & STR_UNICODE) || (req->flags2 & FLAGS2_UNICODE_STRINGS)))) {
return cli_req_pull_ucs2(req, mem_ctx, dest, src, byte_len, flags);
}

View File

@ -483,7 +483,7 @@ static size_t req_pull_ascii(struct request_context *req, const char **dest, con
size_t req_pull_string(struct request_context *req, const char **dest, const char *src, int byte_len, unsigned flags)
{
if (!(flags & STR_ASCII) &&
((flags & STR_UNICODE || (req->flags2 & FLAGS2_UNICODE_STRINGS)))) {
(((flags & STR_UNICODE) || (req->flags2 & FLAGS2_UNICODE_STRINGS)))) {
return req_pull_ucs2(req, dest, src, byte_len, flags);
}

View File

@ -195,6 +195,7 @@ void *shm_setup(int size)
BOOL wire_bad_flags(WIRE_STRING *str, int flags)
{
int len;
if (!str || !str->s) return True;
len = strlen(str->s);
if (flags & STR_TERMINATE) len++;
if ((flags & STR_UNICODE) || !getenv("CLI_FORCE_ASCII")) {