* NT_STATUS_ACCESS_DENIED, NT_STATUS_ACCOUNT_LOCKED_OUT, NT_STATUS_NO_MEMORY
*/
static NTSTATUS samdb_set_password_internal(struct ldb_context *ldb, TALLOC_CTX *mem_ctx,
- struct ldb_dn *user_dn, struct ldb_dn *domain_dn,
+ struct ldb_dn *user_dn,
const DATA_BLOB *new_password,
const struct samr_Password *ntNewHash,
enum dsdb_password_checked old_password_checked,
}
NTSTATUS samdb_set_password(struct ldb_context *ldb, TALLOC_CTX *mem_ctx,
- struct ldb_dn *user_dn, struct ldb_dn *domain_dn,
+ struct ldb_dn *user_dn,
const DATA_BLOB *new_password,
const struct samr_Password *ntNewHash,
enum dsdb_password_checked old_password_checked,
struct samr_DomInfo1 **_dominfo)
{
return samdb_set_password_internal(ldb, mem_ctx,
- user_dn, domain_dn,
+ user_dn,
new_password,
ntNewHash,
old_password_checked,
}
nt_status = samdb_set_password_internal(ldb, mem_ctx,
- user_msg->dn, NULL,
+ user_msg->dn,
new_password,
ntNewHash,
old_password_checked,
status = samdb_set_password(samdb,
mem_ctx,
target_dn,
- NULL, /* domain_dn */
password,
NULL, /* ntNewHash */
DSDB_PASSWORD_RESET,
status = samr_set_password_buffers(dce_call,
sam_ctx,
a_state->account_dn,
- a_state->domain_state->domain_dn,
mem_ctx,
r->in.info->info18.lm_pwd_active ? r->in.info->info18.lm_pwd.hash : NULL,
r->in.info->info18.nt_pwd_active ? r->in.info->info18.nt_pwd.hash : NULL);
status = samr_set_password_buffers(dce_call,
sam_ctx,
a_state->account_dn,
- a_state->domain_state->domain_dn,
mem_ctx,
lm_pwd_hash,
nt_pwd_hash);
status = samr_set_password(dce_call,
sam_ctx,
a_state->account_dn,
- a_state->domain_state->domain_dn,
mem_ctx,
&r->in.info->info23.password);
} else IFSET(SAMR_FIELD_LM_PASSWORD_PRESENT) {
status = samr_set_password(dce_call,
sam_ctx,
a_state->account_dn,
- a_state->domain_state->domain_dn,
mem_ctx,
&r->in.info->info23.password);
}
status = samr_set_password(dce_call,
sam_ctx,
a_state->account_dn,
- a_state->domain_state->domain_dn,
mem_ctx,
&r->in.info->info24.password);
if (!NT_STATUS_IS_OK(status)) {
status = samr_set_password_ex(dce_call,
sam_ctx,
a_state->account_dn,
- a_state->domain_state->domain_dn,
mem_ctx,
&r->in.info->info25.password);
} else IFSET(SAMR_FIELD_LM_PASSWORD_PRESENT) {
status = samr_set_password_ex(dce_call,
sam_ctx,
a_state->account_dn,
- a_state->domain_state->domain_dn,
mem_ctx,
&r->in.info->info25.password);
}
status = samr_set_password_ex(dce_call,
sam_ctx,
a_state->account_dn,
- a_state->domain_state->domain_dn,
mem_ctx,
&r->in.info->info26.password);
if (!NT_STATUS_IS_OK(status)) {
&session_key,
sam_ctx,
a_state->account_dn,
- a_state->domain_state->domain_dn,
&r->in.info->info31.password,
DSDB_PASSWORD_RESET);
if (!NT_STATUS_IS_OK(status)) {
&session_key,
a_state->sam_ctx,
a_state->account_dn,
- a_state->domain_state->domain_dn,
&r->in.info->info32.password,
DSDB_PASSWORD_RESET);
}
&session_key,
a_state->sam_ctx,
a_state->account_dn,
- a_state->domain_state->domain_dn,
&r->in.info->info32.password,
DSDB_PASSWORD_RESET);
}
&cdk,
sam_ctx,
dn,
- NULL,
r->in.password,
DSDB_PASSWORD_CHECKED_AND_CORRECT);
BURN_DATA(cdk_data);
* from the database since they were already checked against the user-
* provided ones. */
status = samdb_set_password(sam_ctx, mem_ctx,
- user_dn, NULL,
+ user_dn,
&new_password,
NULL,
DSDB_PASSWORD_CHECKED_AND_CORRECT,
*/
NTSTATUS samr_set_password(struct dcesrv_call_state *dce_call,
struct ldb_context *sam_ctx,
- struct ldb_dn *account_dn, struct ldb_dn *domain_dn,
+ struct ldb_dn *account_dn,
TALLOC_CTX *mem_ctx,
struct samr_CryptPassword *pwbuf)
{
nt_status = samdb_set_password(sam_ctx,
mem_ctx,
account_dn,
- domain_dn,
&new_password,
NULL,
DSDB_PASSWORD_RESET,
NTSTATUS samr_set_password_ex(struct dcesrv_call_state *dce_call,
struct ldb_context *sam_ctx,
struct ldb_dn *account_dn,
- struct ldb_dn *domain_dn,
TALLOC_CTX *mem_ctx,
struct samr_CryptPasswordEx *pwbuf)
{
nt_status = samdb_set_password(sam_ctx,
mem_ctx,
account_dn,
- domain_dn,
&new_password,
NULL,
DSDB_PASSWORD_RESET,
NTSTATUS samr_set_password_buffers(struct dcesrv_call_state *dce_call,
struct ldb_context *sam_ctx,
struct ldb_dn *account_dn,
- struct ldb_dn *domain_dn,
TALLOC_CTX *mem_ctx,
const uint8_t *lm_pwd_hash,
const uint8_t *nt_pwd_hash)
if ((d_lm_pwd_hash != NULL) || (d_nt_pwd_hash != NULL)) {
nt_status = samdb_set_password(sam_ctx, mem_ctx, account_dn,
- domain_dn, NULL,
+ NULL,
d_nt_pwd_hash,
DSDB_PASSWORD_RESET,
NULL, NULL);
const DATA_BLOB *cdk,
struct ldb_context *sam_ctx,
struct ldb_dn *account_dn,
- struct ldb_dn *domain_dn,
struct samr_EncryptedPasswordAES *pwbuf,
enum dsdb_password_checked old_password_checked)
{
nt_status = samdb_set_password(sam_ctx,
mem_ctx,
account_dn,
- domain_dn,
&new_password,
NULL,
old_password_checked,