From e9f555e4bd0c778e40f9661562806fb52dc421d9 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 2 Mar 2001 19:29:02 +0000 Subject: Merged JF's fixes into HEAD. These are for string parsing and SAMR fixes. Jeremy. (This used to be commit c3a1904564175a7a5cf71e88540b96f7daa59730) --- source3/passdb/ldap.c | 4 ++-- source3/passdb/nispass.c | 2 +- source3/passdb/passdb.c | 5 ++--- source3/rpc_parse/parse_prs.c | 8 ++++---- 4 files changed, 9 insertions(+), 10 deletions(-) (limited to 'source3') diff --git a/source3/passdb/ldap.c b/source3/passdb/ldap.c index 54566e454b9..b520f521bdd 100644 --- a/source3/passdb/ldap.c +++ b/source3/passdb/ldap.c @@ -356,8 +356,8 @@ static void ldap_get_sam_passwd(LDAP *ldap_struct, LDAPMessage *entry, user->logon_divs = 168; /* hours per week */ user->hours_len = 21; /* 21 times 8 bits = 168 */ memset(user->hours, 0xff, user->hours_len); /* available at all hours */ - user->unknown_5 = 0x00020000; /* don't know */ - user->unknown_5 = 0x000004ec; /* don't know */ + user->unknown_5 = 0x00000000; /* don't know */ + user->unknown_6 = 0x000004ec; /* don't know */ if (user->acct_ctrl & (ACB_DOMTRUST|ACB_WSTRUST|ACB_SVRTRUST) ) { diff --git a/source3/passdb/nispass.c b/source3/passdb/nispass.c index 4b4e281c29d..2959f6ca7c5 100644 --- a/source3/passdb/nispass.c +++ b/source3/passdb/nispass.c @@ -353,7 +353,7 @@ static BOOL make_sam_from_nisp_object(struct sam_passwd *pw_buf, nis_object *obj pw_buf->logon_divs = 168; /* hours per week */ pw_buf->hours_len = 21; /* 21 times 8 bits = 168 */ memset(pw_buf->hours, 0xff, pw_buf->hours_len); /* available at all hours */ - pw_buf->unknown_5 = 0x00020000; /* don't know */ + pw_buf->unknown_5 = 0x00000000; /* don't know */ pw_buf->unknown_6 = 0x000004ec; /* don't know */ return True; diff --git a/source3/passdb/passdb.c b/source3/passdb/passdb.c index 0e4948a3226..428dd004eee 100644 --- a/source3/passdb/passdb.c +++ b/source3/passdb/passdb.c @@ -116,9 +116,8 @@ void pdb_init_sam(SAM_ACCOUNT *user) user->logon_divs = 168; /* hours per week */ user->hours_len = 21; /* 21 times 8 bits = 168 */ memset(user->hours, 0xff, user->hours_len); /* available at all hours */ - user->unknown_5 = 0x00020000; /* don't know */ - user->unknown_5 = 0x000004ec; /* don't know */ - + user->unknown_5 = 0x00000000; /* don't know */ + user->unknown_6 = 0x000004ec; /* don't know */ } /************************************************************ diff --git a/source3/rpc_parse/parse_prs.c b/source3/rpc_parse/parse_prs.c index 56d03daf18f..1ec3f72d4c9 100644 --- a/source3/rpc_parse/parse_prs.c +++ b/source3/rpc_parse/parse_prs.c @@ -673,16 +673,16 @@ BOOL prs_unistr2(BOOL charmode, char *name, prs_struct *ps, int depth, UNISTR2 * if (q == NULL) return False; + /* If the string is empty, we don't have anything to stream */ + if (str->uni_str_len==0) + return True; + if (UNMARSHALLING(ps)) { str->buffer = (uint16 *)prs_alloc_mem(ps,str->uni_max_len * sizeof(uint16)); if (str->buffer == NULL) return False; } - /* If the string is empty, we don't have anything to stream */ - if (str->uni_str_len==0) - return True; - p = (char *)str->buffer; /* If we're using big-endian, reverse to get little-endian. */ -- cgit