From b43f997f2397771b159c49526a36bd2b3467b0ef Mon Sep 17 00:00:00 2001 From: Tim Beale Date: Mon, 1 Apr 2019 16:42:32 +1300 Subject: [PATCH] netcmd: Use python constant for -0x8000000000000000 BUG: https://bugzilla.samba.org/show_bug.cgi?id=13873 Signed-off-by: Tim Beale Reviewed-by: Andrew Bartlett --- python/samba/netcmd/domain.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/python/samba/netcmd/domain.py b/python/samba/netcmd/domain.py index 851e7241d15..76c3b6e4c9a 100644 --- a/python/samba/netcmd/domain.py +++ b/python/samba/netcmd/domain.py @@ -1255,6 +1255,10 @@ class cmd_domain_level(Command): 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.""" @@ -1290,13 +1294,13 @@ class cmd_domain_passwordsettings_show(Command): 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) @@ -1455,7 +1459,7 @@ class cmd_domain_passwordsettings_set(Command): # 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)) @@ -1474,7 +1478,7 @@ class cmd_domain_passwordsettings_set(Command): # 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)) @@ -1503,7 +1507,7 @@ class cmd_domain_passwordsettings_set(Command): # 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))