diff options
-rw-r--r-- | source3/include/passdb.h | 2 | ||||
-rw-r--r-- | source3/rpc_parse/parse_samr.c | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/source3/include/passdb.h b/source3/include/passdb.h index add286816c..139a753e8b 100644 --- a/source3/include/passdb.h +++ b/source3/include/passdb.h @@ -92,7 +92,7 @@ enum pdb_elements { PDB_UNKNOWNSTR, PDB_MUNGEDDIAL, PDB_HOURS, - PDB_UNKNOWN3, + PDB_FIELDS_PRESENT, PDB_BAD_PASSWORD_COUNT, PDB_LOGON_COUNT, PDB_UNKNOWN6, diff --git a/source3/rpc_parse/parse_samr.c b/source3/rpc_parse/parse_samr.c index 7b2d886deb..d6f371d471 100644 --- a/source3/rpc_parse/parse_samr.c +++ b/source3/rpc_parse/parse_samr.c @@ -5994,6 +5994,15 @@ NTSTATUS init_sam_user_info21A(SAM_USER_INFO_21 *usr, SAM_ACCOUNT *pw, DOM_SID * usr->group_rid = group_rid; usr->acb_info = pdb_get_acct_ctrl(pw); + /* + Look at a user on a real NT4 PDC with usrmgr, press + 'ok'. Then you will see that fields_present is set to + 0x08f827fa. Look at the user immediately after that again, + and you will see that 0x00fffff is returned. This solves + the problem that you get access denied after having looked + at the user. + -- Volker + */ usr->fields_present = pdb_build_fields_present(pw); usr->logon_divs = pdb_get_logon_divs(pw); |