diff options
author | Volker Lendecke <vl@samba.org> | 2011-02-15 19:13:52 +0100 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2011-02-15 21:12:22 +0100 |
commit | 9ef0e1ef221d9c9552a45a1e302d49f417cef1b5 (patch) | |
tree | 350c3a4a257b988d8c38d7158b46e099c2ee528d | |
parent | ead7ffa1a7f3ab04c5430f9a0b4223172772d46d (diff) | |
download | samba-9ef0e1ef221d9c9552a45a1e302d49f417cef1b5.tar.gz samba-9ef0e1ef221d9c9552a45a1e302d49f417cef1b5.tar.bz2 samba-9ef0e1ef221d9c9552a45a1e302d49f417cef1b5.zip |
s3: Pass "code_page" through samr
-rw-r--r-- | source3/rpc_server/samr/srv_samr_nt.c | 4 | ||||
-rw-r--r-- | source3/rpc_server/samr/srv_samr_util.c | 9 |
2 files changed, 11 insertions, 2 deletions
diff --git a/source3/rpc_server/samr/srv_samr_nt.c b/source3/rpc_server/samr/srv_samr_nt.c index 7432e01601..7a07643597 100644 --- a/source3/rpc_server/samr/srv_samr_nt.c +++ b/source3/rpc_server/samr/srv_samr_nt.c @@ -2489,7 +2489,7 @@ static NTSTATUS get_user_info_2(TALLOC_CTX *mem_ctx, r->comment.string = talloc_strdup(mem_ctx, pdb_get_comment(pw)); r->reserved.string = NULL; r->country_code = pdb_get_country_code(pw); - r->code_page = 0; + r->code_page = pdb_get_code_page(pw); return NT_STATUS_OK; } @@ -2975,7 +2975,7 @@ static NTSTATUS get_user_info_21(TALLOC_CTX *mem_ctx, r->password_expired = (pdb_get_pass_must_change_time(pw) == 0) ? PASS_MUST_CHANGE_AT_NEXT_LOGON : 0; r->country_code = pdb_get_country_code(pw); - r->code_page = 0; + r->code_page = pdb_get_code_page(pw); r->lm_password_set = 0; r->nt_password_set = 0; diff --git a/source3/rpc_server/samr/srv_samr_util.c b/source3/rpc_server/samr/srv_samr_util.c index 77d40e0251..0bab1271f2 100644 --- a/source3/rpc_server/samr/srv_samr_util.c +++ b/source3/rpc_server/samr/srv_samr_util.c @@ -649,6 +649,15 @@ void copy_id21_to_sam_passwd(const char *log_prefix, from->country_code, PDB_CHANGED); } } + + if (from->fields_present & SAMR_FIELD_CODE_PAGE) { + DEBUG(10,("%s SAMR_FIELD_CODE_PAGE: %08X -> %08X\n", l, + pdb_get_code_page(to), from->code_page)); + if (from->code_page != pdb_get_code_page(to)) { + pdb_set_code_page(to, + from->code_page, PDB_CHANGED); + } + } } |