mirror of
https://github.com/samba-team/samba.git
synced 2025-08-04 08:22:08 +03:00
fixed some places where we don't brace (flags & STR_UNICODE)
this fixes the samba4 server with ascii clients
(This used to be commit c770603ac6
)
This commit is contained in:
@ -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)
|
ssize_t push_string(const void *base_ptr, void *dest, const char *src, size_t dest_len, int flags)
|
||||||
{
|
{
|
||||||
if (!(flags & STR_ASCII) && \
|
if (!(flags & STR_ASCII) && \
|
||||||
((flags & STR_UNICODE || \
|
(((flags & STR_UNICODE) || \
|
||||||
(SVAL(base_ptr, NBT_HDR_SIZE+HDR_FLG2) & FLAGS2_UNICODE_STRINGS)))) {
|
(SVAL(base_ptr, NBT_HDR_SIZE+HDR_FLG2) & FLAGS2_UNICODE_STRINGS)))) {
|
||||||
return push_ucs2(base_ptr, dest, src, dest_len, flags);
|
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)
|
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) && \
|
if (!(flags & STR_ASCII) && \
|
||||||
((flags & STR_UNICODE || \
|
(((flags & STR_UNICODE) || \
|
||||||
(SVAL(base_ptr, NBT_HDR_SIZE+HDR_FLG2) & FLAGS2_UNICODE_STRINGS)))) {
|
(SVAL(base_ptr, NBT_HDR_SIZE+HDR_FLG2) & FLAGS2_UNICODE_STRINGS)))) {
|
||||||
return pull_ucs2(base_ptr, dest, src, dest_len, src_len, flags);
|
return pull_ucs2(base_ptr, dest, src, dest_len, src_len, flags);
|
||||||
}
|
}
|
||||||
|
@ -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)
|
char **dest, const char *src, int byte_len, unsigned flags)
|
||||||
{
|
{
|
||||||
if (!(flags & STR_ASCII) &&
|
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);
|
return cli_req_pull_ucs2(req, mem_ctx, dest, src, byte_len, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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)
|
size_t req_pull_string(struct request_context *req, const char **dest, const char *src, int byte_len, unsigned flags)
|
||||||
{
|
{
|
||||||
if (!(flags & STR_ASCII) &&
|
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);
|
return req_pull_ucs2(req, dest, src, byte_len, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -195,6 +195,7 @@ void *shm_setup(int size)
|
|||||||
BOOL wire_bad_flags(WIRE_STRING *str, int flags)
|
BOOL wire_bad_flags(WIRE_STRING *str, int flags)
|
||||||
{
|
{
|
||||||
int len;
|
int len;
|
||||||
|
if (!str || !str->s) return True;
|
||||||
len = strlen(str->s);
|
len = strlen(str->s);
|
||||||
if (flags & STR_TERMINATE) len++;
|
if (flags & STR_TERMINATE) len++;
|
||||||
if ((flags & STR_UNICODE) || !getenv("CLI_FORCE_ASCII")) {
|
if ((flags & STR_UNICODE) || !getenv("CLI_FORCE_ASCII")) {
|
||||||
|
Reference in New Issue
Block a user