Skip to content

Commit

Permalink
netcmd: Use python constant for -0x8000000000000000
Browse files Browse the repository at this point in the history
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13873

Signed-off-by: Tim Beale <[email protected]>
Reviewed-by: Andrew Bartlett <[email protected]>
  • Loading branch information
tlbeale authored and abartlet committed Apr 5, 2019
1 parent d247a60 commit b43f997
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions python/samba/netcmd/domain.py
Original file line number Diff line number Diff line change
Expand Up @@ -1255,6 +1255,10 @@ def run(self, subcommand, H=None, forest_level=None, domain_level=None,
raise CommandError("invalid argument: '%s' (choose from 'show', 'raise')" % subcommand)


# In MS AD, setting a timeout to '(never)' corresponds to this value
NEVER_TIMESTAMP = int(-0x8000000000000000)


class cmd_domain_passwordsettings_show(Command):
"""Display current password settings for the domain."""

Expand Down Expand Up @@ -1290,13 +1294,13 @@ def run(self, H=None, credopts=None, sambaopts=None, versionopts=None):
cur_min_pwd_len = int(res[0]["minPwdLength"][0])
# ticks -> days
cur_min_pwd_age = int(abs(int(res[0]["minPwdAge"][0])) / (1e7 * 60 * 60 * 24))
if int(res[0]["maxPwdAge"][0]) == -0x8000000000000000:
if int(res[0]["maxPwdAge"][0]) == NEVER_TIMESTAMP:
cur_max_pwd_age = 0
else:
cur_max_pwd_age = int(abs(int(res[0]["maxPwdAge"][0])) / (1e7 * 60 * 60 * 24))
cur_account_lockout_threshold = int(res[0]["lockoutThreshold"][0])
# ticks -> mins
if int(res[0]["lockoutDuration"][0]) == -0x8000000000000000:
if int(res[0]["lockoutDuration"][0]) == NEVER_TIMESTAMP:
cur_account_lockout_duration = 0
else:
cur_account_lockout_duration = abs(int(res[0]["lockoutDuration"][0])) / (1e7 * 60)
Expand Down Expand Up @@ -1455,7 +1459,7 @@ def run(self, H=None, min_pwd_age=None, max_pwd_age=None,

# days -> ticks
if max_pwd_age == 0:
max_pwd_age_ticks = -0x8000000000000000
max_pwd_age_ticks = NEVER_TIMESTAMP
else:
max_pwd_age_ticks = -int(max_pwd_age * (24 * 60 * 60 * 1e7))

Expand All @@ -1474,7 +1478,7 @@ def run(self, H=None, min_pwd_age=None, max_pwd_age=None,

# minutes -> ticks
if account_lockout_duration == 0:
account_lockout_duration_ticks = -0x8000000000000000
account_lockout_duration_ticks = NEVER_TIMESTAMP
else:
account_lockout_duration_ticks = -int(account_lockout_duration * (60 * 1e7))

Expand Down Expand Up @@ -1503,7 +1507,7 @@ def run(self, H=None, min_pwd_age=None, max_pwd_age=None,

# minutes -> ticks
if reset_account_lockout_after == 0:
reset_account_lockout_after_ticks = -0x8000000000000000
reset_account_lockout_after_ticks = NEVER_TIMESTAMP
else:
reset_account_lockout_after_ticks = -int(reset_account_lockout_after * (60 * 1e7))

Expand Down

0 comments on commit b43f997

Please sign in to comment.