Replace save and append with functions

main
bashrc 2026-04-25 17:49:07 +01:00
parent 535703a8f7
commit 06ccf1b373
1 changed files with 18 additions and 21 deletions

39
auth.py
View File

@ -20,6 +20,8 @@ from utils import text_in_file
from utils import remove_eol from utils import remove_eol
from utils import valid_nickname from utils import valid_nickname
from timeFunctions import date_utcnow from timeFunctions import date_utcnow
from data import append_string
from data import save_string
def _hash_password(password: str) -> str: def _hash_password(password: str) -> str:
@ -213,18 +215,12 @@ def store_basic_credentials(base_dir: str,
return False return False
else: else:
# append to password file # append to password file
try: if not append_string(store_str + '\n', password_file,
with open(password_file, 'a+', encoding='utf-8') as fp_pass: 'EX: unable to append password'):
fp_pass.write(store_str + '\n')
except OSError:
print('EX: unable to append password')
return False return False
else: else:
try: if not save_string(store_str + '\n', password_file,
with open(password_file, 'w+', encoding='utf-8') as fp_pass: 'EX: unable to create password file'):
fp_pass.write(store_str + '\n')
except OSError:
print('EX: unable to create password file')
return False return False
return True return True
@ -305,14 +301,15 @@ def record_login_failure(base_dir: str, ip_address: str,
write_type: str = 'w+' write_type: str = 'w+'
curr_time = date_utcnow() curr_time = date_utcnow()
curr_time_str = curr_time.strftime("%Y-%m-%d %H:%M:%SZ") curr_time_str = curr_time.strftime("%Y-%m-%d %H:%M:%SZ")
try: log_str = \
with open(failure_log, write_type, encoding='utf-8') as fp_fail: curr_time_str + ' ' + 'ip-127-0-0-1 sshd[20710]: ' + \
# here we use a similar format to an ssh log, so that 'Disconnecting invalid user epicyon ' + ip_address + ' port 443: ' + \
# systems such as fail2ban can parse it 'Too many authentication failures [preauth]\n'
fp_fail.write(curr_time_str + ' ' + # here we use a similar format to an ssh log, so that
'ip-127-0-0-1 sshd[20710]: ' + # systems such as fail2ban can parse it
'Disconnecting invalid user epicyon ' + if write_type == 'a+':
ip_address + ' port 443: ' + append_string(log_str, failure_log,
'Too many authentication failures [preauth]\n') 'EX: record_login_failure failed ' + str(failure_log))
except OSError: else:
print('EX: record_login_failure failed ' + str(failure_log)) save_string(log_str, failure_log,
'EX: record_login_failure failed ' + str(failure_log))