diff options
Diffstat (limited to 'source4/libnet/userman.c')
-rw-r--r-- | source4/libnet/userman.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/source4/libnet/userman.c b/source4/libnet/userman.c index 59cb804ae9..3482bba18e 100644 --- a/source4/libnet/userman.c +++ b/source4/libnet/userman.c @@ -546,6 +546,19 @@ static uint32_t usermod_setfields(struct usermod_state *s, uint16_t *level, } else { s->stage = USERMOD_QUERY; + return s->change.fields; + } + + } else if (s->change.fields & USERMOD_FIELD_FORCE_PASS_CHG) { + *level = 3; + + if (s->stage == USERMOD_QUERY) { + i->info3.force_password_change = timeval_to_nttime(s->change.force_password_change); + s->change.fields ^= USERMOD_FIELD_FORCE_PASS_CHG; + + } else { + s->stage = USERMOD_QUERY; + return s->change.fields; } } else if (s->change.fields & USERMOD_FIELD_LOGON_SCRIPT) { |