From 8529839d7c29bd4ce095b4f3debb5b562000368f Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Wed, 23 Feb 2022 07:19:57 +0200 Subject: [PATCH] cxvfd --- files/classes/user.py | 1 + files/helpers/sanitize.py | 16 +++---- files/routes/errors.py | 4 -- files/templates/admins.html | 2 +- files/templates/agendaposters.html | 2 +- files/templates/banned.html | 4 +- files/templates/comments.html | 2 +- files/templates/followers.html | 2 +- files/templates/following.html | 2 +- files/templates/grassed.html | 2 +- files/templates/leaderboard.html | 56 ++++++++++++------------- files/templates/marseys.html | 2 +- files/templates/patrons.html | 2 +- files/templates/rentoids.html | 2 +- files/templates/settings_blocks.html | 2 +- files/templates/shadowbanned.html | 2 +- files/templates/sub/blockers.html | 2 +- files/templates/sub/exilees.html | 4 +- files/templates/sub/mods.html | 2 +- files/templates/submission.html | 2 +- files/templates/submission_listing.html | 2 +- files/templates/thiefs.html | 6 +-- files/templates/user_listing.html | 2 +- files/templates/userpage.html | 4 +- files/templates/viewers.html | 2 +- files/templates/voters.html | 4 +- files/templates/votes.html | 4 +- 27 files changed, 64 insertions(+), 73 deletions(-) diff --git a/files/classes/user.py b/files/classes/user.py index 4edf46f2e..93acbef32 100644 --- a/files/classes/user.py +++ b/files/classes/user.py @@ -216,6 +216,7 @@ class User(Base): def paid_dues(self): return self.admin_level > 1 or self.patron > 1 or self.club_allowed in {True,None} or self.truecoins > int(environ.get("DUES").strip()) + @lazy def any_block_exists(self, other): return g.db.query(UserBlock).filter( diff --git a/files/helpers/sanitize.py b/files/helpers/sanitize.py index efb4f7976..ba7681ced 100644 --- a/files/helpers/sanitize.py +++ b/files/helpers/sanitize.py @@ -97,7 +97,7 @@ def sanitize_marquee(tag, name, value): return False allowed_attributes = { - '*': ['href', 'style', 'src', 'class', 'title', 'alt', 'loading'], + '*': ['href', 'style', 'src', 'class', 'title', 'loading'], 'marquee': sanitize_marquee} allowed_protocols = ['http', 'https'] @@ -113,11 +113,8 @@ def handler(signum, frame): def sanitize(sanitized, noimages=False, alert=False, comment=False, edit=False): signal.signal(signal.SIGALRM, handler) - signal.alarm(2) + signal.alarm(1) - if sanitized.count(':') > 100: abort(418) - if sanitized.count('@') > 50: abort(418) - sanitized = markdown(sanitized) sanitized = sanitized.replace("\ufeff", "").replace("𒐪","").replace("@((\w|-){1,25})", sanitized, re.A): u = get_user(i.group(1), graceful=True) if u: - sanitized = sanitized.replace(i.group(0), f'''

@{u.username}''', 1) + sanitized = sanitized.replace(i.group(0), f'''

@{u.username}''', 1) else: sanitized = re.sub('(^|\s|\n|

)\/?((r|u)\/(\w|-){3,25})', r'\1/\2', sanitized, re.A) @@ -139,7 +136,7 @@ def sanitize(sanitized, noimages=False, alert=False, comment=False, edit=False): if noimages: sanitized = sanitized.replace(i.group(0), f'{i.group(1)}@{u.username}', 1) else: - sanitized = sanitized.replace(i.group(0), f'''{i.group(1)}@{u.username}''', 1) + sanitized = sanitized.replace(i.group(0), f'''{i.group(1)}@{u.username}''', 1) for i in re.finditer('https://i\.imgur\.com/(([^_]*?)\.(jpg|png|jpeg))(?!)', sanitized): @@ -305,11 +302,8 @@ def handler2(signum, frame): def filter_emojis_only(title, edit=False, graceful=False): signal.signal(signal.SIGALRM, handler2) - signal.alarm(2) + signal.alarm(1) - if title.count(':') > 100: abort(418) - if title.count('@') > 50: abort(418) - title = title.replace('<','<').replace('>','>').replace("\n", "").replace("\r", "").replace("\t", "").strip() title = bleach.clean(title, tags=[]) diff --git a/files/routes/errors.py b/files/routes/errors.py index e38b7f264..29c2ceba9 100644 --- a/files/routes/errors.py +++ b/files/routes/errors.py @@ -41,10 +41,6 @@ def error_405(e): def error_413(e): return {"error": "Max file size is 4 MB (8 MB for paypigs)"}, 413 -@app.errorhandler(418) -def error_418(e): - return {"error": "Too many emojis or pings!"}, 418 - @app.errorhandler(429) def error_429(e): if request.headers.get("Authorization") or request.headers.get("xhr"): return {"error": "429 Too Many Requests"}, 429 diff --git a/files/templates/admins.html b/files/templates/admins.html index 26bc6f481..85a1d2d44 100644 --- a/files/templates/admins.html +++ b/files/templates/admins.html @@ -22,7 +22,7 @@ {% for user in admins %} {{loop.index}} - {{user.username}}{% if user.admin_level == 1 and v and v.admin_level > 1 %}{% endif %} + {{user.username}}{% if user.admin_level == 1 and v and v.admin_level > 1 %}{% endif %} {{user.truecoins}} {{user.modaction_num}} diff --git a/files/templates/agendaposters.html b/files/templates/agendaposters.html index 5c30b759b..521fadc70 100644 --- a/files/templates/agendaposters.html +++ b/files/templates/agendaposters.html @@ -11,7 +11,7 @@ {% for user in users %} {{loop.index}} - {{user.username}} + {{user.username}} {% endfor %} diff --git a/files/templates/banned.html b/files/templates/banned.html index 8a1fd8b4b..f5c8cd942 100644 --- a/files/templates/banned.html +++ b/files/templates/banned.html @@ -13,9 +13,9 @@ {% for user in users %} {{loop.index}} - {{user.username}} + {{user.username}} {% if user.ban_reason %}{{user.ban_reason}}{% endif %} - {{user.banned_by.username}} + {{user.banned_by.username}} {% endfor %} diff --git a/files/templates/comments.html b/files/templates/comments.html index 82e1c17e3..58d880711 100644 --- a/files/templates/comments.html +++ b/files/templates/comments.html @@ -223,7 +223,7 @@ {% if not c.author %} {{c.print()}} {% endif %} - {{c.author_name}} + {{c.author_name}} {% if c.author.customtitle %}  {% if c.author.quadrant %}{{c.author.quadrant}} quadrant{% endif %}{{c.author.customtitle | safe}}{% endif %} {% endif %} diff --git a/files/templates/followers.html b/files/templates/followers.html index b8babe243..ad2474130 100644 --- a/files/templates/followers.html +++ b/files/templates/followers.html @@ -21,7 +21,7 @@ {% for user in users %} {{loop.index}} - {{user.username}} + {{user.username}} {% if v.id == u.id %}

Remove follow
{% endif %} diff --git a/files/templates/following.html b/files/templates/following.html index 1cddc85ef..c313d0efb 100644 --- a/files/templates/following.html +++ b/files/templates/following.html @@ -21,7 +21,7 @@ {% for user in users %} {{loop.index}} - {{user.username}} + {{user.username}} {% if v.id == u.id %}
Unfollow
{% endif %} diff --git a/files/templates/grassed.html b/files/templates/grassed.html index ce953d374..97a28c0a7 100644 --- a/files/templates/grassed.html +++ b/files/templates/grassed.html @@ -13,7 +13,7 @@ {% for user in users %} {{loop.index}} - {{user.username}} + {{user.username}} {{user.ban_reason.split('by ')[1]}} {% endfor %} diff --git a/files/templates/leaderboard.html b/files/templates/leaderboard.html index c3c9a2b1c..8604ad3cd 100644 --- a/files/templates/leaderboard.html +++ b/files/templates/leaderboard.html @@ -17,14 +17,14 @@ {% for user in users1 %} {{loop.index}} - {{user.username}} + {{user.username}} {{user.coins}} {% endfor %} {% if pos1 > 25 %} {{pos1}} - {{v.username}} + {{v.username}} {{v.coins}} {% endif %} @@ -52,14 +52,14 @@ {% for user in users7 %} {{loop.index}} - {{user.username}} + {{user.username}} {{user.coins_spent}} {% endfor %} {% if pos7 > 25 %} {{pos7}} - {{v.username}} + {{v.username}} {{v.coins_spent}} {% endif %} @@ -87,14 +87,14 @@ {% for user in users10 %} {{loop.index}} - {{user.username}} + {{user.username}} {{user.truecoins}} {% endfor %} {% if pos10 > 25 %} {{pos10}} - {{v.username}} + {{v.username}} {{v.truecoins}} {% endif %} @@ -121,14 +121,14 @@ {% for user in users2 %} {{loop.index}} - {{user.username}} + {{user.username}} {{user.stored_subscriber_count}} {% endfor %} {% if pos2 > 25 %} {{pos2}} - {{v.username}} + {{v.username}} {{v.stored_subscriber_count}} {% endif %} @@ -153,14 +153,14 @@ {% for user in users3 %} {{loop.index}} - {{user.username}} + {{user.username}} {{user.post_count}} {% endfor %} {% if pos3 > 25 %} {{pos3}} - {{v.username}} + {{v.username}} {{v.post_count}} {% endif %} @@ -185,14 +185,14 @@ {% for user in users4 %} {{loop.index}} - {{user.username}} + {{user.username}} {{user.comment_count}} {% endfor %} {% if pos4 > 25 %} {{pos4}} - {{v.username}} + {{v.username}} {{v.comment_count}} {% endif %} @@ -219,14 +219,14 @@ {% for user in users5 %} {{loop.index}} - {{user.username}} + {{user.username}} {{user.received_award_count}} {% endfor %} {% if pos5 > 25 %} {{pos5}} - {{v.username}} + {{v.username}} {{v.received_award_count}} {% endif %} @@ -255,14 +255,14 @@ {% for user in users9 %} {{loop.index}} - {{user[0].username}} + {{user[0].username}} {{user[1]}} {% endfor %} {% if pos9 and (pos9[0] > 25 or not pos9[1]) %} {{pos9[0]}} - {{v.username}} + {{v.username}} {{pos9[1]}} {% endif %} @@ -292,14 +292,14 @@ {% for user in users11 %} {{loop.index}} - {{user[0].username}} + {{user[0].username}} {{user[1]}} {% endfor %} {% if pos11 and (pos11[0] > 25 or not pos11[1]) %} {{pos11[0]}} - {{v.username}} + {{v.username}} {{pos11[1]}} {% endif %} @@ -329,14 +329,14 @@ {% for user in users6 %} {{loop.index}} - {{user.username}} + {{user.username}} {{user.basedcount}} {% endfor %} {% if pos6 > 25 %} {{pos6}} - {{v.username}} + {{v.username}} {{v.basedcount}} {% endif %} @@ -366,14 +366,14 @@ {% for user in users12 %} {{loop.index}} - {{user[0].username}} + {{user[0].username}} {{user[1]}} {% endfor %} {% if pos12 and (pos12[0] > 25 or not pos12[1]) %} {{pos12[0]}} - {{v.username}} + {{v.username}} {{pos12[1]}} {% endif %} @@ -404,14 +404,14 @@ {% for user in users13 %} {{loop.index}} - {{user[0].username}} + {{user[0].username}} {{user[1]}} {% endfor %} {% if pos13 and (pos13[0] > 25 or not pos13[1]) %} {{pos13[0]}} - {{v.username}} + {{v.username}} {{pos13[1]}} {% endif %} @@ -432,14 +432,14 @@ {% for user in users14 %} {{loop.index}} - {{user.username}} + {{user.username}} {{user.winnings}} {% endfor %} {% if pos14 > 25 %} {{pos14}} - {{v.username}} + {{v.username}} {{v.winnings}} {% endif %} @@ -463,14 +463,14 @@ {% for user in users15 %} {{loop.index}} - {{user.username}} + {{user.username}} {{user.winnings}} {% endfor %} {% if pos15 > 25 %} {{pos15}} - {{v.username}} + {{v.username}} {{v.winnings}} {% endif %} diff --git a/files/templates/marseys.html b/files/templates/marseys.html index a8f8fd909..c0b9f4aa3 100644 --- a/files/templates/marseys.html +++ b/files/templates/marseys.html @@ -22,7 +22,7 @@ {{marsey.name}} :{{marsey.name}}: {{marsey.count}} - {{author.username}} + {{author.username}} {% endfor %} {% else %} diff --git a/files/templates/patrons.html b/files/templates/patrons.html index 5a4ecb131..cbc2ee85d 100644 --- a/files/templates/patrons.html +++ b/files/templates/patrons.html @@ -12,7 +12,7 @@ {% for u in users %} {{loop.index}} - {{u.username}} + {{u.username}} 2{{u.patron}} diff --git a/files/templates/rentoids.html b/files/templates/rentoids.html index 72dd805de..b5008c48f 100644 --- a/files/templates/rentoids.html +++ b/files/templates/rentoids.html @@ -13,7 +13,7 @@ {% for user in users %} {{loop.index}} - {{user.username}} + {{user.username}} {% endfor %} diff --git a/files/templates/settings_blocks.html b/files/templates/settings_blocks.html index 705648c2e..cf5c8a7c9 100644 --- a/files/templates/settings_blocks.html +++ b/files/templates/settings_blocks.html @@ -59,7 +59,7 @@ - @{{block.target.username}} + @{{block.target.username}} {{block.created_date}} diff --git a/files/templates/shadowbanned.html b/files/templates/shadowbanned.html index 72e86f95b..37db987aa 100644 --- a/files/templates/shadowbanned.html +++ b/files/templates/shadowbanned.html @@ -14,7 +14,7 @@ {% for user in users %} {{loop.index}} - {{user.username}} + {{user.username}} {{user.shadowbanned}} {% endfor %} diff --git a/files/templates/sub/blockers.html b/files/templates/sub/blockers.html index 8a3b0a95a..3e62a20b6 100644 --- a/files/templates/sub/blockers.html +++ b/files/templates/sub/blockers.html @@ -16,7 +16,7 @@ {% for user in users %} {{loop.index}} - {{user.username}} + {{user.username}} {% endfor %} diff --git a/files/templates/sub/exilees.html b/files/templates/sub/exilees.html index bf5531350..6be917b67 100644 --- a/files/templates/sub/exilees.html +++ b/files/templates/sub/exilees.html @@ -18,8 +18,8 @@ {% set exiler=exile.exiler %} {{loop.index}} - {{user.username}} - {{exiler.username}} + {{user.username}} + {{exiler.username}} {% endfor %} diff --git a/files/templates/sub/mods.html b/files/templates/sub/mods.html index 57bf127a6..1aa31e96f 100644 --- a/files/templates/sub/mods.html +++ b/files/templates/sub/mods.html @@ -18,7 +18,7 @@ {% for user, mod in users %} {{loop.index}} - {{user.username}} + {{user.username}} {{mod.created_datetime}} {% if v.id == user.id or v.mod_date(sub.name) and v.mod_date(sub.name) < mod.created_utc %} diff --git a/files/templates/submission.html b/files/templates/submission.html index 8e9accb0a..89c8d57cc 100644 --- a/files/templates/submission.html +++ b/files/templates/submission.html @@ -735,7 +735,7 @@ {% if p.author.verified %} {% endif %} - {{p.author_name}}{% if p.author.customtitle %}  {% if p.author.quadrant %}{{p.author.quadrant}} quadrant{% endif %}{{p.author.customtitle | safe}}{% endif %} + {{p.author_name}}{% if p.author.customtitle %}  {% if p.author.quadrant %}{{p.author.quadrant}} quadrant{% endif %}{{p.author.customtitle | safe}}{% endif %} {% endif %}  {{p.age_string}} ({% if p.is_image %}image post{% elif p.is_video %}video post{% elif p.realurl(v) %}{{p.domain}}{% else %}text post{% endif %}) diff --git a/files/templates/submission_listing.html b/files/templates/submission_listing.html index 658378c11..ee634f5f9 100644 --- a/files/templates/submission_listing.html +++ b/files/templates/submission_listing.html @@ -200,7 +200,7 @@ {% if p.author.verified %} {% endif %} - {{p.author_name}}{% if p.author.customtitle %}  {% if p.author.quadrant %}{{p.author.quadrant}} quadrant{% endif %}{{p.author.customtitle | safe}}{% endif %} + {{p.author_name}}{% if p.author.customtitle %}  {% if p.author.quadrant %}{{p.author.quadrant}} quadrant{% endif %}{{p.author.customtitle | safe}}{% endif %} {% endif %}  {{p.age_string}}   diff --git a/files/templates/thiefs.html b/files/templates/thiefs.html index b05694f97..b1556e1f8 100644 --- a/files/templates/thiefs.html +++ b/files/templates/thiefs.html @@ -13,7 +13,7 @@ {% for user in successful %} {{loop.index}} - {{user.username}} + {{user.username}} {% endfor %} @@ -31,7 +31,7 @@ {% for user in failed2 %} {{loop.index}} - {{user.username}} + {{user.username}} {% endfor %} @@ -49,7 +49,7 @@ {% for user in failed %} {{loop.index}} - {{user.username}} + {{user.username}} {% endfor %} diff --git a/files/templates/user_listing.html b/files/templates/user_listing.html index 040a8ca0a..1c342d0c3 100644 --- a/files/templates/user_listing.html +++ b/files/templates/user_listing.html @@ -5,7 +5,7 @@
@{{u.username}} user banner -
+
diff --git a/files/templates/userpage.html b/files/templates/userpage.html index 772cac8c8..63e50f16a 100644 --- a/files/templates/userpage.html +++ b/files/templates/userpage.html @@ -39,7 +39,7 @@
- +
{% if u.is_suspended %} @@ -363,7 +363,7 @@
- +
{% if u.is_suspended %} diff --git a/files/templates/viewers.html b/files/templates/viewers.html index 64da52856..cccd2e5f2 100644 --- a/files/templates/viewers.html +++ b/files/templates/viewers.html @@ -12,7 +12,7 @@ {% for view in viewers %} - {{view.viewer.username}} + {{view.viewer.username}} {{view.last_view_string}} {% endfor %} diff --git a/files/templates/voters.html b/files/templates/voters.html index f5f1b35bc..de2d0983f 100644 --- a/files/templates/voters.html +++ b/files/templates/voters.html @@ -18,14 +18,14 @@ {% for user in users %} {{loop.index}} - {{user[0].username}} + {{user[0].username}} {{user[1]}} {% endfor %} {% if pos and (pos[0] > 25 or not pos[1]) %} {{pos[0]}} - {{v.username}} + {{v.username}} {{pos[1]}} {% endif %} diff --git a/files/templates/votes.html b/files/templates/votes.html index f2729b69a..5a486a473 100644 --- a/files/templates/votes.html +++ b/files/templates/votes.html @@ -23,7 +23,7 @@ User {% for vote in ups %} - {{vote.user.username}} + {{vote.user.username}} {% endfor %} @@ -32,7 +32,7 @@ User {% for vote in downs %} - {{vote.user.username}} + {{vote.user.username}} {% endfor %}