mirror of https://gitlab.com/bashrc2/epicyon
Replace save and append with functions
parent
535703a8f7
commit
06ccf1b373
39
auth.py
39
auth.py
|
|
@ -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))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue