Query server error: cannot switch EUI versions using copy constructor #1140

Closed
opened 2025-12-29 16:29:21 +01:00 by adam · 1 comment
Owner

Originally created by @alesz on GitHub (Aug 3, 2017).

Issue type: bug report

Python version: 2.7.5
NetBox version: 2.1.1

Querying prefixes returns following server error:

<class 'django.core.exceptions.ValidationError'>
[u'cannot switch EUI versions using copy constructor!']

Example request

Request Headers
GET /search/?q=1.2.3.4 HTTP/1.1
Host: redacted
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.8
Cookie: sessionid=xxx; csrftoken=yyy
Query String Parameters
view parsed
q=1.2.3.4

Response Headers
HTTP/1.1 500 Internal Server Error
Server: nginx/1.10.2
Date: Thu, 03 Aug 2017 06:39:22 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 1636
Connection: keep-alive
Vary: Cookie
X-Frame-Options: SAMEORIGIN

Debug trace

Internal Server Error: /search/

ValidationError at /search/
[u'cannot switch EUI versions using copy constructor!']

Request Method: GET
Request URL: https://netbox_redacted/search/?q=1.2.3.4
Django Version: 1.11.1
Python Executable: /usr/bin/python
Python Version: 2.7.5
Python Path: ['/opt/netbox-2.1.1/netbox', '/opt/netbox/netbox', '/usr/bin', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages']
Server time: Thu, 3 Aug 2017 16:28:59 +1000 Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.humanize',
 'corsheaders',
 'debug_toolbar',
 'django_filters',
 'django_tables2',
 'mptt',
 'rest_framework',
 'rest_framework_swagger',
 'circuits',
 'dcim',
 'ipam',
 'extras',
 'secrets',
 'tenancy',
 'users',
 'utilities')
Installed Middleware:
('debug_toolbar.middleware.DebugToolbarMiddleware',
 'corsheaders.middleware.CorsMiddleware',
 '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',
 'django.middleware.security.SecurityMiddleware',
 'utilities.middleware.LoginRequiredMiddleware',
 'utilities.middleware.APIVersionMiddleware')


Traceback:  

File "/usr/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
  41.             response = get_response(request)

File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
  187.                 response = self.process_exception_by_middleware(e, request)

File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
  185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/usr/lib/python2.7/site-packages/django/views/generic/base.py" in view
  68.             return self.dispatch(request, *args, **kwargs)

File "/usr/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch
  88.         return handler(request, *args, **kwargs)

File "/opt/netbox-2.1.1/netbox/netbox/views.py" in get
  193.                 filtered_queryset = filter_cls({'q': form.cleaned_data['q']}, queryset=queryset).qs

File "/usr/lib/python2.7/site-packages/django_filters/filterset.py" in qs
  214.                     qs = filter_.filter(qs, value)

File "/usr/lib/python2.7/site-packages/django_filters/filters.py" in __call__
  686.         return self.method(qs, self.f.name, value)

File "/opt/netbox-2.1.1/netbox/dcim/filters.py" in search
  464.         return queryset.filter(qs_filter).distinct()

File "/usr/lib/python2.7/site-packages/django/db/models/query.py" in filter
  782.         return self._filter_or_exclude(False, *args, **kwargs)

File "/usr/lib/python2.7/site-packages/django/db/models/query.py" in _filter_or_exclude
  800.             clone.query.add_q(Q(*args, **kwargs))

File "/usr/lib/python2.7/site-packages/django/db/models/sql/query.py" in add_q
  1261.         clause, _ = self._add_q(q_object, self.used_aliases)

File "/usr/lib/python2.7/site-packages/django/db/models/sql/query.py" in _add_q
  1281.                     current_negated, allow_joins, split_subq)

File "/usr/lib/python2.7/site-packages/django/db/models/sql/query.py" in _add_q
  1287.                     allow_joins=allow_joins, split_subq=split_subq,

File "/usr/lib/python2.7/site-packages/django/db/models/sql/query.py" in build_filter
  1221.             condition = self.build_lookup(lookups, col, value)

File "/usr/lib/python2.7/site-packages/django/db/models/sql/query.py" in build_lookup
  1115.                 return final_lookup(lhs, rhs)

File "/usr/lib/python2.7/site-packages/django/db/models/lookups.py" in __init__
  24.         self.rhs = self.get_prep_lookup()

File "/usr/lib/python2.7/site-packages/django/db/models/lookups.py" in get_prep_lookup
  74.             return self.lhs.output_field.get_prep_value(self.rhs)

File "/opt/netbox-2.1.1/netbox/dcim/fields.py" in get_prep_value
  47.         return str(self.to_python(value))

File "/opt/netbox-2.1.1/netbox/dcim/fields.py" in to_python
  39.             raise ValidationError(e)

Exception Type: ValidationError at /search/ Exception Value: [u'cannot switch EUI versions using copy constructor!'] Request information:
USER: 905097

GET:
q = u'1.2.3.4'

POST: No POST data

FILES: No FILES data

COOKIES:
csrftoken = 'tVubiHrFS0iRfRcIDtr1ra00sEFFBrlh30zHklWLXEWrLIajBRbH0BaYfLf1GesT'
sessionid = 'o1byom63trdkaccab6gsjkv1d11ez2zi'

META:
CSRF_COOKIE = 'tVubiHrFS0iRfRcIDtr1ra00sEFFBrlh30zHklWLXEWrLIajBRbH0BaYfLf1GesT'
HTTP_ACCEPT = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8'
HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
HTTP_ACCEPT_LANGUAGE = 'en-US,en;q=0.8'
HTTP_CONNECTION = 'close'
HTTP_COOKIE = 'sessionid=o1byom63trdkaccab6gsjkv1d11ez2zi; csrftoken=tVubiHrFS0iRfRcIDtr1ra00sEFFBrlh30zHklWLXEWrLIajBRbH0BaYfLf1GesT'
HTTP_HOST = '127.0.0.1:8001'
HTTP_UPGRADE_INSECURE_REQUESTS = '1'
HTTP_USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
HTTP_X_FORWARDED_HOST = 'netbox_redacted'
HTTP_X_FORWARDED_PROTO = 'https'
HTTP_X_REAL_IP = 'source_ip_redacted'
PATH_INFO = u'/search/'
QUERY_STRING = 'q=1.2.3.4'
RAW_URI = '/search/?q=1.2.3.4'
REMOTE_ADDR = '127.0.0.1'
REMOTE_PORT = '49004'
REQUEST_METHOD = 'GET'
SCRIPT_NAME = u''
SERVER_NAME = '127.0.0.1'
SERVER_PORT = '8001'
SERVER_PROTOCOL = 'HTTP/1.0'
SERVER_SOFTWARE = 'gunicorn/18.0'
gunicorn.socket = <socket._socketobject object at 0x605a6e0> wsgi.errors = <open file '<stderr>', mode 'w' at 0x7f56017fa1e0> wsgi.file_wrapper = ''
wsgi.input = <gunicorn.http.body.Body object at 0x64a0990> wsgi.multiprocess = True wsgi.multithread = False wsgi.run_once = False wsgi.url_scheme = 'https'
wsgi.version = 

