mirror of
https://github.com/samba-team/samba.git
synced 2025-03-05 20:58:40 +03:00
UNICODE issues.
(This used to be commit 6a437cfb33f24913e0c1f8484c0b08ef317e513b)
This commit is contained in:
parent
c6d16eea43
commit
f38bfc7d9a
@ -566,8 +566,8 @@ void split_at_last_component(char *path, char *front, char sep, char *back);
|
||||
|
||||
int PutUniCode(char *dst,char *src);
|
||||
char *skip_unicode_string(char *buf,int n);
|
||||
char *unistrn2(uint16 *src, int len);
|
||||
char *unistr2(uint16 *src);
|
||||
char *unistrn2(char *src, int len);
|
||||
char *unistr2(char *src);
|
||||
char *unistr2_to_str(UNISTR2 *str);
|
||||
uint32 buffer2_to_uint32(BUFFER2 *str);
|
||||
char *buffer2_to_str(BUFFER2 *str);
|
||||
|
@ -62,7 +62,7 @@ Return a ascii version of a little-endian unicode string.
|
||||
Hack alert: uses fixed buffer(s) and only handles ascii strings
|
||||
********************************************************************/
|
||||
|
||||
char *unistrn2(uint16 *src, int len)
|
||||
char *unistrn2(char *src, int len)
|
||||
{
|
||||
static char lbufs[8][MAXUNI];
|
||||
static int nexti;
|
||||
@ -71,9 +71,9 @@ char *unistrn2(uint16 *src, int len)
|
||||
|
||||
nexti = (nexti+1)%8;
|
||||
|
||||
for (p = lbuf; *src && p-lbuf < MAXUNI-2 && len > 0; len--, src++)
|
||||
for (p = lbuf; *src && p-lbuf < MAXUNI-2 && len > 0; len--, src += 2)
|
||||
{
|
||||
*p++ = (*src & 0xff);
|
||||
*p++ = SVAL(src, 0) & 0xFF;
|
||||
}
|
||||
|
||||
*p = 0;
|
||||
@ -88,16 +88,16 @@ Return a ascii version of a little-endian unicode string.
|
||||
Hack alert: uses fixed buffer(s) and only handles ascii strings
|
||||
********************************************************************/
|
||||
|
||||
char *unistr2(uint16 *src)
|
||||
char *unistr2(char *src)
|
||||
{
|
||||
char *lbuf = lbufs[nexti];
|
||||
char *p;
|
||||
|
||||
nexti = (nexti+1)%8;
|
||||
|
||||
for (p = lbuf; *src && p-lbuf < MAXUNI-2; p++, src++)
|
||||
for (p = lbuf; *src && p-lbuf < MAXUNI-2; p++, src += 2)
|
||||
{
|
||||
*p = (*src & 0xff);
|
||||
*p = SVAL(src, 0) & 0xFF;
|
||||
}
|
||||
|
||||
*p = 0;
|
||||
@ -260,7 +260,7 @@ char *unistr(char *buf)
|
||||
|
||||
for (p = lbuf; *buf && p-lbuf < MAXUNI-2; p++, buf += 2)
|
||||
{
|
||||
*p = *buf;
|
||||
*p = SVAL(buf, 0) & 0xFF;
|
||||
}
|
||||
*p = 0;
|
||||
return lbuf;
|
||||
|
@ -225,9 +225,9 @@ static BOOL api_pipe_ntlmssp_verify(pipes_struct *p)
|
||||
|
||||
if (IS_BITS_SET_ALL(p->ntlmssp_chal.neg_flags, NTLMSSP_NEGOTIATE_UNICODE))
|
||||
{
|
||||
fstrcpy(p->user_name, unistrn2((uint16*)p->ntlmssp_resp.user , p->ntlmssp_resp.hdr_usr .str_str_len/2));
|
||||
fstrcpy(p->domain , unistrn2((uint16*)p->ntlmssp_resp.domain, p->ntlmssp_resp.hdr_domain.str_str_len/2));
|
||||
fstrcpy(p->wks , unistrn2((uint16*)p->ntlmssp_resp.wks , p->ntlmssp_resp.hdr_wks .str_str_len/2));
|
||||
fstrcpy(p->user_name, unistrn2(p->ntlmssp_resp.user , p->ntlmssp_resp.hdr_usr .str_str_len/2));
|
||||
fstrcpy(p->domain , unistrn2(p->ntlmssp_resp.domain, p->ntlmssp_resp.hdr_domain.str_str_len/2));
|
||||
fstrcpy(p->wks , unistrn2(p->ntlmssp_resp.wks , p->ntlmssp_resp.hdr_wks .str_str_len/2));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -693,7 +693,7 @@ BOOL check_oem_password(char *user,
|
||||
int uni_pw_len = new_pw_len;
|
||||
char *pw;
|
||||
new_pw_len /= 2;
|
||||
pw = unistrn2((uint16*)(&lmdata[512-uni_pw_len]), new_pw_len);
|
||||
pw = unistrn2(&lmdata[512-uni_pw_len], new_pw_len);
|
||||
memcpy(new_passwd, pw, new_pw_len+1);
|
||||
}
|
||||
else
|
||||
|
Loading…
x
Reference in New Issue
Block a user