diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2007-12-06 17:52:23 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2007-12-21 05:48:30 +0100 |
commit | 39ee38d9c1aabf4db065b433d067d0da053d7d61 (patch) | |
tree | 5c827c09374873fe386c28ef51415d81a49c939a /source4/libcli | |
parent | b440ed3df31b11d520c6d744cf53c54165f61b7a (diff) | |
download | samba-39ee38d9c1aabf4db065b433d067d0da053d7d61.tar.gz samba-39ee38d9c1aabf4db065b433d067d0da053d7d61.tar.bz2 samba-39ee38d9c1aabf4db065b433d067d0da053d7d61.zip |
r26316: Use contexts for conversion functions.
(This used to be commit f6420d933b5b011d428974f3a2a57edf19e6f482)
Diffstat (limited to 'source4/libcli')
-rw-r--r-- | source4/libcli/auth/smbencrypt.c | 12 | ||||
-rw-r--r-- | source4/libcli/raw/rawfileinfo.c | 4 | ||||
-rw-r--r-- | source4/libcli/raw/rawrequest.c | 24 | ||||
-rw-r--r-- | source4/libcli/smb2/request.c | 4 |
4 files changed, 23 insertions, 21 deletions
diff --git a/source4/libcli/auth/smbencrypt.c b/source4/libcli/auth/smbencrypt.c index bfac395ef9..ccad1058bf 100644 --- a/source4/libcli/auth/smbencrypt.c +++ b/source4/libcli/auth/smbencrypt.c @@ -67,7 +67,7 @@ _PUBLIC_ bool E_md4hash(const char *passwd, uint8_t p16[16]) int len; void *wpwd; - len = push_ucs2_talloc(NULL, &wpwd, passwd); + len = push_ucs2_talloc(NULL, global_smb_iconv_convenience, &wpwd, passwd); if (len < 2) { /* We don't want to return fixed data, as most callers * don't check */ @@ -97,7 +97,7 @@ _PUBLIC_ bool E_deshash(const char *passwd, uint8_t p16[16]) ZERO_STRUCT(dospwd); /* Password must be converted to DOS charset - null terminated, uppercase. */ - push_string(dospwd, passwd, sizeof(dospwd), STR_ASCII|STR_UPPER|STR_TERMINATE); + push_string(global_smb_iconv_convenience, dospwd, passwd, sizeof(dospwd), STR_ASCII|STR_UPPER|STR_TERMINATE); /* Only the fisrt 14 chars are considered, password need not be null terminated. */ E_P16((const uint8_t *)dospwd, p16); @@ -150,14 +150,14 @@ bool ntv2_owf_gen(const uint8_t owf[16], } } - user_byte_len = push_ucs2_talloc(mem_ctx, &user, user_in); + user_byte_len = push_ucs2_talloc(mem_ctx, global_smb_iconv_convenience, &user, user_in); if (user_byte_len == (ssize_t)-1) { DEBUG(0, ("push_uss2_talloc() for user returned -1 (probably talloc() failure)\n")); talloc_free(mem_ctx); return false; } - domain_byte_len = push_ucs2_talloc(mem_ctx, &domain, domain_in); + domain_byte_len = push_ucs2_talloc(mem_ctx, global_smb_iconv_convenience, &domain, domain_in); if (domain_byte_len == (ssize_t)-1) { DEBUG(0, ("push_ucs2_talloc() for domain returned -1 (probably talloc() failure)\n")); talloc_free(mem_ctx); @@ -468,7 +468,7 @@ bool encode_pw_buffer(uint8_t buffer[516], const char *password, int string_flag /* the incoming buffer can be any alignment. */ string_flags |= STR_NOALIGN; - new_pw_len = push_string(new_pw, + new_pw_len = push_string(global_smb_iconv_convenience, new_pw, password, sizeof(new_pw), string_flags); @@ -521,7 +521,7 @@ bool decode_pw_buffer(uint8_t in_buffer[516], char *new_pwrd, } /* decode into the return buffer. Buffer length supplied */ - *new_pw_len = pull_string(new_pwrd, &in_buffer[512 - byte_len], new_pwrd_size, + *new_pw_len = pull_string(global_smb_iconv_convenience, new_pwrd, &in_buffer[512 - byte_len], new_pwrd_size, byte_len, string_flags); #ifdef DEBUG_PASSWORD diff --git a/source4/libcli/raw/rawfileinfo.c b/source4/libcli/raw/rawfileinfo.c index 17e1792fe3..972ae7f5e1 100644 --- a/source4/libcli/raw/rawfileinfo.c +++ b/source4/libcli/raw/rawfileinfo.c @@ -61,7 +61,9 @@ NTSTATUS smbcli_parse_stream_info(DATA_BLOB blob, TALLOC_CTX *mem_ctx, if (nlen > blob.length - (ofs + 24)) { return NT_STATUS_INFO_LENGTH_MISMATCH; } - size = convert_string_talloc(io->streams, CH_UTF16, CH_UNIX, + size = convert_string_talloc(io->streams, + global_smb_iconv_convenience, + CH_UTF16, CH_UNIX, blob.data+ofs+24, nlen, &vstr); if (size == -1) { return NT_STATUS_ILLEGAL_CHARACTER; diff --git a/source4/libcli/raw/rawrequest.c b/source4/libcli/raw/rawrequest.c index 6a4f432088..43c984721b 100644 --- a/source4/libcli/raw/rawrequest.c +++ b/source4/libcli/raw/rawrequest.c @@ -418,7 +418,7 @@ size_t smbcli_req_append_string(struct smbcli_request *req, const char *str, uin smbcli_req_grow_allocation(req, len + req->out.data_size); - len = push_string(req->out.data + req->out.data_size, str, len, flags); + len = push_string(global_smb_iconv_convenience, req->out.data + req->out.data_size, str, len, flags); smbcli_req_grow_data(req, len + req->out.data_size); @@ -574,7 +574,7 @@ static size_t smbcli_req_pull_ucs2(struct smbcli_request *req, TALLOC_CTX *mem_c return 0; } - ret = convert_string_talloc(mem_ctx, CH_UTF16, CH_UNIX, src, src_len2, (void **)dest); + ret = convert_string_talloc(mem_ctx, global_smb_iconv_convenience, CH_UTF16, CH_UNIX, src, src_len2, (void **)dest); if (ret == -1) { *dest = NULL; return 0; @@ -616,7 +616,7 @@ size_t smbcli_req_pull_ascii(struct smbcli_request *req, TALLOC_CTX *mem_ctx, src_len2++; } - ret = convert_string_talloc(mem_ctx, CH_DOS, CH_UNIX, src, src_len2, (void **)dest); + ret = convert_string_talloc(mem_ctx, global_smb_iconv_convenience, CH_DOS, CH_UNIX, src, src_len2, (void **)dest); if (ret == -1) { *dest = NULL; @@ -626,7 +626,7 @@ size_t smbcli_req_pull_ascii(struct smbcli_request *req, TALLOC_CTX *mem_ctx, return ret; } -/* +/** pull a string from a request packet, returning a talloced string the string length is limited by the 3 things: @@ -651,7 +651,7 @@ size_t smbcli_req_pull_string(struct smbcli_request *req, TALLOC_CTX *mem_ctx, } -/* +/** pull a DATA_BLOB from a reply packet, returning a talloced blob make sure we don't go past end of packet @@ -723,7 +723,7 @@ NTTIME smbcli_pull_nttime(void *base, uint16_t offset) return ret; } -/* +/** pull a UCS2 string from a blob, returning a talloced unix string the string length is limited by the 3 things: @@ -769,7 +769,7 @@ size_t smbcli_blob_pull_ucs2(TALLOC_CTX* mem_ctx, src_len2 = utf16_len_n(src, src_len); - ret = convert_string_talloc(mem_ctx, CH_UTF16, CH_UNIX, src, src_len2, (void **)&dest2); + ret = convert_string_talloc(mem_ctx, global_smb_iconv_convenience, CH_UTF16, CH_UNIX, src, src_len2, (void **)&dest2); if (ret == -1) { *dest = NULL; return 0; @@ -779,7 +779,7 @@ size_t smbcli_blob_pull_ucs2(TALLOC_CTX* mem_ctx, return src_len2 + alignment; } -/* +/** pull a ascii string from a blob, returning a talloced string the string length is limited by the 3 things: @@ -815,7 +815,7 @@ static size_t smbcli_blob_pull_ascii(TALLOC_CTX *mem_ctx, src_len2++; } - ret = convert_string_talloc(mem_ctx, CH_DOS, CH_UNIX, src, src_len2, (void **)&dest2); + ret = convert_string_talloc(mem_ctx, global_smb_iconv_convenience, CH_DOS, CH_UNIX, src, src_len2, (void **)&dest2); if (ret == -1) { *dest = NULL; @@ -826,7 +826,7 @@ static size_t smbcli_blob_pull_ascii(TALLOC_CTX *mem_ctx, return ret; } -/* +/** pull a string from a blob, returning a talloced struct smb_wire_string the string length is limited by the 3 things: @@ -895,7 +895,7 @@ size_t smbcli_blob_pull_string(struct smbcli_session *session, blob->data+str_offset, dest->private_length, flags); } -/* +/** pull a string from a blob, returning a talloced char * Currently only used by the UNIX search info level. @@ -965,7 +965,7 @@ size_t smbcli_blob_append_string(struct smbcli_session *session, return 0; } - len = push_string(blob->data + blob->length, str, max_len, flags); + len = push_string(global_smb_iconv_convenience, blob->data + blob->length, str, max_len, flags); blob->length += len; diff --git a/source4/libcli/smb2/request.c b/source4/libcli/smb2/request.c index 576e2b6fcf..5a7534f906 100644 --- a/source4/libcli/smb2/request.c +++ b/source4/libcli/smb2/request.c @@ -579,7 +579,7 @@ NTSTATUS smb2_pull_o16s16_string(struct smb2_request_buffer *buf, TALLOC_CTX *me return NT_STATUS_OK; } - size = convert_string_talloc(mem_ctx, CH_UTF16, CH_UNIX, + size = convert_string_talloc(mem_ctx, global_smb_iconv_convenience, CH_UTF16, CH_UNIX, blob.data, blob.length, &vstr); data_blob_free(&blob); (*str) = (char *)vstr; @@ -604,7 +604,7 @@ NTSTATUS smb2_push_o16s16_string(struct smb2_request_buffer *buf, return smb2_push_o16s16_blob(buf, ofs, data_blob(NULL, 0)); } - size = convert_string_talloc(buf->buffer, CH_UNIX, CH_UTF16, + size = convert_string_talloc(buf->buffer, global_smb_iconv_convenience, CH_UNIX, CH_UTF16, str, strlen(str), (void **)&blob.data); if (size == -1) { return NT_STATUS_ILLEGAL_CHARACTER; |