Settings:
Using settings module netbox.settings
ABSOLUTE_URL_OVERRIDES = {}
ADMINS = [['redacted', 'redacted@redacted']]
ALLOWED_HOSTS = ['netbox', 'netbox_redacted', 'netbox_redacted'] APPEND_SLASH = True AUTHENTICATION_BACKENDS = ['django_auth_ldap.backend.LDAPBackend', 'django.contrib.auth.backends.ModelBackend']
AUTH_LDAP_BIND_DN = 'CN=svc_netbox,OU=Service Accounts,redacted'
AUTH_LDAP_BIND_PASSWORD = u'********************'
AUTH_LDAP_CACHE_GROUPS = False
AUTH_LDAP_CONNECTION_OPTIONS = {8: 0}
AUTH_LDAP_FIND_GROUP_PERMS = True
AUTH_LDAP_GROUP_CACHE_TIMEOUT = 3600
AUTH_LDAP_GROUP_SEARCH = <django_auth_ldap.config.LDAPSearch object at 0x2d56f50> AUTH_LDAP_GROUP_TYPE = <django_auth_ldap.config.GroupOfNamesType object at 0x2d66050> AUTH_LDAP_SERVER_URI = 'ldap://redacted'
AUTH_LDAP_USER_ATTR_MAP = {'first_name': 'givenName', 'last_name': 'sn'} AUTH_LDAP_USER_FLAGS_BY_GROUP = {'is_superuser': 'CN=APP - NetBox Administrator,redacted', 'is_staff': 'CN=APP - IPAM User,redacted', 'is_active': 'CN=APP - IPAM User,redacted'}
AUTH_LDAP_USER_SEARCH = <django_auth_ldap.config.LDAPSearch object at 0x2d56d90> AUTH_PASSWORD_VALIDATORS = u'********************'
AUTH_USER_MODEL = u'auth.User'
BANNER_BOTTOM = ''
BANNER_TOP = ''
BASE_DIR = '/opt/netbox-2.1.1/netbox'
BASE_PATH = ''
CACHES = {u'default': {u'BACKEND': u'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS = u'default'
CACHE_MIDDLEWARE_KEY_PREFIX = u'********************'
CACHE_MIDDLEWARE_SECONDS = 600
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_REGEX_WHITELIST = []
CORS_ORIGIN_WHITELIST = []
CSRF_COOKIE_AGE = 31449600
CSRF_COOKIE_DOMAIN = None
CSRF_COOKIE_HTTPONLY = False
CSRF_COOKIE_NAME = u'csrftoken'
CSRF_COOKIE_PATH = u'/'
CSRF_COOKIE_SECURE = False
CSRF_FAILURE_VIEW = u'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME = u'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS = ['netbox', 'netbox_redacted', 'netbox_redacted'] CSRF_USE_SESSIONS = False DATABASE = {'ENGINE': 'django.db.backends.postgresql', 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': False, 'NAME': 'netbox', 'CONN_MAX_AGE': 0, 'TIME_ZONE': None, 'PORT': '', 'HOST': 'pgsql-master-02', 'USER': 'netbox', 'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME': None, 'MIRROR': None}, 'PASSWORD': u'********************', 'OPTIONS': {}} DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql', 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': False, 'NAME': 'netbox', 'CONN_MAX_AGE': 0, 'TIME_ZONE': None, 'PORT': '', 'HOST': 'pgsql-master-02', 'USER': 'netbox', 'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME': None, 'MIRROR': None}, 'PASSWORD': u'********************', 'OPTIONS': {}}} DATABASE_ROUTERS = [] DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS = None DATETIME_FORMAT = 'N j, Y g:i a'
DATETIME_INPUT_FORMATS = [u'%Y-%m-%d %H:%M:%S', u'%Y-%m-%d %H:%M:%S.%f', u'%Y-%m-%d %H:%M', u'%Y-%m-%d', u'%m/%d/%Y %H:%M:%S', u'%m/%d/%Y %H:%M:%S.%f', u'%m/%d/%Y %H:%M', u'%m/%d/%Y', u'%m/%d/%y %H:%M:%S', u'%m/%d/%y %H:%M:%S.%f', u'%m/%d/%y %H:%M', u'%m/%d/%y'] DATE_FORMAT = 'N j, Y'
DATE_INPUT_FORMATS = [u'%Y-%m-%d', u'%m/%d/%Y', u'%m/%d/%y', u'%b %d %Y', u'%b %d, %Y', u'%d %b %Y', u'%d %b, %Y', u'%B %d %Y', u'%B %d, %Y', u'%d %B %Y', u'%d %B, %Y'] DEBUG = False DEBUG_PROPAGATE_EXCEPTIONS = False DEBUG_TOOLBAR_CONFIG = {'DISABLE_PANELS': ['debug_toolbar.panels.redirects.RedirectsPanel', 'debug_toolbar.panels.templates.TemplatesPanel']}
DECIMAL_SEPARATOR = u'.'
DEFAULT_CHARSET = u'utf-8'
DEFAULT_CONTENT_TYPE = u'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER = u'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE = u'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL = u'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE = u''
DEFAULT_TABLESPACE = u''
DISALLOWED_USER_AGENTS = []
EMAIL = {'USERNAME': '', 'SERVER': 'smtp', 'FROM_EMAIL': 'netbox@redacted', 'TIMEOUT': 10, 'PASSWORD': u'********************', 'PORT': 25} EMAIL_BACKEND = u'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp'
EMAIL_HOST_PASSWORD = u'********************'
EMAIL_HOST_USER = ''
EMAIL_PORT = 25
EMAIL_SSL_CERTFILE = None
EMAIL_SSL_KEYFILE = u'********************'
EMAIL_SUBJECT_PREFIX = '[NetBox] '
EMAIL_TIMEOUT = 10
EMAIL_USE_LOCALTIME = False
EMAIL_USE_SSL = False
EMAIL_USE_TLS = False
ENFORCE_GLOBAL_UNIQUE = False
FILE_CHARSET = u'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS = None FILE_UPLOAD_HANDLERS = [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
FILE_UPLOAD_PERMISSIONS = None
FILE_UPLOAD_TEMP_DIR = None
FIRST_DAY_OF_WEEK = 0
FIXTURE_DIRS = []
FORCE_SCRIPT_NAME = None
FORMAT_MODULE_PATH = None
FORM_RENDERER = u'django.forms.renderers.DjangoTemplates'
HOSTNAME = 'netbox_redacted'
IGNORABLE_404_URLS = []
INSTALLED_APPS =
INTERNAL_IPS =
LANGUAGES = [(u'af', u'Afrikaans'), (u'ar', u'Arabic'), (u'ast', u'Asturian'), (u'az', u'Azerbaijani'), (u'bg', u'Bulgarian'), (u'be', u'Belarusian'), (u'bn', u'Bengali'), (u'br', u'Breton'), (u'bs', u'Bosnian'), (u'ca', u'Catalan'), (u'cs', u'Czech'), (u'cy', u'Welsh'), (u'da', u'Danish'), (u'de', u'German'), (u'dsb', u'Lower Sorbian'), (u'el', u'Greek'), (u'en', u'English'), (u'en-au', u'Australian English'), (u'en-gb', u'British English'), (u'eo', u'Esperanto'), (u'es', u'Spanish'), (u'es-ar', u'Argentinian Spanish'), (u'es-co', u'Colombian Spanish'), (u'es-mx', u'Mexican Spanish'), (u'es-ni', u'Nicaraguan Spanish'), (u'es-ve', u'Venezuelan Spanish'), (u'et', u'Estonian'), (u'eu', u'Basque'), (u'fa', u'Persian'), (u'fi', u'Finnish'), (u'fr', u'French'), (u'fy', u'Frisian'), (u'ga', u'Irish'), (u'gd', u'Scottish Gaelic'), (u'gl', u'Galician'), (u'he', u'Hebrew'), (u'hi', u'Hindi'), (u'hr', u'Croatian'), (u'hsb', u'Upper Sorbian'), (u'hu', u'Hungarian'), (u'ia', u'Interlingua'), (u'id', u'Indonesian'), (u'io', u'Ido'), (u'is', u'Icelandic'), (u'it', u'Italian'), (u'ja', u'Japanese'), (u'ka', u'Georgian'), (u'kk', u'Kazakh'), (u'km', u'Khmer'), (u'kn', u'Kannada'), (u'ko', u'Korean'), (u'lb', u'Luxembourgish'), (u'lt', u'Lithuanian'), (u'lv', u'Latvian'), (u'mk', u'Macedonian'), (u'ml', u'Malayalam'), (u'mn', u'Mongolian'), (u'mr', u'Marathi'), (u'my', u'Burmese'), (u'nb', u'Norwegian Bokm\xe5l'), (u'ne', u'Nepali'), (u'nl', u'Dutch'), (u'nn', u'Norwegian Nynorsk'), (u'os', u'Ossetic'), (u'pa', u'Punjabi'), (u'pl', u'Polish'), (u'pt', u'Portuguese'), (u'pt-br', u'Brazilian Portuguese'), (u'ro', u'Romanian'), (u'ru', u'Russian'), (u'sk', u'Slovak'), (u'sl', u'Slovenian'), (u'sq', u'Albanian'), (u'sr', u'Serbian'), (u'sr-latn', u'Serbian Latin'), (u'sv', u'Swedish'), (u'sw', u'Swahili'), (u'ta', u'Tamil'), (u'te', u'Telugu'), (u'th', u'Thai'), (u'tr', u'Turkish'), (u'tt', u'Tatar'), (u'udm', u'Udmurt'), (u'uk', u'Ukrainian'), (u'ur', u'Urdu'), (u'vi', u'Vietnamese'), (u'zh-hans', u'Simplified Chinese'), (u'zh-hant', u'Traditional Chinese')] LANGUAGES_BIDI = [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE = 'en-us'
LANGUAGE_COOKIE_AGE = None
LANGUAGE_COOKIE_DOMAIN = None
LANGUAGE_COOKIE_NAME = u'django_language'
LANGUAGE_COOKIE_PATH = u'/'
LDAP_CONFIGURED = True
LDAP_IGNORE_CERT_ERRORS = True
LOCALE_PATHS = []
LOGGING = {}
LOGGING_CONFIG = u'logging.config.dictConfig'
LOGIN_REDIRECT_URL = u'/accounts/profile/'
LOGIN_REQUIRED = False
LOGIN_URL = '/login/'
LOGOUT_REDIRECT_URL = None
MAINTENANCE_MODE = False
MANAGERS = []
MAX_PAGE_SIZE = 1000
MEDIA_ROOT = '/opt/netbox-2.1.1/netbox/media'
MEDIA_URL = '/media/'
MESSAGE_STORAGE = u'django.contrib.messages.storage.fallback.FallbackStorage'
MESSAGE_TAGS = {40: 'danger'}
MIDDLEWARE =
MIDDLEWARE_CLASSES = [u'django.middleware.common.CommonMiddleware', u'django.middleware.csrf.CsrfViewMiddleware']
MIGRATION_MODULES = {}
MONTH_DAY_FORMAT = u'F j'
NAPALM_ARGS = {}
NAPALM_PASSWORD = u'********************'
NAPALM_TIMEOUT = 30
NAPALM_USERNAME = 'svc_netbox'
NETBOX_PASSWORD = u'********************'
NETBOX_USERNAME = ''
NUMBER_GROUPING = 0
PAGINATE_COUNT = 300
PASSWORD_HASHERS = u'********************'
PASSWORD_RESET_TIMEOUT_DAYS = u'********************'
PREFER_IPV4 = True
PREPEND_WWW = False
REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.SessionAuthentication', 'utilities.api.TokenAuthentication'), 'DEFAULT_FILTER_BACKENDS': ('rest_framework.filters.DjangoFilterBackend',), 'DEFAULT_VERSION': '2.1', 'DEFAULT_PERMISSION_CLASSES': ('utilities.api.TokenPermissions',), 'PAGE_SIZE': 300, 'DEFAULT_VERSIONING_CLASS': 'rest_framework.versioning.AcceptHeaderVersioning', 'ALLOWED_VERSIONS': ['2.1'], 'DEFAULT_PAGINATION_CLASS': 'utilities.api.OptionalLimitOffsetPagination'}
REST_FRAMEWORK_VERSION = '2.1'
ROOT_URLCONF = 'netbox.urls'
SECRETS_MIN_PUBKEY_SIZE = u'********************'
SECRET_KEY = u'********************'
SECURE_BROWSER_XSS_FILTER = False
SECURE_CONTENT_TYPE_NOSNIFF = False
SECURE_HSTS_INCLUDE_SUBDOMAINS = False
SECURE_HSTS_PRELOAD = False
SECURE_HSTS_SECONDS = 0
SECURE_PROXY_SSL_HEADER =
SECURE_REDIRECT_EXEMPT = []
SECURE_SSL_HOST = None
SECURE_SSL_REDIRECT = False
SERVER_EMAIL = 'netbox@redacted'
SESSION_CACHE_ALIAS = u'default'
SESSION_COOKIE_AGE = 1209600
SESSION_COOKIE_DOMAIN = None
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_NAME = u'sessionid'
SESSION_COOKIE_PATH = u'/'
SESSION_COOKIE_SECURE = False
SESSION_ENGINE = u'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
SESSION_FILE_PATH = None
SESSION_SAVE_EVERY_REQUEST = False
SESSION_SERIALIZER = u'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE = 'netbox.settings'
SHORT_DATETIME_FORMAT = 'd/m/Y H:i'
SHORT_DATE_FORMAT = 'd/m/Y'
SHORT_TIME_FORMAT = 'H:i:s'
SIGNING_BACKEND = u'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS = []
STATICFILES_DIRS = '/opt/netbox-2.1.1/netbox/project-static'
STATICFILES_FINDERS = [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE = u'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT = '/opt/netbox-2.1.1/netbox/static/'
STATIC_URL = '/static/'
TEMPLATES = [{'DIRS': ['/opt/netbox-2.1.1/netbox/templates/'], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.template.context_processors.media', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'utilities.context_processors.settings']}, 'BACKEND': 'django.template.backends.django.DjangoTemplates'}]
TEST_NON_SERIALIZED_APPS = []
TEST_RUNNER = u'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR = u','
TIME_FORMAT = 'g:i a'
TIME_INPUT_FORMATS = [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE = 'Australia/Brisbane'
USE_ETAGS = False
USE_I18N = True
USE_L10N = False
USE_THOUSAND_SEPARATOR = False
USE_TZ = True
USE_X_FORWARDED_HOST = True
USE_X_FORWARDED_PORT = False
VERSION = '2.1.1'
WSGI_APPLICATION = 'netbox.wsgi.application'
X_FRAME_OPTIONS = u'SAMEORIGIN'
YEAR_MONTH_FORMAT = u'F Y'
Originally created by @alesz on GitHub (Aug 3, 2017). ### Issue type: bug report **Python version:** 2.7.5 **NetBox version:** 2.1.1 <!-- If filing a bug, please record the exact steps taken to reproduce the bug and any errors messages that are generated. --> Querying prefixes returns following server error: ``` <class 'django.core.exceptions.ValidationError'> [u'cannot switch EUI versions using copy constructor!'] ``` **Example request** ``` Request Headers GET /search/?q=1.2.3.4 HTTP/1.1 Host: redacted Connection: keep-alive Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.8 Cookie: sessionid=xxx; csrftoken=yyy Query String Parameters view parsed q=1.2.3.4 Response Headers HTTP/1.1 500 Internal Server Error Server: nginx/1.10.2 Date: Thu, 03 Aug 2017 06:39:22 GMT Content-Type: text/html; charset=utf-8 Content-Length: 1636 Connection: keep-alive Vary: Cookie X-Frame-Options: SAMEORIGIN ``` **Debug trace** ``` Internal Server Error: /search/ ValidationError at /search/ [u'cannot switch EUI versions using copy constructor!'] Request Method: GET Request URL: https://netbox_redacted/search/?q=1.2.3.4 Django Version: 1.11.1 Python Executable: /usr/bin/python Python Version: 2.7.5 Python Path: ['/opt/netbox-2.1.1/netbox', '/opt/netbox/netbox', '/usr/bin', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages'] Server time: Thu, 3 Aug 2017 16:28:59 +1000 Installed Applications: ('django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', 'corsheaders', 'debug_toolbar', 'django_filters', 'django_tables2', 'mptt', 'rest_framework', 'rest_framework_swagger', 'circuits', 'dcim', 'ipam', 'extras', 'secrets', 'tenancy', 'users', 'utilities') Installed Middleware: ('debug_toolbar.middleware.DebugToolbarMiddleware', 'corsheaders.middleware.CorsMiddleware', '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', 'django.middleware.security.SecurityMiddleware', 'utilities.middleware.LoginRequiredMiddleware', 'utilities.middleware.APIVersionMiddleware') Traceback: File "/usr/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner 41. response = get_response(request) File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response 187. response = self.process_exception_by_middleware(e, request) File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response 185. response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/usr/lib/python2.7/site-packages/django/views/generic/base.py" in view 68. return self.dispatch(request, *args, **kwargs) File "/usr/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch 88. return handler(request, *args, **kwargs) File "/opt/netbox-2.1.1/netbox/netbox/views.py" in get 193. filtered_queryset = filter_cls({'q': form.cleaned_data['q']}, queryset=queryset).qs File "/usr/lib/python2.7/site-packages/django_filters/filterset.py" in qs 214. qs = filter_.filter(qs, value) File "/usr/lib/python2.7/site-packages/django_filters/filters.py" in __call__ 686. return self.method(qs, self.f.name, value) File "/opt/netbox-2.1.1/netbox/dcim/filters.py" in search 464. return queryset.filter(qs_filter).distinct() File "/usr/lib/python2.7/site-packages/django/db/models/query.py" in filter 782. return self._filter_or_exclude(False, *args, **kwargs) File "/usr/lib/python2.7/site-packages/django/db/models/query.py" in _filter_or_exclude 800. clone.query.add_q(Q(*args, **kwargs)) File "/usr/lib/python2.7/site-packages/django/db/models/sql/query.py" in add_q 1261. clause, _ = self._add_q(q_object, self.used_aliases) File "/usr/lib/python2.7/site-packages/django/db/models/sql/query.py" in _add_q 1281. current_negated, allow_joins, split_subq) File "/usr/lib/python2.7/site-packages/django/db/models/sql/query.py" in _add_q 1287. allow_joins=allow_joins, split_subq=split_subq, File "/usr/lib/python2.7/site-packages/django/db/models/sql/query.py" in build_filter 1221. condition = self.build_lookup(lookups, col, value) File "/usr/lib/python2.7/site-packages/django/db/models/sql/query.py" in build_lookup 1115. return final_lookup(lhs, rhs) File "/usr/lib/python2.7/site-packages/django/db/models/lookups.py" in __init__ 24. self.rhs = self.get_prep_lookup() File "/usr/lib/python2.7/site-packages/django/db/models/lookups.py" in get_prep_lookup 74. return self.lhs.output_field.get_prep_value(self.rhs) File "/opt/netbox-2.1.1/netbox/dcim/fields.py" in get_prep_value 47. return str(self.to_python(value)) File "/opt/netbox-2.1.1/netbox/dcim/fields.py" in to_python 39. raise ValidationError(e) Exception Type: ValidationError at /search/ Exception Value: [u'cannot switch EUI versions using copy constructor!'] Request information: USER: 905097 GET: q = u'1.2.3.4' POST: No POST data FILES: No FILES data COOKIES: csrftoken = 'tVubiHrFS0iRfRcIDtr1ra00sEFFBrlh30zHklWLXEWrLIajBRbH0BaYfLf1GesT' sessionid = 'o1byom63trdkaccab6gsjkv1d11ez2zi' META: CSRF_COOKIE = 'tVubiHrFS0iRfRcIDtr1ra00sEFFBrlh30zHklWLXEWrLIajBRbH0BaYfLf1GesT' HTTP_ACCEPT = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' HTTP_ACCEPT_ENCODING = 'gzip, deflate, br' HTTP_ACCEPT_LANGUAGE = 'en-US,en;q=0.8' HTTP_CONNECTION = 'close' HTTP_COOKIE = 'sessionid=o1byom63trdkaccab6gsjkv1d11ez2zi; csrftoken=tVubiHrFS0iRfRcIDtr1ra00sEFFBrlh30zHklWLXEWrLIajBRbH0BaYfLf1GesT' HTTP_HOST = '127.0.0.1:8001' HTTP_UPGRADE_INSECURE_REQUESTS = '1' HTTP_USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36' HTTP_X_FORWARDED_HOST = 'netbox_redacted' HTTP_X_FORWARDED_PROTO = 'https' HTTP_X_REAL_IP = 'source_ip_redacted' PATH_INFO = u'/search/' QUERY_STRING = 'q=1.2.3.4' RAW_URI = '/search/?q=1.2.3.4' REMOTE_ADDR = '127.0.0.1' REMOTE_PORT = '49004' REQUEST_METHOD = 'GET' SCRIPT_NAME = u'' SERVER_NAME = '127.0.0.1' SERVER_PORT = '8001' SERVER_PROTOCOL = 'HTTP/1.0' SERVER_SOFTWARE = 'gunicorn/18.0' gunicorn.socket = <socket._socketobject object at 0x605a6e0> wsgi.errors = <open file '<stderr>', mode 'w' at 0x7f56017fa1e0> wsgi.file_wrapper = '' wsgi.input = <gunicorn.http.body.Body object at 0x64a0990> wsgi.multiprocess = True wsgi.multithread = False wsgi.run_once = False wsgi.url_scheme = 'https' wsgi.version = Settings: Using settings module netbox.settings ABSOLUTE_URL_OVERRIDES = {} ADMINS = [['redacted', 'redacted@redacted']] ALLOWED_HOSTS = ['netbox', 'netbox_redacted', 'netbox_redacted'] APPEND_SLASH = True AUTHENTICATION_BACKENDS = ['django_auth_ldap.backend.LDAPBackend', 'django.contrib.auth.backends.ModelBackend'] AUTH_LDAP_BIND_DN = 'CN=svc_netbox,OU=Service Accounts,redacted' AUTH_LDAP_BIND_PASSWORD = u'********************' AUTH_LDAP_CACHE_GROUPS = False AUTH_LDAP_CONNECTION_OPTIONS = {8: 0} AUTH_LDAP_FIND_GROUP_PERMS = True AUTH_LDAP_GROUP_CACHE_TIMEOUT = 3600 AUTH_LDAP_GROUP_SEARCH = <django_auth_ldap.config.LDAPSearch object at 0x2d56f50> AUTH_LDAP_GROUP_TYPE = <django_auth_ldap.config.GroupOfNamesType object at 0x2d66050> AUTH_LDAP_SERVER_URI = 'ldap://redacted' AUTH_LDAP_USER_ATTR_MAP = {'first_name': 'givenName', 'last_name': 'sn'} AUTH_LDAP_USER_FLAGS_BY_GROUP = {'is_superuser': 'CN=APP - NetBox Administrator,redacted', 'is_staff': 'CN=APP - IPAM User,redacted', 'is_active': 'CN=APP - IPAM User,redacted'} AUTH_LDAP_USER_SEARCH = <django_auth_ldap.config.LDAPSearch object at 0x2d56d90> AUTH_PASSWORD_VALIDATORS = u'********************' AUTH_USER_MODEL = u'auth.User' BANNER_BOTTOM = '' BANNER_TOP = '' BASE_DIR = '/opt/netbox-2.1.1/netbox' BASE_PATH = '' CACHES = {u'default': {u'BACKEND': u'django.core.cache.backends.locmem.LocMemCache'}} CACHE_MIDDLEWARE_ALIAS = u'default' CACHE_MIDDLEWARE_KEY_PREFIX = u'********************' CACHE_MIDDLEWARE_SECONDS = 600 CORS_ORIGIN_ALLOW_ALL = True CORS_ORIGIN_REGEX_WHITELIST = [] CORS_ORIGIN_WHITELIST = [] CSRF_COOKIE_AGE = 31449600 CSRF_COOKIE_DOMAIN = None CSRF_COOKIE_HTTPONLY = False CSRF_COOKIE_NAME = u'csrftoken' CSRF_COOKIE_PATH = u'/' CSRF_COOKIE_SECURE = False CSRF_FAILURE_VIEW = u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME = u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS = ['netbox', 'netbox_redacted', 'netbox_redacted'] CSRF_USE_SESSIONS = False DATABASE = {'ENGINE': 'django.db.backends.postgresql', 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': False, 'NAME': 'netbox', 'CONN_MAX_AGE': 0, 'TIME_ZONE': None, 'PORT': '', 'HOST': 'pgsql-master-02', 'USER': 'netbox', 'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME': None, 'MIRROR': None}, 'PASSWORD': u'********************', 'OPTIONS': {}} DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql', 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': False, 'NAME': 'netbox', 'CONN_MAX_AGE': 0, 'TIME_ZONE': None, 'PORT': '', 'HOST': 'pgsql-master-02', 'USER': 'netbox', 'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME': None, 'MIRROR': None}, 'PASSWORD': u'********************', 'OPTIONS': {}}} DATABASE_ROUTERS = [] DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS = None DATETIME_FORMAT = 'N j, Y g:i a' DATETIME_INPUT_FORMATS = [u'%Y-%m-%d %H:%M:%S', u'%Y-%m-%d %H:%M:%S.%f', u'%Y-%m-%d %H:%M', u'%Y-%m-%d', u'%m/%d/%Y %H:%M:%S', u'%m/%d/%Y %H:%M:%S.%f', u'%m/%d/%Y %H:%M', u'%m/%d/%Y', u'%m/%d/%y %H:%M:%S', u'%m/%d/%y %H:%M:%S.%f', u'%m/%d/%y %H:%M', u'%m/%d/%y'] DATE_FORMAT = 'N j, Y' DATE_INPUT_FORMATS = [u'%Y-%m-%d', u'%m/%d/%Y', u'%m/%d/%y', u'%b %d %Y', u'%b %d, %Y', u'%d %b %Y', u'%d %b, %Y', u'%B %d %Y', u'%B %d, %Y', u'%d %B %Y', u'%d %B, %Y'] DEBUG = False DEBUG_PROPAGATE_EXCEPTIONS = False DEBUG_TOOLBAR_CONFIG = {'DISABLE_PANELS': ['debug_toolbar.panels.redirects.RedirectsPanel', 'debug_toolbar.panels.templates.TemplatesPanel']} DECIMAL_SEPARATOR = u'.' DEFAULT_CHARSET = u'utf-8' DEFAULT_CONTENT_TYPE = u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER = u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE = u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL = u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE = u'' DEFAULT_TABLESPACE = u'' DISALLOWED_USER_AGENTS = [] EMAIL = {'USERNAME': '', 'SERVER': 'smtp', 'FROM_EMAIL': 'netbox@redacted', 'TIMEOUT': 10, 'PASSWORD': u'********************', 'PORT': 25} EMAIL_BACKEND = u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp' EMAIL_HOST_PASSWORD = u'********************' EMAIL_HOST_USER = '' EMAIL_PORT = 25 EMAIL_SSL_CERTFILE = None EMAIL_SSL_KEYFILE = u'********************' EMAIL_SUBJECT_PREFIX = '[NetBox] ' EMAIL_TIMEOUT = 10 EMAIL_USE_LOCALTIME = False EMAIL_USE_SSL = False EMAIL_USE_TLS = False ENFORCE_GLOBAL_UNIQUE = False FILE_CHARSET = u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS = None FILE_UPLOAD_HANDLERS = [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440 FILE_UPLOAD_PERMISSIONS = None FILE_UPLOAD_TEMP_DIR = None FIRST_DAY_OF_WEEK = 0 FIXTURE_DIRS = [] FORCE_SCRIPT_NAME = None FORMAT_MODULE_PATH = None FORM_RENDERER = u'django.forms.renderers.DjangoTemplates' HOSTNAME = 'netbox_redacted' IGNORABLE_404_URLS = [] INSTALLED_APPS = INTERNAL_IPS = LANGUAGES = [(u'af', u'Afrikaans'), (u'ar', u'Arabic'), (u'ast', u'Asturian'), (u'az', u'Azerbaijani'), (u'bg', u'Bulgarian'), (u'be', u'Belarusian'), (u'bn', u'Bengali'), (u'br', u'Breton'), (u'bs', u'Bosnian'), (u'ca', u'Catalan'), (u'cs', u'Czech'), (u'cy', u'Welsh'), (u'da', u'Danish'), (u'de', u'German'), (u'dsb', u'Lower Sorbian'), (u'el', u'Greek'), (u'en', u'English'), (u'en-au', u'Australian English'), (u'en-gb', u'British English'), (u'eo', u'Esperanto'), (u'es', u'Spanish'), (u'es-ar', u'Argentinian Spanish'), (u'es-co', u'Colombian Spanish'), (u'es-mx', u'Mexican Spanish'), (u'es-ni', u'Nicaraguan Spanish'), (u'es-ve', u'Venezuelan Spanish'), (u'et', u'Estonian'), (u'eu', u'Basque'), (u'fa', u'Persian'), (u'fi', u'Finnish'), (u'fr', u'French'), (u'fy', u'Frisian'), (u'ga', u'Irish'), (u'gd', u'Scottish Gaelic'), (u'gl', u'Galician'), (u'he', u'Hebrew'), (u'hi', u'Hindi'), (u'hr', u'Croatian'), (u'hsb', u'Upper Sorbian'), (u'hu', u'Hungarian'), (u'ia', u'Interlingua'), (u'id', u'Indonesian'), (u'io', u'Ido'), (u'is', u'Icelandic'), (u'it', u'Italian'), (u'ja', u'Japanese'), (u'ka', u'Georgian'), (u'kk', u'Kazakh'), (u'km', u'Khmer'), (u'kn', u'Kannada'), (u'ko', u'Korean'), (u'lb', u'Luxembourgish'), (u'lt', u'Lithuanian'), (u'lv', u'Latvian'), (u'mk', u'Macedonian'), (u'ml', u'Malayalam'), (u'mn', u'Mongolian'), (u'mr', u'Marathi'), (u'my', u'Burmese'), (u'nb', u'Norwegian Bokm\xe5l'), (u'ne', u'Nepali'), (u'nl', u'Dutch'), (u'nn', u'Norwegian Nynorsk'), (u'os', u'Ossetic'), (u'pa', u'Punjabi'), (u'pl', u'Polish'), (u'pt', u'Portuguese'), (u'pt-br', u'Brazilian Portuguese'), (u'ro', u'Romanian'), (u'ru', u'Russian'), (u'sk', u'Slovak'), (u'sl', u'Slovenian'), (u'sq', u'Albanian'), (u'sr', u'Serbian'), (u'sr-latn', u'Serbian Latin'), (u'sv', u'Swedish'), (u'sw', u'Swahili'), (u'ta', u'Tamil'), (u'te', u'Telugu'), (u'th', u'Thai'), (u'tr', u'Turkish'), (u'tt', u'Tatar'), (u'udm', u'Udmurt'), (u'uk', u'Ukrainian'), (u'ur', u'Urdu'), (u'vi', u'Vietnamese'), (u'zh-hans', u'Simplified Chinese'), (u'zh-hant', u'Traditional Chinese')] LANGUAGES_BIDI = [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE = 'en-us' LANGUAGE_COOKIE_AGE = None LANGUAGE_COOKIE_DOMAIN = None LANGUAGE_COOKIE_NAME = u'django_language' LANGUAGE_COOKIE_PATH = u'/' LDAP_CONFIGURED = True LDAP_IGNORE_CERT_ERRORS = True LOCALE_PATHS = [] LOGGING = {} LOGGING_CONFIG = u'logging.config.dictConfig' LOGIN_REDIRECT_URL = u'/accounts/profile/' LOGIN_REQUIRED = False LOGIN_URL = '/login/' LOGOUT_REDIRECT_URL = None MAINTENANCE_MODE = False MANAGERS = [] MAX_PAGE_SIZE = 1000 MEDIA_ROOT = '/opt/netbox-2.1.1/netbox/media' MEDIA_URL = '/media/' MESSAGE_STORAGE = u'django.contrib.messages.storage.fallback.FallbackStorage' MESSAGE_TAGS = {40: 'danger'} MIDDLEWARE = MIDDLEWARE_CLASSES = [u'django.middleware.common.CommonMiddleware', u'django.middleware.csrf.CsrfViewMiddleware'] MIGRATION_MODULES = {} MONTH_DAY_FORMAT = u'F j' NAPALM_ARGS = {} NAPALM_PASSWORD = u'********************' NAPALM_TIMEOUT = 30 NAPALM_USERNAME = 'svc_netbox' NETBOX_PASSWORD = u'********************' NETBOX_USERNAME = '' NUMBER_GROUPING = 0 PAGINATE_COUNT = 300 PASSWORD_HASHERS = u'********************' PASSWORD_RESET_TIMEOUT_DAYS = u'********************' PREFER_IPV4 = True PREPEND_WWW = False REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.SessionAuthentication', 'utilities.api.TokenAuthentication'), 'DEFAULT_FILTER_BACKENDS': ('rest_framework.filters.DjangoFilterBackend',), 'DEFAULT_VERSION': '2.1', 'DEFAULT_PERMISSION_CLASSES': ('utilities.api.TokenPermissions',), 'PAGE_SIZE': 300, 'DEFAULT_VERSIONING_CLASS': 'rest_framework.versioning.AcceptHeaderVersioning', 'ALLOWED_VERSIONS': ['2.1'], 'DEFAULT_PAGINATION_CLASS': 'utilities.api.OptionalLimitOffsetPagination'} REST_FRAMEWORK_VERSION = '2.1' ROOT_URLCONF = 'netbox.urls' SECRETS_MIN_PUBKEY_SIZE = u'********************' SECRET_KEY = u'********************' SECURE_BROWSER_XSS_FILTER = False SECURE_CONTENT_TYPE_NOSNIFF = False SECURE_HSTS_INCLUDE_SUBDOMAINS = False SECURE_HSTS_PRELOAD = False SECURE_HSTS_SECONDS = 0 SECURE_PROXY_SSL_HEADER = SECURE_REDIRECT_EXEMPT = [] SECURE_SSL_HOST = None SECURE_SSL_REDIRECT = False SERVER_EMAIL = 'netbox@redacted' SESSION_CACHE_ALIAS = u'default' SESSION_COOKIE_AGE = 1209600 SESSION_COOKIE_DOMAIN = None SESSION_COOKIE_HTTPONLY = True SESSION_COOKIE_NAME = u'sessionid' SESSION_COOKIE_PATH = u'/' SESSION_COOKIE_SECURE = False SESSION_ENGINE = u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE = False SESSION_FILE_PATH = None SESSION_SAVE_EVERY_REQUEST = False SESSION_SERIALIZER = u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE = 'netbox.settings' SHORT_DATETIME_FORMAT = 'd/m/Y H:i' SHORT_DATE_FORMAT = 'd/m/Y' SHORT_TIME_FORMAT = 'H:i:s' SIGNING_BACKEND = u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS = [] STATICFILES_DIRS = '/opt/netbox-2.1.1/netbox/project-static' STATICFILES_FINDERS = [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE = u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT = '/opt/netbox-2.1.1/netbox/static/' STATIC_URL = '/static/' TEMPLATES = [{'DIRS': ['/opt/netbox-2.1.1/netbox/templates/'], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.template.context_processors.media', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'utilities.context_processors.settings']}, 'BACKEND': 'django.template.backends.django.DjangoTemplates'}] TEST_NON_SERIALIZED_APPS = [] TEST_RUNNER = u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR = u',' TIME_FORMAT = 'g:i a' TIME_INPUT_FORMATS = [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE = 'Australia/Brisbane' USE_ETAGS = False USE_I18N = True USE_L10N = False USE_THOUSAND_SEPARATOR = False USE_TZ = True USE_X_FORWARDED_HOST = True USE_X_FORWARDED_PORT = False VERSION = '2.1.1' WSGI_APPLICATION = 'netbox.wsgi.application' X_FRAME_OPTIONS = u'SAMEORIGIN' YEAR_MONTH_FORMAT = u'F Y' ```
adam closed this issue 2025-12-29 16:29:22 +01:00
Author
Owner

@jeremystretch commented on GitHub (Aug 3, 2017):

Looks like this bug was introduced in #1379. For some reason, netaddr accepts IPv4 addresses as valid values when forming an EUI.

Note: This occurs only when searching for devices (in the global search view). Regular IP/prefix search works normally.

@jeremystretch commented on GitHub (Aug 3, 2017): Looks like this bug was introduced in #1379. For some reason, netaddr accepts IPv4 addresses as valid values when forming an EUI. Note: This occurs only when searching for devices (in the global search view). Regular IP/prefix search works normally.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#1140