diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cc2a1c..33241ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,27 @@ # VINCE Changelog +# Version 1.50.0: 2022-07-19 +============================ + +New MFA reset workflow + +Allow comments when re-assigning tickets + +Sorting improvements on VINCEComm Dashboard + +Add Vul Note download button in VINCETrack + +Bug Fixes + +# Version 1.49.0: 2022-07-19 +=========================== + +Contact Management Updates + +Dependency Upgrades + +Bug Fixes + # Version 1.48.0: 2022-05-13 ============================= diff --git a/bakery/static_views.py b/bakery/static_views.py index 77fd1b1..8b8cf20 100644 --- a/bakery/static_views.py +++ b/bakery/static_views.py @@ -14,7 +14,8 @@ from django.http import HttpResponseNotModified from django.template import Template, Context, TemplateDoesNotExist from django.utils.http import http_date, parse_http_date - +from django.conf import settings +from django.utils.http import is_same_domain, is_safe_url def serve(request, path, document_root=None, show_indexes=False, default=''): """ @@ -52,7 +53,10 @@ def serve(request, path, document_root=None, show_indexes=False, default=''): continue newpath = os.path.join(newpath, part).replace('\\', '/') if newpath and path != newpath: - return HttpResponseRedirect(newpath) + if is_safe_url(newpath,set(settings.ALLOWED_HOSTS),True): + return HttpResponseRedirect(newpath) + else: + raise Http404("Invalid or Incorrect path found") fullpath = os.path.join(document_root, newpath) if os.path.isdir(fullpath) and default: defaultpath = os.path.join(fullpath, default) diff --git a/bigvince/settings_.py b/bigvince/settings_.py index b8fcf83..eef0e43 100644 --- a/bigvince/settings_.py +++ b/bigvince/settings_.py @@ -56,7 +56,7 @@ ROOT_DIR = environ.Path(__file__) - 3 # any change that requires database migrations is a minor release -VERSION = "1.48.0" +VERSION = "1.50.0" # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/2.1/howto/deployment/checklist/ diff --git a/cogauth/forms.py b/cogauth/forms.py index 46c15e0..ce8957b 100644 --- a/cogauth/forms.py +++ b/cogauth/forms.py @@ -83,6 +83,13 @@ class Meta: 'countrycode': CountrySelectWidget()} +class COGResetMFA(forms.Form): + + reason = forms.CharField( + widget=forms.Textarea(), + label=_('Reason for MFA reset')) + + class COGInitialPWResetForm(forms.Form): username = forms.CharField(max_length=200, required=True, label=_("Email")) @@ -260,9 +267,11 @@ class SignUpForm(UserCreationForm): required=False) email = forms.CharField( max_length=254, + widget=forms.TextInput(attrs={'autocomplete':'username'}), required=True, - help_text=_('This will be your login username. Please note that this field is CASE SENSITIVE.'), + help_text=_('This will be your personal login username. This field is CASE SENSITIVE.
PLEASE NOTE: Each VINCE user account is intended to be tied to a specific individual. If you would like to use an alias (for example, psirt@example.com) to receive group notifications, please create your account here first, and once your individual account has been approved, you will have the opportunity to create a group, join an existing group, and otherwise manage the email addresses associated with your organization.'), label="Email address") + title = forms.CharField( max_length=200, required=False, @@ -279,7 +288,7 @@ class SignUpForm(UserCreationForm): password1 = forms.CharField( max_length=50, required=True, - widget=forms.PasswordInput, + widget=forms.PasswordInput(attrs={'autocomplete':"new-password"}), label="New Password", help_text=_('Password Requirements: