HTTP 500 error when saving changes to Message Acceptance settings

Bug #1457271 reported by Josh Farwell on 2015-05-21
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Postorius
Undecided
Unassigned

Bug Description

Hello,

I installed Mailman 3 and Postorius on CentOS 7, via the packages available at this repo:

https://repos.fedorapeople.org/repos/abompard/hyperkitty/el-7/x86_64/

I am using the default Postorius configuration. I am running Postorius using the provided development Django project from bzr. I have configured a domain that isn't real and a test list. Mailman has access to an outgoing MTA but the MTA can't send mail back via LMTP, at least at the moment.

I encountered an error when I attempted to change the test list's settings for Message Acceptance. When I try to save my change in settings, for any setting on that page, I get an error.

I was able to successfully change settings on that page (setting default_member_action to "accept", specifically) by using the Python REST client. I directly changed the value and ran .save() and everything looked correct and there were no errors.

This is the error in the Postorius log:

[20/May/2015 19:59:35] "POST /postorius/lists/testlist.mail.local/settings/message_acceptance HTTP/1.1" 500 78853

This is the output from mailman.log:

May 20 20:59:35 2015 (12584) 127.0.0.1 - - "PATCH /<email address hidden>/config HTTP/1.1" 400 2

Here is the trace output from the error:

*******

Environment:

Request Method: POST
Request URL: http://127.0.0.1:8000/postorius/lists/testlist.mail.local/settings/message_acceptance

Django Version: 1.6.11
Python Version: 2.7.5
Installed Applications:
('django.contrib.auth',
 'django.contrib.messages',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.admin',
 'django.contrib.staticfiles',
 'postorius',
 'django_browserid')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware')

Traceback:
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  112. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.7/site-packages/postorius/auth/decorators.py" in wrapper
  58. return fn(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/postorius/views/list.py" in list_settings
  787. except HTTPError as e:

Exception Type: UnboundLocalError at /postorius/lists/testlist.mail.local/settings/message_acceptance
Exception Value: local variable 'HTTPError' referenced before assignment

*********

Let me know what other information you need, or how I can help diagnose this issue.

Florian Fuchs (flo-fuchs) wrote :

The reason for this is an improper handling of an empty "acceptable_aliases" response. I am working on a fix for this. In the meantime (if you don't need to actually set accepable_aliases) removing the "[]" from the "Acceptable Alias" field before submitting the form will do the trick.

Changed in postorius:
status: New → In Progress
assignee: nobody → Florian Fuchs (flo-fuchs)
frennkie (frennkie) on 2015-08-05
information type: Public → Public Security
information type: Public Security → Public
Changed in postorius:
assignee: Florian Fuchs (flo-fuchs) → nobody
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers