Skip to content

Commit 7e27089

Browse files
committed
chg: [user] force lowercase + add v6.0.1 update
1 parent aecf71d commit 7e27089

File tree

5 files changed

+90
-8
lines changed

5 files changed

+90
-8
lines changed

bin/lib/Tracker.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -744,20 +744,22 @@ def get_org_trackers_meta(user_org, tracker_type=None):
744744
metas.append(tracker.get_meta(options={'description', 'mails', 'org', 'org_name', 'sparkline', 'tags'}))
745745
return metas
746746

747-
def get_users_trackers_meta():
747+
def get_users_trackers_meta(user_id):
748748
trackers = []
749749
for tracker_uuid in get_trackers():
750750
tracker = Tracker(tracker_uuid)
751751
if tracker.is_level_user():
752-
trackers.append(tracker.get_meta(options={'mails', 'sparkline', 'tags'}))
752+
if tracker.get_user() != user_id:
753+
trackers.append(tracker.get_meta(options={'description', 'mails', 'org', 'org_name', 'sparkline', 'tags'}))
753754
return trackers
754755

755-
def get_orgs_trackers_meta():
756+
def get_orgs_trackers_meta(user_org):
756757
trackers = []
757758
for tracker_uuid in get_trackers():
758759
tracker = Tracker(tracker_uuid)
759760
if tracker.is_level_org():
760-
trackers.append(tracker.get_meta(options={'mails', 'sparkline', 'tags'}))
761+
if tracker.get_org() != user_org:
762+
trackers.append(tracker.get_meta(options={'description', 'mails', 'org', 'org_name', 'sparkline', 'tags'}))
761763
return trackers
762764

763765
def get_trackers_graph_by_day(l_trackers, num_day=31, date_from=None, date_to=None):

bin/lib/ail_users.py

+39
Original file line numberDiff line numberDiff line change
@@ -731,6 +731,45 @@ def api_delete_user(user_id, admin_id, ip_address, user_agent):
731731
return user.delete(), 200
732732

733733
########################################################################################################################
734+
735+
def _fix_user_lowercase(user_id): # TODO CHANGE EDIT DATE
736+
l_user_id = user_id.lower()
737+
738+
if user_id != l_user_id:
739+
kill_session_user(user_id)
740+
741+
# role
742+
role = get_user_role(user_id)
743+
for role_id in get_roles():
744+
r_serv_db.srem(f'ail:users:role:{role_id}', user_id)
745+
set_user_role(l_user_id, role)
746+
747+
# token
748+
token = get_user_token(user_id)
749+
r_serv_db.hdel('ail:users:tokens', token)
750+
r_serv_db.hset('ail:users:tokens', token, l_user_id)
751+
752+
# org
753+
org = ail_orgs.Organisation(get_user_org(user_id))
754+
org.remove_user(user_id)
755+
756+
# meta
757+
try:
758+
r_serv_db.rename(f'ail:user:metadata:{user_id}', f'ail:user:metadata:{l_user_id}')
759+
except Exception:
760+
pass
761+
762+
# org
763+
org.add_user(l_user_id)
764+
765+
# sets
766+
p_hash = get_user_passwd_hash(user_id)
767+
r_serv_db.hdel('ail:users:all', user_id)
768+
r_serv_db.hset('ail:users:all', l_user_id, p_hash)
769+
770+
date = datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S')
771+
r_serv_db.hset(f'ail:user:metadata:{l_user_id}', 'last_edit', date)
772+
734773
########################################################################################################################
735774

736775
#### ROLES ####

var/www/blueprints/hunters.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,10 @@ def tracked_menu_typosquatting():
145145
@login_required
146146
@login_admin
147147
def tracked_menu_admin():
148-
org_trackers = Tracker.get_orgs_trackers_meta()
149-
user_trackers = Tracker.get_users_trackers_meta()
148+
user_id = current_user.get_user_id()
149+
user_org = current_user.get_org()
150+
org_trackers = Tracker.get_orgs_trackers_meta(user_org)
151+
user_trackers = Tracker.get_users_trackers_meta(user_id)
150152
return render_template("trackersManagement.html", user_trackers=user_trackers, org_trackers=org_trackers, global_trackers=[],
151153
bootstrap_label=bootstrap_label)
152154

@@ -277,6 +279,10 @@ def parse_add_edit_request(request_form):
277279
if sources:
278280
sources = json.loads(sources)
279281
filters[obj_type]['sources'] = sources
282+
excludes = request_form.get(f'sources_{obj_type}_exclude', [])
283+
if excludes:
284+
excludes = json.loads(excludes)
285+
filters[obj_type]['excludes'] = excludes
280286
# Subtypes
281287
for obj_subtype in ail_core.get_object_all_subtypes(obj_type):
282288
subtype = request_form.get(f'filter_{obj_type}_{obj_subtype}')

var/www/blueprints/settings_b.py

+32-1
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ def user_profile():
7474
global_2fa = ail_users.is_2fa_enabled()
7575
return render_template("user_profile.html", meta=meta, global_2fa=global_2fa,acl_admin=acl_admin)
7676

77+
#### USER OTP ####
78+
7779
@settings_b.route("/settings/user/hotp", methods=['GET'])
7880
@login_required
7981
@login_read_only
@@ -160,6 +162,10 @@ def user_otp_reset(): # TODO ask for password ?
160162
user.kill_session()
161163
return redirect(url_for('settings_b.users_list'))
162164

165+
## --USER OTP-- ##
166+
167+
#### USER API ####
168+
163169
@settings_b.route("/settings/user/api_key/new", methods=['GET'])
164170
@login_required
165171
@login_user
@@ -183,6 +189,30 @@ def new_token_user():
183189
else:
184190
return redirect(url_for('settings_b.users_list'))
185191

192+
## --USER API-- ##
193+
194+
#### USER MISP ####
195+
196+
# @settings_b.route("/settings/user/misp", methods=['GET'])
197+
# @login_required
198+
# @login_user
199+
# def user_misp():
200+
# pass
201+
#
202+
# @settings_b.route("/settings/user/misp/add", methods=['GET'])
203+
# @login_required
204+
# @login_user
205+
# def user_misp_add():
206+
# pass
207+
#
208+
# @settings_b.route("/settings/user/misp/delete", methods=['GET'])
209+
# @login_required
210+
# @login_user
211+
# def user_misp_add():
212+
# pass
213+
214+
## --USER MISP-- ##
215+
186216
@settings_b.route("/settings/user/logout", methods=['GET'])
187217
@login_required
188218
@login_admin
@@ -244,7 +274,7 @@ def create_user_post():
244274
# Admin ID
245275
admin_id = current_user.get_user_id()
246276

247-
email = request.form.get('username')
277+
email = request.form.get('username', '')
248278
org_uuid = request.form.get('user_organisation')
249279
role = request.form.get('user_role')
250280
password1 = request.form.get('password1')
@@ -260,6 +290,7 @@ def create_user_post():
260290

261291
all_roles = ail_users.get_roles()
262292

293+
email = email.lower()
263294
if email and len(email) < 300 and ail_users.check_email(email) and role:
264295
if role in all_roles:
265296
# password set

var/www/templates/dashboard/dashboard.html

+5-1
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,11 @@ <h3 class="text-center mt-1 mb-4" id="current_date"></h3>
332332
if (day < 10) {
333333
day = "0" + day;
334334
}
335-
let current_date = d.getUTCFullYear() + ' - ' + (d.getUTCMonth() + 1) + ' - ' + day;
335+
let month = d.getUTCMonth() + 1
336+
if (month < 10) {
337+
month = "0" + month;
338+
}
339+
let current_date = d.getUTCFullYear() + ' - ' + month + ' - ' + day;
336340
$('#current_date').text(current_date)
337341
}
338342

0 commit comments

Comments
 (0)