Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding an alias that points to another alias doesn't do anything (error) #854

Closed
Znuff opened this issue Mar 31, 2016 · 4 comments
Closed
Labels

Comments

@Znuff
Copy link

Znuff commented Mar 31, 2016

If you're trying to add an identity alias that points to another identity alias, the UI doesn't return anything. Pushing the "Create" button returns no feedback, no error.

The developer console, though, returns the following:

jquery.min.js:5 POST https://local.mail/admin/aliases/new/ 500 (INTERNAL SERVER ERROR) send @ jquery.min.js:5 ajax @ jquery.min.js:5 simple_ajax_form_post @ global.js:169 (anonymous function) @ admin.js:563 i @ jquery.min.js:3 dispatch @ jquery.min.js:3 v.handle @ jquery.min.js:3 VM854:1 Uncaught SyntaxError: Unexpected token < in JSON at position 0

@tonioo tonioo added the bug label Mar 31, 2016
@tonioo
Copy link
Member

tonioo commented Mar 31, 2016

Thanks for reporting, you found a bug :p

@mpirio
Copy link

mpirio commented Apr 6, 2016

Hello,

Server reports a 500 error (INTERNAL SERVER ERROR) and these logs when i try to create an alias that points to another. Perhaps it can help you. Thanks for all your work.

AttributeError at /admin/aliases/new/
'NoneType' object has no attribute 'r_mailbox'

Request Method: POST
Request URL: https://mail.domain.tld/admin/aliases/new/
Django Version: 1.8.9
Python Executable: /usr/bin/python
Python Version: 2.7.3
Python Path: ['/srv/mailadmin', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/pymodules/python2.7']
Server time: mer, 6 Avr 2016 14:33:13 +0200
Installed Applications:
('django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.sites',
 'django.contrib.staticfiles',
 'reversion',
 'rest_framework.authtoken',
 'modoboa',
 'modoboa.core',
 'modoboa.lib',
 'modoboa.admin',
 'modoboa.relaydomains',
 'modoboa.limits',
 'modoboa_pdfcredentials',
 'modoboa_imap_migration',
 'modoboa_radicale',
 'modoboa_webmail',
 'modoboa_sievefilters',
 'modoboa_amavis',
 'modoboa_stats',
 'modoboa_dmarc',
 'modoboa_postfix_autoreply')
Installed Middleware:
('x_forwarded_for.middleware.XForwardedForMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'modoboa.lib.middleware.AjaxLoginRedirect',
 'modoboa.lib.middleware.CommonExceptionCatcher',
 'modoboa.lib.middleware.RequestCatcherMiddleware')

Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in inner
  145.                     return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in inner
  145.                     return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/decorators.py" in _wrapped_view
  22.                 return view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/decorators.py" in _wrapped_view
  22.                 return view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/reversion/revisions.py" in do_revision_context
  323.                 return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/modoboa/admin/views/alias.py" in newalias
  77.         _("Alias created")
File "/usr/local/lib/python2.7/dist-packages/modoboa/admin/views/alias.py" in _new_alias
  46.             request, form, successmsg, callback
File "/usr/local/lib/python2.7/dist-packages/modoboa/admin/views/alias.py" in _validate_alias
  31.             callback(request.user, alias)
File "/usr/local/lib/python2.7/dist-packages/modoboa/admin/views/alias.py" in callback
  42.             alias.post_create(user)
File "/usr/local/lib/python2.7/dist-packages/modoboa/admin/models/alias.py" in post_create
  88.         super(Alias, self).post_create(creator)
File "/usr/local/lib/python2.7/dist-packages/modoboa/admin/models/base.py" in post_create
  66.         events.raiseEvent("%sCreated" % self.objectname, creator, self)
File "/usr/local/lib/python2.7/dist-packages/modoboa/lib/events.py" in raiseEvent
  90.         callback(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/modoboa_amavis/general_callbacks.py" in on_mailboxalias_created
  99.         alias.aliasrecipient_set.filter(r_mailbox__isnull=False).first()

Exception Type: AttributeError at /admin/aliases/new/
Exception Value: 'NoneType' object has no attribute 'r_mailbox'
Request information:
GET: No GET data

POST:
csrfmiddlewaretoken = u'2SyQGaVZZExGpOv6StaPWlfhq8ZeWYjh'
enabled = u'on'
recipients = u'user@domain.tld'
address = u'user@domain1.tld'

FILES: No FILES data

COOKIES:
csrftoken = '2SyQGaVZZExGpOv6StaPWlfhq8ZeWYjh'
sessionid = 'fd78rjcezbwtw3eavsczgiy6ofosx82c'

META:
mod_wsgi.listener_port = '443'
HTTP_COOKIE = 'csrftoken=2SyQGaVZZExGpOv6StaPWlfhq8ZeWYjh; sessionid=fd78rjcezbwtw3eavsczgiy6ofosx82c'
mod_wsgi.listener_host = ''
mod_wsgi.handler_script = ''
SERVER_SOFTWARE = 'Apache/2.2.22 (Debian) PHP/5.4.45-0+deb7u2 mod_ssl/2.2.27 OpenSSL/1.0.1h mod_wsgi/3.3 Python/2.7.3'
SCRIPT_NAME = u''
HTTP_X_CSRFTOKEN = '2SyQGaVZZExGpOv6StaPWlfhq8ZeWYjh'
SERVER_SIGNATURE = '<address>Apache/2.2.22 (Debian) PHP/5.4.45-0+deb7u2 mod_ssl/2.2.27 OpenSSL/1.0.1h mod_wsgi/3.3 Python/2.7.3 Server at mail.domain.tld Port 443</address>\n'
REQUEST_METHOD = 'POST'
PATH_INFO = u'/admin/aliases/new/'
SERVER_PROTOCOL = 'HTTP/1.1'
QUERY_STRING = ''
SSL_TLS_SNI = 'mail.domain.tld'
CONTENT_LENGTH = '134'
HTTP_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:45.0) Gecko/20100101 Firefox/45.0'
HTTP_CONNECTION = 'keep-alive'
HTTP_REFERER = 'https://mail.domain.tld/admin/identities/'
SERVER_NAME = 'mail.domain.tld'
REMOTE_ADDR = 'xxx.xxx.xxx.xxx'
mod_wsgi.request_handler = 'wsgi-script'
wsgi.url_scheme = 'https'
PATH_TRANSLATED = '/srv/mailadmin/mailadmin/wsgi.py/admin/aliases/new/'
SERVER_PORT = '443'
wsgi.multiprocess = True
mod_wsgi.input_chunked = '0'
SERVER_ADDR = 'xxx.xxx.xxx.xxx'
DOCUMENT_ROOT = '/srv/mailadmin/mailadmin'
mod_wsgi.process_group = ''
HTTP_PRAGMA = 'no-cache'
HTTP_X_REQUESTED_WITH = 'XMLHttpRequest'
SCRIPT_FILENAME = '/srv/mailadmin/mailadmin/wsgi.py'
SERVER_ADMIN = 'webmaster@localhost'
wsgi.input = <mod_wsgi.Input object at 0xb84e34d0>
HTTP_DNT = '1'
HTTP_HOST = 'mail.domain.tld'
HTTPS = '1'
wsgi.multithread = False
mod_wsgi.callable_object = 'application'
HTTP_CACHE_CONTROL = 'no-cache'
REQUEST_URI = '/admin/aliases/new/'
HTTP_ACCEPT = '*/*'
wsgi.version = 
GATEWAY_INTERFACE = 'CGI/1.1'
wsgi.run_once = False
wsgi.errors = <mod_wsgi.Log object at 0xb94a2660>
REMOTE_PORT = '62042'
HTTP_ACCEPT_LANGUAGE = 'fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3'
mod_wsgi.version = 
CONTENT_TYPE = 'application/x-www-form-urlencoded; charset=UTF-8'
mod_wsgi.application_group = 'mail.domain.tld|'
mod_wsgi.script_reloading = '1'
wsgi.file_wrapper = ''
CSRF_COOKIE = u'2SyQGaVZZExGpOv6StaPWlfhq8ZeWYjh'
HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'

Settings:
Using settings module mailadmin.settings
SECURE_BROWSER_XSS_FILTER = False
USE_THOUSAND_SEPARATOR = False
CSRF_COOKIE_SECURE = False
LANGUAGE_CODE = 'fr'
ROOT_URLCONF = 'mailadmin.urls'
MANAGERS = 
BASE_DIR = '/srv/mailadmin'
SILENCED_SYSTEM_CHECKS = []
DEFAULT_CHARSET = 'utf-8'
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
STATIC_ROOT = '/srv/mailadmin/sitestatic'
ALLOWED_HOSTS = ['mail.domain.tld']
MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
EMAIL_SUBJECT_PREFIX = '[Django] '
SERVER_EMAIL = 'root@localhost'
PASSWORD_MIN_LENGTH = u'********************'
SECURE_HSTS_SECONDS = 0
STATICFILES_FINDERS = 
SESSION_CACHE_ALIAS = 'default'
SESSION_COOKIE_DOMAIN = None
SESSION_COOKIE_NAME = 'sessionid'
TIME_INPUT_FORMATS = 
SECURE_REDIRECT_EXEMPT = []
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql', 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': True, 'NAME': 'modoboa', 'CONN_MAX_AGE': 0, 'TIME_ZONE': 'UTC', 'PORT': '3306', 'HOST': 'localhost', 'USER': 'modoboa', 'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME': None, 'MIRROR': None}, 'PASSWORD': u'********************', 'OPTIONS': {'init_command': 'SET foreign_key_checks = 0;'}}, 'amavis': {'ENGINE': 'django.db.backends.mysql', 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': True, 'NAME': 'amavis', 'CONN_MAX_AGE': 0, 'TIME_ZONE': 'UTC', 'PORT': '3306', 'HOST': 'localhost', 'USER': 'amavis', 'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME': None, 'MIRROR': None}, 'PASSWORD': u'********************', 'OPTIONS': {'init_command': 'SET foreign_key_checks = 0;'}}}
EMAIL_SSL_KEYFILE = u'********************'
FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
PASSWORD_COMPLEXITY = u'********************'
FILE_UPLOAD_PERMISSIONS = None
FILE_UPLOAD_HANDLERS = 
DEFAULT_CONTENT_TYPE = 'text/html'
APPEND_SLASH = True
LOCALE_PATHS = 
DATABASE_ROUTERS = ['modoboa_amavis.dbrouter.AmavisRouter']
DEFAULT_TABLESPACE = ''
YEAR_MONTH_FORMAT = 'F Y'
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
SESSION_COOKIE_PATH = '/'
MODOBOA_APPS = 
SECURE_CONTENT_TYPE_NOSNIFF = False
MIDDLEWARE_CLASSES = 
USE_I18N = True
THOUSAND_SEPARATOR = ','
SECRET_KEY = u'********************'
MODOBOA_API_URL = u'********************'
LANGUAGE_COOKIE_NAME = 'django_language'
DEFAULT_INDEX_TABLESPACE = ''
LOGGING_CONFIG = 'logging.config.dictConfig'
TEMPLATE_LOADERS = 
FIRST_DAY_OF_WEEK = 0
WSGI_APPLICATION = 'mailadmin.wsgi.application'
TEMPLATE_DEBUG = False
X_FRAME_OPTIONS = 'SAMEORIGIN'
CSRF_COOKIE_NAME = 'csrftoken'
FORCE_SCRIPT_NAME = None
USE_X_FORWARDED_HOST = False
EMAIL_TIMEOUT = None
SECURE_SSL_HOST = None
SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
SESSION_COOKIE_SECURE = False
CSRF_COOKIE_DOMAIN = None
FILE_CHARSET = 'utf-8'
DEBUG = True
LANGUAGE_COOKIE_DOMAIN = None
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
INSTALLED_APPS = 
LANGUAGES = 
USE_L10N = True
SECURE_HSTS_INCLUDE_SUBDOMAINS = False
STATICFILES_DIRS = '/usr/local/lib/python2.7/dist-packages/modoboa/bower_components'
PREPEND_WWW = False
SECURE_PROXY_SSL_HEADER = None
LANGUAGE_COOKIE_AGE = None
SESSION_COOKIE_HTTPONLY = True
DEBUG_PROPAGATE_EXCEPTIONS = False
CSRF_COOKIE_AGE = 31449600
MONTH_DAY_FORMAT = 'F j'
LOGIN_URL = '/accounts/login/'
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
TIME_FORMAT = 'P'
AUTH_USER_MODEL = 'core.User'
DATE_INPUT_FORMATS = 
AUTHENTICATION_BACKENDS = 'modoboa.lib.authbackends.SimpleBackend'
EMAIL_HOST_PASSWORD = u'********************'
PASSWORD_RESET_TIMEOUT_DAYS = u'********************'
SESSION_FILE_PATH = None
CACHE_MIDDLEWARE_ALIAS = 'default'
SESSION_SAVE_EVERY_REQUEST = False
NUMBER_GROUPING = 0
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
CSRF_COOKIE_PATH = '/'
LOGIN_REDIRECT_URL = '/accounts/profile/'
DECIMAL_SEPARATOR = '.'
IGNORABLE_404_URLS = 
MIGRATION_MODULES = {}
TEMPLATE_STRING_IF_INVALID = ''
LOGOUT_URL = '/accounts/logout/'
EMAIL_USE_TLS = False
FIXTURE_DIRS = 
EMAIL_HOST = 'localhost'
DATE_FORMAT = 'N j, Y'
MEDIA_ROOT = '/srv/mailadmin/media'
DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
ADMINS = 
FORMAT_MODULE_PATH = None
DEFAULT_FROM_EMAIL = 'webmaster@localhost'
REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.TokenAuthentication',), 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',)}
MEDIA_URL = '/media/'
DATETIME_FORMAT = 'N j, Y, P'
TEMPLATE_DIRS = 
SITE_ID = 1
DISALLOWED_USER_AGENTS = 
ALLOWED_INCLUDE_ROOTS = 
LOGGING = {'loggers': {'modoboa.auth': {'handlers': ['syslog-auth', 'modoboa'], 'propagate': False, 'level': 'INFO'}, 'modoboa.admin': {'handlers': ['modoboa'], 'propagate': False, 'level': 'INFO'}}, 'version': 1, 'formatters': {'syslog': {'format': '%(name)s: %(levelname)s %(message)s'}}, 'handlers': {'syslog-auth': {'formatter': 'syslog', 'class': 'logging.handlers.SysLogHandler', 'facility': 4}, 'modoboa': {'class': 'modoboa.core.loggers.SQLHandler'}}}
SHORT_DATE_FORMAT = 'm/d/Y'
TEMPLATES = [{'DIRS': [], 'APP_DIRS': True, 'OPTIONS': {'debug': False, 'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.contrib.messages.context_processors.messages', 'modoboa.core.context_processors.top_notifications']}, 'BACKEND': 'django.template.backends.django.DjangoTemplates'}]
TEST_RUNNER = 'django.test.runner.DiscoverRunner'
CACHE_MIDDLEWARE_KEY_PREFIX = u'********************'
SECURE_SSL_REDIRECT = False
TIME_ZONE = 'Europe/Paris'
FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_SSL = False
TEMPLATE_CONTEXT_PROCESSORS = 
SESSION_COOKIE_AGE = 1209600
SETTINGS_MODULE = 'mailadmin.settings'
USE_ETAGS = False
LANGUAGES_BIDI = 
FILE_UPLOAD_TEMP_DIR = None
INTERNAL_IPS = 
STATIC_URL = '/sitestatic/'
EMAIL_PORT = 25
USE_TZ = True
SHORT_DATETIME_FORMAT = 'm/d/Y P'
TEST_NON_SERIALIZED_APPS = []
PASSWORD_HASHERS = u'********************'
ABSOLUTE_URL_OVERRIDES = {}
LANGUAGE_COOKIE_PATH = '/'
CACHE_MIDDLEWARE_SECONDS = 600
EMAIL_SSL_CERTFILE = None
CSRF_COOKIE_HTTPONLY = False
DATETIME_INPUT_FORMATS = 
EMAIL_HOST_USER = ''

@tonioo
Copy link
Member

tonioo commented Apr 8, 2016

Actually this bug is related to the amavis plugin. I've just pushed a fix in the associated repository, it will be released soon.

@tonioo tonioo closed this as completed Apr 8, 2016
@mpirio
Copy link

mpirio commented Apr 12, 2016

Thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants