ncsa / bhr-site

Blackhole Router Site
Other
31 stars 12 forks source link

Error when unblocking a previously whitelisted IP #3

Closed forestmonster closed 8 years ago

forestmonster commented 8 years ago

I received this from a do_unblock in the browser, for an IP that had been previously whitelisted. Removing the whitelist entry allowed the do_unblock action from the browser to proceed.

Environment:

Request Method: POST
Request URL: https://[hostname]/bhr/do_unblock

Django Version: 1.7.4
Python Version: 2.7.10
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'rest_framework',
 'rest_framework.authtoken',
 'django_forms_bootstrap',
 'bhr')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')

Traceback:
File "/opt/app/rtbh/venv/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  111.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/opt/app/rtbh/venv/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  21.                 return view_func(request, *args, **kwargs)
File "/opt/app/rtbh/venv/lib/python2.7/site-packages/django/views/generic/base.py" in view
  69.             return self.dispatch(request, *args, **kwargs)
File "/opt/app/rtbh/venv/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch
  87.         return handler(request, *args, **kwargs)
File "/opt/app/rtbh/venv/lib/python2.7/site-packages/django/views/generic/edit.py" in post
  173.             return self.form_valid(form)
File "/opt/app/rtbh/bhr/browser_views.py" in form_valid
  66.             b.unblock_now(self.request.user, why)
File "/opt/app/rtbh/bhr/models.py" in unblock_now
  184.         self.save()
File "/opt/app/rtbh/bhr/models.py" in save
  143.                 raise WhitelistError(wle.why)

Exception Type: WhitelistError at /bhr/do_unblock
Exception Value: [redacted]
JustinAzoff commented 8 years ago

Ah.. That looks like a corner case I don't have tests for. I think there's an easy fix for this, or at least a more complicated but better fix that involves using the pre_save signal.

On Tue, Nov 10, 2015, 6:59 PM Forest Monsen notifications@github.com wrote:

I received this from a do_unblock in the browser, for an IP that had been previously whitelisted. Removing the whitelist entry allowed the do_unblock action from the browser to proceed.

Environment:

Request Method: POST Request URL: https://[hostname]/bhr/do_unblock

Django Version: 1.7.4 Python Version: 2.7.10 Installed Applications: ('django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'rest_framework.authtoken', 'django_forms_bootstrap', 'bhr') Installed Middleware: ('django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware')

Traceback: File "/opt/app/rtbh/venv/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response

  1. response = wrapped_callback(request, _callback_args, *_callback_kwargs) File "/opt/app/rtbh/venv/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  2. return view_func(request, _args, *_kwargs) File "/opt/app/rtbh/venv/lib/python2.7/site-packages/django/views/generic/base.py" in view
  3. return self.dispatch(request, _args, *_kwargs) File "/opt/app/rtbh/venv/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch
  4. return handler(request, _args, *_kwargs) File "/opt/app/rtbh/venv/lib/python2.7/site-packages/django/views/generic/edit.py" in post
  5. return self.form_valid(form) File "/opt/app/rtbh/bhr/browser_views.py" in form_valid
  6. b.unblock_now(self.request.user, why) File "/opt/app/rtbh/bhr/models.py" in unblock_now
  7. self.save() File "/opt/app/rtbh/bhr/models.py" in save
  8. raise WhitelistError(wle.why)

Exception Type: WhitelistError at /bhr/do_unblock Exception Value: [redacted]

— Reply to this email directly or view it on GitHub https://github.com/JustinAzoff/bhr-site/issues/3.