old updates
This commit is contained in:
@@ -20,12 +20,12 @@ class Customer(BaseModel):
|
||||
|
||||
def valid_key_entry(self, username, selected_keys) -> bool:
|
||||
assert (username in self.users.keys())
|
||||
assert (all(key_idx < self.attributes.keypad_size.numb_of_keys for key_idx in selected_keys))
|
||||
assert (all(0 <= key_idx < self.attributes.keypad_size.numb_of_keys for key_idx in selected_keys))
|
||||
passcode_len = len(selected_keys)
|
||||
user = self.users[username]
|
||||
|
||||
passcode_set_vals = user.user_keys.decipher_mask(
|
||||
user.enciphered_passcode.mask, self.attributes.set_vals, len(selected_keys))
|
||||
user.enciphered_passcode.mask, self.attributes.set_vals, passcode_len)
|
||||
set_vals_idx = [self.attributes.get_set_index(set_val) for set_val in passcode_set_vals]
|
||||
|
||||
presumed_selected_attributes_idx = []
|
||||
@@ -54,6 +54,7 @@ class Customer(BaseModel):
|
||||
set_xor = xor_lists(new_sets, old_sets)
|
||||
for user in self.users.values():
|
||||
user.renew_keys(set_xor, attrs_xor)
|
||||
self.users[user.username] = user
|
||||
return True
|
||||
|
||||
def valid_new_nkode(self, passcode_attr_idx: list[int]) -> bool:
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class NKodeAttribute(BaseModel):
|
||||
attr_val: int
|
||||
set_val: int
|
||||
|
||||
|
||||
class EncipheredNKode(BaseModel):
|
||||
code: str
|
||||
mask: str
|
||||
@@ -17,6 +12,8 @@ class NKodePolicy(BaseModel):
|
||||
distinct_sets: int = 0
|
||||
distinct_attributes: int = 4
|
||||
byte_len: int = 2 # Todo: this should change the total number of bytes an attribute or set value can be
|
||||
lock_out: int = 5
|
||||
expiration: int = -1 # in seconds -1 means never expires
|
||||
|
||||
|
||||
class KeypadSize(BaseModel):
|
||||
|
||||
@@ -98,6 +98,7 @@ class UserInterface(BaseModel):
|
||||
|
||||
def get_attr_idx_by_keynumb_setidx(self, key_numb: int, set_idx: int) -> int:
|
||||
assert (0 <= key_numb < self.keypad_size.numb_of_keys)
|
||||
assert (0 <= set_idx < self.keypad_size.attrs_per_key)
|
||||
keypad_attr_idx = self.interface_keypad_matrix()
|
||||
|
||||
return keypad_attr_idx[key_numb][set_idx]
|
||||
|
||||
Reference in New Issue
Block a user