Review Comments: Check for // instead of https for web-webfonts

This commit is contained in:
Martin Gross
2024-02-28 21:21:52 +01:00
parent f0a76a3ee0
commit cc020f24a2
8 changed files with 13 additions and 24 deletions
+1 -1
View File
@@ -270,7 +270,7 @@ class SecurityMiddleware(MiddlewareMixin):
font_src = set()
if hasattr(request, 'event'):
for font in get_fonts(request.event, pdf_only=False).values():
for font in get_fonts(request.event, pdf_support_required=False).values():
for path in list(nested_dict_values(font)):
font_location = urlparse(path)
if font_location.scheme and font_location.netloc:
+2 -2
View File
@@ -748,7 +748,7 @@ class Renderer:
pdfmetrics.registerFont(TTFont('Open Sans B', finders.find('fonts/OpenSans-Bold.ttf')))
pdfmetrics.registerFont(TTFont('Open Sans B I', finders.find('fonts/OpenSans-BoldItalic.ttf')))
for family, styles in get_fonts(event, pdf_only=True).items():
for family, styles in get_fonts(event, pdf_support_required=True).items():
pdfmetrics.registerFont(TTFont(family, finders.find(styles['regular']['truetype'])))
if 'italic' in styles:
pdfmetrics.registerFont(TTFont(family + ' I', finders.find(styles['italic']['truetype'])))
@@ -941,7 +941,7 @@ class Renderer:
# Since pdfmetrics.registerFont is global, we want to make sure that no one tries to sneak in a font, they
# should not have access to.
if font not in list(get_fonts(order.event, pdf_only=True).keys()) + ['Open Sans']:
if font not in list(get_fonts(order.event, pdf_support_required=True).keys()) + ['Open Sans']:
logger.warning(f'Unauthorized use of font "{font}"')
font = 'Open Sans'
+1 -1
View File
@@ -89,7 +89,7 @@ def primary_font_kwargs():
choices = [('Open Sans', 'Open Sans')]
choices += sorted([
(a, {"title": a, "data": v}) for a, v in get_fonts(pdf_only=False).items()
(a, {"title": a, "data": v}) for a, v in get_fonts(pdf_support_required=False).items()
], key=lambda a: a[0])
return {
'choices': choices,
@@ -1,10 +0,0 @@
from django import template
from django.template.defaultfilters import stringfilter
register = template.Library()
@register.filter('startswith')
@stringfilter
def startswith(text, start):
return text.startswith(start)