diff --git a/.gitignore b/.gitignore
index 6f860a32e45..aec0f30385d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,7 +46,7 @@ coverage.xml
# Django stuff:
*.log
*.pot
-tracker/settings.py
+dojo/settings.py
# Vim swapfiles
*.swp
@@ -60,11 +60,11 @@ docs/_build/
*.crt
*.csr
*.key
-tracker/migrations
-tracker/static/img/threat/*
-tracker/uploads/risk/*
-tracker/scans/scan*
-tracker/uploads/threat/*
+dojo/migrations
+dojo/static/img/threat/*
+dojo/uploads/risk/*
+dojo/scans/scan*
+dojo/uploads/threat/*
.idea
weekly.txt
diff --git a/README.md b/README.md
index ca39d699fdf..65ac1afc12f 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
# Description
-
+
-TestTrack is a tool created by the Security Engineering team at Rackspace to
+DefectDojo is a tool created by the Security Engineering team at Rackspace to
track testing efforts. It attempts to streamline the testing process by
offering features such as templating, report generation, metrics, and baseline
self-service tools. Though it was designed with security folks in mind, there
@@ -21,7 +21,7 @@ For more information, please see [the doc folder](./doc)
# About Us
-TestTrack is maintained by:
+DefectDojo is maintained by:
- Greg Anderson ([@\_GRRegg](https://twitter.com/_GRRegg))
- Charles Neill ([@ccneill](https://twitter.com/ccneill))
@@ -34,4 +34,4 @@ With past contributions from:
# License
-
TestTrack created by Greg Anderson, Charles Neill, and Jay Paz is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
+
DefectDojo created by Greg Anderson, Charles Neill, and Jay Paz is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
diff --git a/Vagrantfile b/Vagrantfile
index 4af2e85ac27..b83b2ca49c5 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -9,9 +9,9 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.ssh.forward_agent = true
- config.vm.hostname = "tt"
+ config.vm.hostname = "dd"
config.vm.network :private_network, ip: "192.168.13.37"
- config.vm.define "tt" do |tt|
+ config.vm.define "dd" do |dd|
end
config.vm.provision "ansible" do |ansible|
diff --git a/ansible/main.yml b/ansible/main.yml
index 55d10d45ddf..8325babafe9 100644
--- a/ansible/main.yml
+++ b/ansible/main.yml
@@ -1,5 +1,5 @@
---
-- name: TestTrack
+- name: DefectDojo
hosts: servers
roles:
- webserver
diff --git a/ansible/roles/webserver/tasks/app.yml b/ansible/roles/webserver/tasks/app.yml
index f62f55db98e..183b3fa7cf4 100644
--- a/ansible/roles/webserver/tasks/app.yml
+++ b/ansible/roles/webserver/tasks/app.yml
@@ -1,29 +1,29 @@
---
-- name: Create TestTrack directory
- file: path={{ tt_install_dir }} state=directory owner={{ tt_user }} group=www-data
+- name: Create DefectDojo directory
+ file: path={{ dd_install_dir }} state=directory owner={{ dd_user }} group=www-data
-- name: Download TestTrack
- git: repo={{ tt_git_repo }} dest={{ tt_install_dir }} accept_hostkey=yes version=master force=yes recursive=no key_file=/home/{{ tt_user }}/.ssh/id_rsa
+- name: Download DefectDojo
+ git: repo={{ dd_git_repo }} dest={{ dd_install_dir }} accept_hostkey=yes version=master force=yes recursive=no key_file=/home/{{ dd_user }}/.ssh/id_rsa
-- name: Give ownership to tt_user
- file: path={{ tt_install_dir }} recurse=yes owner={{ tt_user }} group=www-data state=directory
+- name: Give ownership to dd_user
+ file: path={{ dd_install_dir }} recurse=yes owner={{ dd_user }} group=www-data state=directory
- name: Check if gunicorn log file exists
stat: path={{ gunicorn_log_file }}
register: glf
- name: Create gunicorn log file
- file: path={{ gunicorn_log_file }} state=touch owner={{ tt_user }} group=www-data
+ file: path={{ gunicorn_log_file }} state=touch owner={{ dd_user }} group=www-data
when: glf.stat.exists == False
- name: Generate Django secret
shell: 'cat /dev/urandom | tr -dc "a-zA-Z0-9" | head -c 128'
args:
- creates: '{{ tt_install_dir }}/tracker/settings.py'
+ creates: '{{ dd_install_dir }}/dojo/settings.py'
register: django_secret
-- name: Populate TestTrack settings file
- template: src=settings.j2 dest={{ tt_install_dir }}/tracker/settings.py owner={{ tt_user }} group=www-data
+- name: Populate DefectDojo settings file
+ template: src=seddings.j2 dest={{ dd_install_dir }}/dojo/settings.py owner={{ dd_user }} group=www-data
- name: Install virtualenv
pip: name=virtualenv
@@ -31,111 +31,111 @@
- name: Setup virtualenv
shell: virtualenv {{ venv_dir }} creates={{ venv_dir }}/bin/activate
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Install Django
pip: name=Django version=1.6.10 virtualenv={{ venv_dir }}
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Install MySQL-Python
pip: name=MySQL-python virtualenv={{ venv_dir }}
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Install Pillow
pip: name=Pillow version=2.3.0 virtualenv={{ venv_dir }}
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Install South
pip: name=South version=0.8.4 virtualenv={{ venv_dir }}
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Install django-secure
pip: name=django-secure version=1.0 virtualenv={{ venv_dir }}
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Install django-tastypie
pip: name=django-tastypie version=0.11.1 virtualenv={{ venv_dir }}
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Install gunicorn
pip: name=gunicorn version=19.1.1 virtualenv={{ venv_dir }}
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Install Python-nmap
pip: name=python-nmap version=0.3.4 virtualenv={{ venv_dir }}
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Install pytz
pip: name=pytz version=2013.9 virtualenv={{ venv_dir }}
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Install requests
pip: name=requests version=2.2.1 virtualenv={{ venv_dir }}
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Install wsgiref
pip: name=wsgiref version=0.1.2 virtualenv={{ venv_dir }}
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Install django-tastypie-swagger
pip: name=django-tastypie-swagger virtualenv={{ venv_dir }}
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Install django-filter
pip: name=django-filter virtualenv={{ venv_dir }}
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Install supervisor
pip: name=supervisor state=present virtualenv={{ venv_dir }}
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Install humanize
pip: name=humanize state=present virtualenv={{ venv_dir }}
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Run Django 'syncdb' command
- django_manage: command=syncdb app_path={{ tt_install_dir }} virtualenv={{ venv_dir }}
+ django_manage: command=syncdb app_path={{ dd_install_dir }} virtualenv={{ venv_dir }}
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Create Django superuser
- shell: echo "from django.contrib.auth.models import User; User.objects.create_superuser('{{ tt_super_user }}', '{{ tt_super_user_email }}', '{{ tt_super_user_pass }}')" | {{ venv_dir }}/bin/python {{ tt_install_dir }}/manage.py shell && touch /home/{{ tt_user }}/.supercreated
+ shell: echo "from django.contrib.auth.models import User; User.objects.create_superuser('{{ dd_super_user }}', '{{ dd_super_user_email }}', '{{ dd_super_user_pass }}')" | {{ venv_dir }}/bin/python {{ dd_install_dir }}/manage.py shell && touch /home/{{ dd_user }}/.supercreated
args:
- creates: /home/{{ tt_user }}/.supercreated
+ creates: /home/{{ dd_user }}/.supercreated
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
- name: Run Django 'migrate' command
- django_manage: command=migrate app_path={{ tt_install_dir }} virtualenv={{ venv_dir }}
+ django_manage: command=migrate app_path={{ dd_install_dir }} virtualenv={{ venv_dir }}
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
-- name: Find any running TT instances on our gunicorn port
+- name: Find any running DD instances on our gunicorn port
shell: "ps aux | grep '[r]unserver' | grep '{{ gunicorn_port }}' | awk '{print $2}'"
register: instances
ignore_errors: True
-- name: Kill any TT instances on our gunicorn port
+- name: Kill any DD instances on our gunicorn port
shell: "kill {{ instances.stdout }}"
when: instances.stdout
ignore_errors: True
-- name: Start TT
- shell: 'nohup {{ venv_dir }}/bin/python {{ tt_install_dir }}/manage.py runserver 0.0.0.0:{{ gunicorn_port }} >>{{ gunicorn_log_file }} 2>&1 &'
+- name: Start DD
+ shell: 'nohup {{ venv_dir }}/bin/python {{ dd_install_dir }}/manage.py runserver 0.0.0.0:{{ gunicorn_port }} >>{{ gunicorn_log_file }} 2>&1 &'
sudo: yes
- sudo_user: '{{ tt_user }}'
+ sudo_user: '{{ dd_user }}'
diff --git a/ansible/roles/webserver/tasks/os.yml b/ansible/roles/webserver/tasks/os.yml
index 1b31d1aad08..c643c4a08d3 100644
--- a/ansible/roles/webserver/tasks/os.yml
+++ b/ansible/roles/webserver/tasks/os.yml
@@ -20,5 +20,5 @@
- name: Create www-data group
group: name=www-data state=present
-- name: Create TestTrack user
- user: name={{ tt_user }} groups=sudo,www-data append=yes state=present generate_ssh_key=yes ssh_key_comment="Generated by ansible for TT"
+- name: Create DefectDojo user
+ user: name={{ dd_user }} groups=sudo,www-data append=yes state=present generate_ssh_key=yes ssh_key_comment="Generated by ansible for DD"
diff --git a/ansible/roles/webserver/tasks/sql.yml b/ansible/roles/webserver/tasks/sql.yml
index 814c9f5ec72..ac14dfedf5b 100644
--- a/ansible/roles/webserver/tasks/sql.yml
+++ b/ansible/roles/webserver/tasks/sql.yml
@@ -20,9 +20,9 @@
- name: Start MySQL server
service: name=mysql state=started enabled=true
-- name: Create MySQL DB for TestTrack
- mysql_db: name={{ tt_sql_db }} state=present collation=utf8_general_ci
+- name: Create MySQL DB for DefectDojo
+ mysql_db: name={{ dd_sql_db }} state=present collation=utf8_general_ci
-- name: Create MySQL User for TestTrack
- mysql_user: name={{ tt_sql_user }} password={{ tt_sql_pass }} priv={{ tt_sql_db }}.*:ALL host=localhost state=present
+- name: Create MySQL User for DefectDojo
+ mysql_user: name={{ dd_sql_user }} password={{ dd_sql_pass }} priv={{ dd_sql_db }}.*:ALL host=localhost state=present
diff --git a/ansible/roles/webserver/templates/settings.j2 b/ansible/roles/webserver/templates/settings.j2
index fabd3d80937..69aeed9d7c8 100644
--- a/ansible/roles/webserver/templates/settings.j2
+++ b/ansible/roles/webserver/templates/settings.j2
@@ -1,4 +1,4 @@
-# Django settings for tracker project.
+# Django settings for dojo project.
import os
DEBUG = True
TEMPLATE_DEBUG = DEBUG
@@ -16,16 +16,16 @@ ADMINS = (
MANAGERS = ADMINS
-TRACKER_ROOT = '{{ tt_install_dir }}/tracker'
+DOJO_ROOT = '{{ dd_install_dir }}/dojo'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2',
# 'mysql','sqlite3' or 'oracle'.
- 'NAME': '{{ tt_sql_db }}', # Or path to database file if using sqlite3.
+ 'NAME': '{{ dd_sql_db }}', # Or path to database file if using sqlite3.
# The following settings are not used with sqlite3:
- 'USER': '{{ tt_sql_user }}',
- 'PASSWORD': '{{ tt_sql_pass }}',
+ 'USER': '{{ dd_sql_user }}',
+ 'PASSWORD': '{{ dd_sql_pass }}',
'HOST': 'localhost', # Empty for localhost through domain sockets
# or '127.0.0.1' for localhost through TCP.
'PORT': '3306', # Set to empty string for default.
@@ -61,7 +61,7 @@ USE_TZ = True
# Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: "/var/www/example.com/media/"
-MEDIA_ROOT = '{{ tt_install_dir }}/media/'
+MEDIA_ROOT = '{{ dd_install_dir }}/media/'
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
@@ -119,10 +119,10 @@ MIDDLEWARE_CLASSES = (
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
- 'tracker.middleware.LoginRequiredMiddleware',
+ 'dojo.middleware.LoginRequiredMiddleware',
)
-ROOT_URLCONF = 'tracker.urls'
+ROOT_URLCONF = 'dojo.urls'
LOGIN_URL = '/login'
LOGIN_EXEMPT_URLS = (
r'^static/',
@@ -133,7 +133,7 @@ LOGIN_EXEMPT_URLS = (
)
# Python dotted path to the WSGI application used by Django's runserver.
-WSGI_APPLICATION = 'tracker.wsgi.application'
+WSGI_APPLICATION = 'dojo.wsgi.application'
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates"
@@ -150,7 +150,7 @@ INSTALLED_APPS = (
'django.contrib.messages',
'django.contrib.staticfiles',
'south',
- 'tracker',
+ 'dojo',
'django.contrib.admin',
'gunicorn',
'tastypie',
diff --git a/ansible/vars.yml b/ansible/vars.yml
index 0d1b197c61d..5c0063989d7 100644
--- a/ansible/vars.yml
+++ b/ansible/vars.yml
@@ -1,32 +1,32 @@
---
-application_name: 'TestTrack'
+application_name: 'DefectDojo'
root_pass: 'r00tr00t'
-# The Linux user account that TestTrack will run under
-tt_user: 'tt'
-tt_user_pass: 'th1sisasup3rs3cur3passw0rd12345'
+# The Linux user account that DefectDojo will run under
+dd_user: 'dd'
+dd_user_pass: 'th1sisasup3rs3cur3passw0rd12345'
# MySQL settings
-tt_sql_user: 'tt'
-tt_sql_pass: 'pl34se$replace@these^stupid&passwords'
-tt_sql_db: 'tt'
+dd_sql_user: 'dd'
+dd_sql_pass: 'pl34se$replace@these^stupid&passwords'
+dd_sql_db: 'dd'
-# Defines where the TestTrack application will be installed
-tt_install_dir: /usr/share/django-TestTrack
+# Defines where the DefectDojo application will be installed
+dd_install_dir: /usr/share/django-DefectDojo
-# Defines the folder where TestTrack's virtualenv will be stored
-venv_dir: /home/{{ tt_user }}/.venvs/{{ application_name }}
+# Defines the folder where DefectDojo's virtualenv will be stored
+venv_dir: /home/{{ dd_user }}/.venvs/{{ application_name }}
-# Set up the Django/TestTrack superuser
-tt_super_user: 'root'
-tt_super_user_pass: 'An0th3r@SuPeR@Secure@PASSWORD'
-tt_super_user_email: 'root@localhost'
+# Set up the Django/DefectDojo superuser
+dd_super_user: 'root'
+dd_super_user_pass: 'An0th3r@SuPeR@Secure@PASSWORD'
+dd_super_user_email: 'root@localhost'
-# Repo link for TestTrack
-tt_git_repo: 'https://github.com/rackerlabs/django-TestTrack.git'
+# Repo link for DefectDojo
+dd_git_repo: 'https://github.com/rackerlabs/django-DefectDojo.git'
# Gunicorn settings
gunicorn_num_workers: 3
gunicorn_timeout: 120
gunicorn_port: 9999
-gunicorn_log_file: '{{ tt_install_dir }}/gunicorn.log'
+gunicorn_log_file: '{{ dd_install_dir }}/gunicorn.log'
diff --git a/doc/about.md b/doc/about.md
index a36be731625..e8f2e98015a 100644
--- a/doc/about.md
+++ b/doc/about.md
@@ -1,10 +1,10 @@
# About
-## TestTrack Basics
+## DefectDojo Basics
### Terms
There are several terms that will be helpful to understand as you work with
-TestTrack.
+DefectDojo.
##### Products
This is the name of any project, program, team, or company that you are
diff --git a/doc/install_bash.md b/doc/install_bash.md
index df86736ad90..74135e41db7 100644
--- a/doc/install_bash.md
+++ b/doc/install_bash.md
@@ -1,7 +1,7 @@
# Debian- or RHEL-based Bash Install Script
There is a script in the main folder called `setup.bash` that will allow you to
-interactively install TestTrack on some Linux-based systems. The user
+interactively install DefectDojo on some Linux-based systems. The user
you use to run the installation script will need sudo access, but should not
be the root account.
@@ -22,6 +22,6 @@ __Instructions:__
MySQL database, install dependencies, and set up a Django superuser.
0. Edit the settings.py file to modify any other settings that you want to
change, such as your SMTP server information, which we leave off by default.
-0. When you are ready to run TestTrack, run the server with
+0. When you are ready to run DefectDojo, run the server with
`python manage.py runserver`
diff --git a/doc/install_vagrant.md b/doc/install_vagrant.md
index f601018f411..da748a5cf67 100644
--- a/doc/install_vagrant.md
+++ b/doc/install_vagrant.md
@@ -1,6 +1,6 @@
# Vagrant Install
-Installing with Vagrant is the easiest way to get started with TestTrack.
+Installing with Vagrant is the easiest way to get started with DefectDojo.
__You will need:__
diff --git a/doc/workflows.md b/doc/workflows.md
index db1a4086e70..52ca5064b80 100644
--- a/doc/workflows.md
+++ b/doc/workflows.md
@@ -7,7 +7,7 @@ his boss exactly what issues he reports, and statistics about how long it
takes to close them.
When he is asked to audit an application, Bill registers a new Product in
-TestTrack, and creates a new Engagement. Here he sets some basic information,
+DefectDojo, and creates a new Engagement. Here he sets some basic information,
like how long he expects the Engagement will take, who will be leading the
testing (himself), what Product he will be working on, and what tests he
will be doing.
@@ -35,7 +35,7 @@ supposed to based on their severity.
## Example 2 - John the QE manager
John wants to keep tabs on what his team members are up to, and find issues
-that are taking a long time to get fixed. He creates his own TestTrack account
+that are taking a long time to get fixed. He creates his own DefectDojo account
with superuser privileges so that he can view other team members' metrics.
To get a better idea of what his team members are currently working on, he
diff --git a/tracker/__init__.py b/dojo/__init__.py
similarity index 100%
rename from tracker/__init__.py
rename to dojo/__init__.py
diff --git a/tracker/api.py b/dojo/api.py
similarity index 96%
rename from tracker/api.py
rename to dojo/api.py
index 9af8b5a07ff..d36abede286 100644
--- a/tracker/api.py
+++ b/dojo/api.py
@@ -14,7 +14,7 @@
from forms import ProductForm, EngForm2, TestForm, \
FindingForm, ScanSettingsForm
-from tracker.models import Product, Engagement, Test, Finding, \
+from dojo.models import Product, Engagement, Test, Finding, \
User, ScanSettings, IPScan, Scan
"""
@@ -24,7 +24,7 @@
level=logging.DEBUG,
format='[%(asctime)s] %(levelname)s [%(name)s:%(lineno)d] %(message)s',
datefmt='%d/%b/%Y %H:%M:%S',
- filename=settings.TRACKER_ROOT + '/../tracker.log',
+ filename=settings.DOJO_ROOT + '/../dojo.log',
)
logger = logging.getLogger(__name__)
"""
@@ -59,7 +59,7 @@ def get_fields(cls, fields=None, excludes=None):
# like parent class.
-class TrackerApiKeyAuthentication(ApiKeyAuthentication):
+class DojoApiKeyAuthentication(ApiKeyAuthentication):
def extract_credentials(self, request):
if (request.META.get('HTTP_AUTHORIZATION') and
request.META['HTTP_AUTHORIZATION'].lower().startswith('apikey ')):
@@ -252,7 +252,7 @@ class Meta:
'last_name': ALL
}
authorization = DjangoAuthorization()
- authentication = TrackerApiKeyAuthentication()
+ authentication = DojoApiKeyAuthentication()
serializer = Serializer(formats=['json'])
@@ -281,7 +281,7 @@ class Meta:
'created': ALL,
'findings_count': ALL
}
- authentication = TrackerApiKeyAuthentication()
+ authentication = DojoApiKeyAuthentication()
authorization = UserProductsOnlyAuthorization()
serializer = Serializer(formats=['json'])
validation = CleanedDataFormValidation(form_class=ProductForm)
@@ -330,7 +330,7 @@ class Meta:
'status': ALL,
'product': ALL,
}
- authentication = TrackerApiKeyAuthentication()
+ authentication = DojoApiKeyAuthentication()
authorization = DjangoAuthorization()
serializer = Serializer(formats=['json'])
validation = CleanedDataFormValidation(form_class=EngForm2)
@@ -379,7 +379,7 @@ class Meta:
'percent_complete': ALL,
'actual_time': ALL
}
- authentication = TrackerApiKeyAuthentication()
+ authentication = DojoApiKeyAuthentication()
authorization = DjangoAuthorization()
serializer = Serializer(formats=['json'])
validation = CleanedDataFormValidation(form_class=TestForm)
@@ -432,7 +432,7 @@ class Meta:
'reporter': ALL,
'url': ALL,
}
- authentication = TrackerApiKeyAuthentication()
+ authentication = DojoApiKeyAuthentication()
authorization = DjangoAuthorization()
serializer = Serializer(formats=['json'])
validation = CleanedDataFormValidation(form_class=FindingForm)
@@ -477,7 +477,7 @@ class Meta:
'addresses': ALL
}
- authentication = TrackerApiKeyAuthentication()
+ authentication = DojoApiKeyAuthentication()
authorization = UserScanSettingsAuthorization()
serializer = Serializer(formats=['json'])
validation = CleanedDataFormValidation(form_class=ScanSettingsForm)
@@ -505,7 +505,7 @@ class Meta:
'scan': ALL
}
- authentication = TrackerApiKeyAuthentication()
+ authentication = DojoApiKeyAuthentication()
authorization = DjangoAuthorization()
serializer = Serializer(formats=['json'])
@@ -542,6 +542,6 @@ class Meta:
'scan_settings': ALL
}
- authentication = TrackerApiKeyAuthentication()
+ authentication = DojoApiKeyAuthentication()
authorization = UserScanAuthorization()
serializer = Serializer(formats=['json'])
diff --git a/tracker/api_test_files/engagement.json b/dojo/api_test_files/engagement.json
similarity index 100%
rename from tracker/api_test_files/engagement.json
rename to dojo/api_test_files/engagement.json
diff --git a/tracker/api_test_files/finding.json b/dojo/api_test_files/finding.json
similarity index 100%
rename from tracker/api_test_files/finding.json
rename to dojo/api_test_files/finding.json
diff --git a/tracker/api_test_files/product.json b/dojo/api_test_files/product.json
similarity index 100%
rename from tracker/api_test_files/product.json
rename to dojo/api_test_files/product.json
diff --git a/tracker/api_test_files/scansettings.json b/dojo/api_test_files/scansettings.json
similarity index 100%
rename from tracker/api_test_files/scansettings.json
rename to dojo/api_test_files/scansettings.json
diff --git a/tracker/api_test_files/test.json b/dojo/api_test_files/test.json
similarity index 100%
rename from tracker/api_test_files/test.json
rename to dojo/api_test_files/test.json
diff --git a/tracker/filters.py b/dojo/filters.py
similarity index 98%
rename from tracker/filters.py
rename to dojo/filters.py
index 1284e1c3233..698b8e94902 100644
--- a/tracker/filters.py
+++ b/dojo/filters.py
@@ -14,7 +14,7 @@
from django.forms.widgets import CheckboxInput
from pytz import timezone
-from tracker.models import Tracker_User, Product_Type, Finding, \
+from dojo.models import Dojo_User, Product_Type, Finding, \
Product, Test_Type
@@ -227,7 +227,7 @@ def __init__(self, *args, **kwargs):
class OpenFingingSuperFilter(OpenFindingFilter):
reporter = ModelMultipleChoiceFilter(
- queryset=Tracker_User.objects.all())
+ queryset=Dojo_User.objects.all())
class ClosedFindingFilter(FilterSet):
@@ -273,7 +273,7 @@ def __init__(self, *args, **kwargs):
class ClosedFingingSuperFilter(ClosedFindingFilter):
reporter = ModelMultipleChoiceFilter(
- queryset=Tracker_User.objects.all())
+ queryset=Dojo_User.objects.all())
class AcceptedFindingFilter(FilterSet):
@@ -325,7 +325,7 @@ def __init__(self, *args, **kwargs):
class AcceptedFingingSuperFilter(AcceptedFindingFilter):
test__engagement__risk_acceptance__reporter = \
ModelMultipleChoiceFilter(
- queryset=Tracker_User.objects.all(),
+ queryset=Dojo_User.objects.all(),
label="Risk Acceptance Reporter")
diff --git a/tracker/forms.py b/dojo/forms.py
similarity index 98%
rename from tracker/forms.py
rename to dojo/forms.py
index 2818dcbf848..8354568426d 100755
--- a/tracker/forms.py
+++ b/dojo/forms.py
@@ -11,11 +11,11 @@
from pytz import timezone
-from tracker.models import Finding, Product_Type, Product, ScanSettings, VA, \
+from dojo.models import Finding, Product_Type, Product, ScanSettings, VA, \
Check_List, User, Engagement, Test, Test_Type, Notes, Risk_Acceptance, \
- Development_Environment, Tracker_User, Scan
-from tracker.filters import DateRangeFilter
-from tracker import settings
+ Development_Environment, Dojo_User, Scan
+from dojo.filters import DateRangeFilter
+from dojo import settings
RE_DATE = re.compile(r'(\d{4})-(\d\d?)-(\d\d?)$')
@@ -528,10 +528,9 @@ def __init__(self, *args, **kwargs):
del self.fields['exclude_product_types']
-
-class TrackerUserForm(forms.ModelForm):
+class DojoUserForm(forms.ModelForm):
class Meta:
- model = Tracker_User
+ model = Dojo_User
exclude = ['password', 'last_login', 'is_superuser', 'groups',
'username', 'is_staff', 'is_active', 'date_joined',
'user_permissions']
diff --git a/tracker/management/__init__.py b/dojo/management/__init__.py
similarity index 100%
rename from tracker/management/__init__.py
rename to dojo/management/__init__.py
diff --git a/tracker/management/commands/__init__.py b/dojo/management/commands/__init__.py
similarity index 100%
rename from tracker/management/commands/__init__.py
rename to dojo/management/commands/__init__.py
diff --git a/tracker/management/commands/notify_isoc.py b/dojo/management/commands/notify_isoc.py
similarity index 96%
rename from tracker/management/commands/notify_isoc.py
rename to dojo/management/commands/notify_isoc.py
index 355ddfbb4de..99c4339941e 100644
--- a/tracker/management/commands/notify_isoc.py
+++ b/dojo/management/commands/notify_isoc.py
@@ -5,8 +5,8 @@
from django.core.management.base import BaseCommand
from pytz import timezone
-from tracker.models import ScanSettings, Product
-import tracker.settings as settings
+from dojo.models import ScanSettings, Product
+import dojo.settings as settings
locale = timezone(settings.TIME_ZONE)
diff --git a/tracker/management/commands/run_scan.py b/dojo/management/commands/run_scan.py
similarity index 99%
rename from tracker/management/commands/run_scan.py
rename to dojo/management/commands/run_scan.py
index 5d8f07c8ec5..196e37e26de 100755
--- a/tracker/management/commands/run_scan.py
+++ b/dojo/management/commands/run_scan.py
@@ -9,8 +9,8 @@
from nmap import PortScannerAsync, PortScannerError
from pytz import timezone
-from tracker.models import Scan, Product, ScanSettings, IPScan
-import tracker.settings as settings
+from dojo.models import Scan, Product, ScanSettings, IPScan
+import dojo.settings as settings
locale = timezone(settings.TIME_ZONE)
@@ -74,7 +74,7 @@ def runScan(prod_id, p_dict):
msg += str(d) + " \n"
msg += "\nYou are receiving this email because you have signed up "
- msg += "for a port scan on the product security test tracker.\n"
+ msg += "for a port scan on the product security test dojo.\n"
msg += "\nFor any questions please email "
msg += settings.PORT_SCAN_CONTACT_EMAIL + "\n"
msg += "Thanks,\nThe "
diff --git a/tracker/middleware.py b/dojo/middleware.py
similarity index 100%
rename from tracker/middleware.py
rename to dojo/middleware.py
diff --git a/tracker/models.py b/dojo/models.py
similarity index 99%
rename from tracker/models.py
rename to dojo/models.py
index b61e4b7bf99..a933f159b77 100755
--- a/tracker/models.py
+++ b/dojo/models.py
@@ -9,7 +9,7 @@
# proxy class for convenience and UI
-class Tracker_User(User):
+class Dojo_User(User):
class Meta:
proxy = True
@@ -270,7 +270,7 @@ def __unicode__(self):
class ThreatModel(models.Model):
- threat_model = models.ImageField(upload_to=settings.TRACKER_ROOT +
+ threat_model = models.ImageField(upload_to=settings.DOJO_ROOT +
'/threat/',
default='pic_folder/None/no-img.jpg')
engagement = models.ForeignKey(Engagement, editable=False, default=1)
diff --git a/tracker/scans/read.me b/dojo/scans/read.me
similarity index 100%
rename from tracker/scans/read.me
rename to dojo/scans/read.me
diff --git a/tracker/settings.dist.py b/dojo/settings.dist.py
similarity index 96%
rename from tracker/settings.dist.py
rename to dojo/settings.dist.py
index 30ff0477fc5..ddd3bca06ec 100755
--- a/tracker/settings.dist.py
+++ b/dojo/settings.dist.py
@@ -1,4 +1,4 @@
-# Django settings for tracker project.
+# Django settings for dojo project.
import os
DEBUG = True
TEMPLATE_DEBUG = DEBUG
@@ -16,7 +16,7 @@
MANAGERS = ADMINS
-TRACKER_ROOT = 'TRACKERDIR'
+DOJO_ROOT = 'DOJODIR'
DATABASES = {
'default': {
@@ -61,7 +61,7 @@
# Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: "/var/www/example.com/media/"
-MEDIA_ROOT = 'TRACKER_MEIDA_ROOT'
+MEDIA_ROOT = 'DOJO_MEIDA_ROOT'
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
@@ -94,7 +94,7 @@
)
# Make this unique, and don't share it with anybody.
-SECRET_KEY = 'TRACKERSECRET'
+SECRET_KEY = 'DOJOSECRET'
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
@@ -119,10 +119,10 @@
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
- 'tracker.middleware.LoginRequiredMiddleware',
+ 'dojo.middleware.LoginRequiredMiddleware',
)
-ROOT_URLCONF = 'tracker.urls'
+ROOT_URLCONF = 'dojo.urls'
LOGIN_URL = '/login'
LOGIN_EXEMPT_URLS = (
r'^static/',
@@ -133,7 +133,7 @@
)
# Python dotted path to the WSGI application used by Django's runserver.
-WSGI_APPLICATION = 'tracker.wsgi.application'
+WSGI_APPLICATION = 'dojo.wsgi.application'
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates"
@@ -150,7 +150,7 @@
'django.contrib.messages',
'django.contrib.staticfiles',
'south',
- 'tracker',
+ 'dojo',
'django.contrib.admin',
'gunicorn',
'tastypie',
diff --git a/dojo/settings.py b/dojo/settings.py
new file mode 100755
index 00000000000..003127ad33c
--- /dev/null
+++ b/dojo/settings.py
@@ -0,0 +1,210 @@
+# Django settings for dojo project.
+import os
+DEBUG = True
+TEMPLATE_DEBUG = DEBUG
+LOGIN_REDIRECT_URL = '/'
+SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTOCOL', 'https')
+SECURE_SSL_REDIRECT = True
+SESSION_COOKIE_HTTPONLY = True
+
+# Uncomment this line if you enable SSL
+# SESSION_COOKIE_SECURE = True
+
+ADMINS = (
+ ('Jay Paz', 'jay.paz@rackspace.com')
+)
+
+MANAGERS = ADMINS
+
+DOJO_ROOT = '/Users/jay7958/test-dojo/'
+
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2',
+ # 'mysql','sqlite3' or 'oracle'.
+ 'NAME': 'tdb', # Or path to database file if using sqlite3.
+ # The following settings are not used with sqlite3:
+ 'USER': 'root',
+ 'PASSWORD': 'bat,man7',
+ 'HOST': 'localhost', # Empty for localhost through domain sockets
+ # or '127.0.0.1' for localhost through TCP.
+ 'PORT': '13306', # Set to empty string for default.
+ }
+}
+
+# Hosts/domain names that are valid for this site; required if DEBUG is False
+# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts
+ALLOWED_HOSTS = []
+
+# Local time zone for this installation. Choices can be found here:
+# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
+# although not all choices may be available on all operating systems.
+# In a Windows environment this must be set to your system time zone.
+TIME_ZONE = 'America/Chicago'
+
+# Language code for this installation. All choices can be found here:
+# http://www.i18nguy.com/unicode/language-identifiers.html
+LANGUAGE_CODE = 'en-us'
+
+SITE_ID = 1
+
+# If you set this to False, Django will make some optimizations so as not
+# to load the internationalization machinery.
+USE_I18N = True
+
+# If you set this to False, Django will not format dates, numbers and
+# calendars according to the current locale.
+USE_L10N = True
+
+# If you set this to False, Django will not use timezone-aware datetimes.
+USE_TZ = True
+
+# Absolute filesystem path to the directory that will hold user-uploaded files.
+# Example: "/var/www/example.com/media/"
+MEDIA_ROOT = '/Users/jay7958/test-tracker//uploads/'
+
+# URL that handles the media served from MEDIA_ROOT. Make sure to use a
+# trailing slash.
+# Examples: "http://example.com/media/", "http://media.example.com/"
+MEDIA_URL = '/media/'
+
+# Absolute path to the directory static files should be collected to.
+# Don't put anything in this directory yourself; store your static files
+# in apps' "static/" subdirectories and in STATICFILES_DIRS.
+# Example: "/var/www/example.com/static/"
+STATIC_ROOT = "/Users/jay7958/test-tracker//static/"
+
+# URL prefix for static files.
+# Example: "http://example.com/static/", "http://static.example.com/"
+STATIC_URL = '/static/'
+
+# Additional locations of static files
+STATICFILES_DIRS = (
+ # Put strings here, like "/home/html/static" or "C:/www/django/static".
+ # Always use forward slashes, even on Windows.
+ # Don't forget to use absolute paths, not relative paths.
+
+)
+
+# List of finder classes that know how to find static files in
+# various locations.
+STATICFILES_FINDERS = (
+ 'django.contrib.staticfiles.finders.FileSystemFinder',
+ 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
+)
+
+# Make this unique, and don't share it with anybody.
+SECRET_KEY = 'y-be!k5$fwc-3rv#3mqv3k!eg=_x@s)fiys97_#^d-7pv19yfx'
+
+# List of callables that know how to import templates from various sources.
+TEMPLATE_LOADERS = (
+ 'django.template.loaders.filesystem.Loader',
+ 'django.template.loaders.app_directories.Loader',
+)
+
+TEMPLATE_CONTEXT_PROCESSORS = (
+ "django.contrib.auth.context_processors.auth",
+ "django.core.context_processors.debug",
+ "django.core.context_processors.i18n",
+ "django.core.context_processors.media",
+ "django.core.context_processors.static",
+ "django.core.context_processors.tz",
+ "django.contrib.messages.context_processors.messages",
+ "django.core.context_processors.request",)
+
+MIDDLEWARE_CLASSES = (
+ 'django.middleware.common.CommonMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
+ 'dojo.middleware.LoginRequiredMiddleware',
+)
+
+ROOT_URLCONF = 'dojo.urls'
+LOGIN_URL = '/login'
+LOGIN_EXEMPT_URLS = (
+ r'^static/',
+ r'^all_metrics$',
+ r'^product_type/(?P\d+)/metrics$',
+ r'^simple_metrics$',
+ r'^wiki_metrics$',
+)
+
+# Python dotted path to the WSGI application used by Django's runserver.
+WSGI_APPLICATION = 'dojo.wsgi.application'
+
+TEMPLATE_DIRS = (
+ # Put strings here, like "/home/html/django_templates"
+ # or "C:/www/django/templates".
+ # Always use forward slashes, even on Windows.
+ # Don't forget to use absolute paths, not relative paths.
+)
+
+INSTALLED_APPS = (
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.sites',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+ 'south',
+ 'dojo',
+ 'django.contrib.admin',
+ 'gunicorn',
+ 'tastypie',
+ 'tastypie_swagger',
+)
+
+EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
+EMAIL_HOST = 'smtpout.your_domain.com'
+EMAIL_PORT = '25'
+EMAIL_USE_TLS = True
+
+PORT_SCAN_CONTACT_EMAIL = 'email@your_host'
+PORT_SCAN_RESULT_EMAIL_FROM = 'email@your_host'
+PORT_SCAN_EXTERNAL_UNIT_EMAIL_LIST = ['email@your_host']
+PORT_SCAN_SOURCE_IP = '127.0.0.1'
+
+# Used in a few places to prefix page headings and in email
+# salutations
+TEAM_NAME = 'Security Engineering'
+
+# A sample logging configuration. The only tangible logging
+# performed by this configuration is to send an email to
+# the site admins on every HTTP 500 error when DEBUG=False.
+# See http://docs.djangoproject.com/en/dev/topics/logging for
+# more details on how to customize your logging configuration.
+LOGGING = {
+ 'version': 1,
+ 'disable_existing_loggers': False,
+ 'formatters': {
+ 'verbose': {
+ 'format': '[%(asctime)s] %(levelname)s [%(name)s:%(lineno)d] %(message)s',
+ 'datefmt': '%d/%b/%Y %H:%M:%S',
+ },
+ 'simple': {
+ 'format': '%(levelname)s %(funcName)s %(lineno)d %(message)s'
+ },
+ },
+ 'filters': {
+ 'require_debug_false': {
+ '()': 'django.utils.log.RequireDebugFalse'
+ }
+ },
+ 'handlers': {
+ 'mail_admins': {
+ 'level': 'ERROR',
+ 'filters': ['require_debug_false'],
+ 'class': 'django.utils.log.AdminEmailHandler'
+ }
+ },
+ 'loggers': {
+ 'django.request': {
+ 'handlers': ['mail_admins'],
+ 'level': 'ERROR',
+ 'propagate': True,
+ },
+ }
+}
diff --git a/tracker/static/css/bootstrap.min.css b/dojo/static/css/bootstrap.min.css
similarity index 100%
rename from tracker/static/css/bootstrap.min.css
rename to dojo/static/css/bootstrap.min.css
diff --git a/tracker/static/css/tracker-jquery-ui/images/animated-overlay.gif b/dojo/static/css/dojo-jquery-ui/images/animated-overlay.gif
similarity index 100%
rename from tracker/static/css/tracker-jquery-ui/images/animated-overlay.gif
rename to dojo/static/css/dojo-jquery-ui/images/animated-overlay.gif
diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png b/dojo/static/css/dojo-jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png
similarity index 100%
rename from tracker/static/css/tracker-jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png
rename to dojo/static/css/dojo-jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png
diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-bg_flat_0_eeeeee_40x100.png b/dojo/static/css/dojo-jquery-ui/images/ui-bg_flat_0_eeeeee_40x100.png
similarity index 100%
rename from tracker/static/css/tracker-jquery-ui/images/ui-bg_flat_0_eeeeee_40x100.png
rename to dojo/static/css/dojo-jquery-ui/images/ui-bg_flat_0_eeeeee_40x100.png
diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-bg_flat_55_ffffff_40x100.png b/dojo/static/css/dojo-jquery-ui/images/ui-bg_flat_55_ffffff_40x100.png
similarity index 100%
rename from tracker/static/css/tracker-jquery-ui/images/ui-bg_flat_55_ffffff_40x100.png
rename to dojo/static/css/dojo-jquery-ui/images/ui-bg_flat_55_ffffff_40x100.png
diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png b/dojo/static/css/dojo-jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png
similarity index 100%
rename from tracker/static/css/tracker-jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png
rename to dojo/static/css/dojo-jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png
diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png b/dojo/static/css/dojo-jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png
similarity index 100%
rename from tracker/static/css/tracker-jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png
rename to dojo/static/css/dojo-jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png
diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png b/dojo/static/css/dojo-jquery-ui/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png
similarity index 100%
rename from tracker/static/css/tracker-jquery-ui/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png
rename to dojo/static/css/dojo-jquery-ui/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png
diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-bg_highlight-soft_25_09d_1x100.png b/dojo/static/css/dojo-jquery-ui/images/ui-bg_highlight-soft_25_09d_1x100.png
similarity index 100%
rename from tracker/static/css/tracker-jquery-ui/images/ui-bg_highlight-soft_25_09d_1x100.png
rename to dojo/static/css/dojo-jquery-ui/images/ui-bg_highlight-soft_25_09d_1x100.png
diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-bg_highlight-soft_50_f0f0f0_1x100.png b/dojo/static/css/dojo-jquery-ui/images/ui-bg_highlight-soft_50_f0f0f0_1x100.png
similarity index 100%
rename from tracker/static/css/tracker-jquery-ui/images/ui-bg_highlight-soft_50_f0f0f0_1x100.png
rename to dojo/static/css/dojo-jquery-ui/images/ui-bg_highlight-soft_50_f0f0f0_1x100.png
diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-icons_0073ea_256x240.png b/dojo/static/css/dojo-jquery-ui/images/ui-icons_0073ea_256x240.png
similarity index 100%
rename from tracker/static/css/tracker-jquery-ui/images/ui-icons_0073ea_256x240.png
rename to dojo/static/css/dojo-jquery-ui/images/ui-icons_0073ea_256x240.png
diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-icons_09d_256x240.png b/dojo/static/css/dojo-jquery-ui/images/ui-icons_09d_256x240.png
similarity index 100%
rename from tracker/static/css/tracker-jquery-ui/images/ui-icons_09d_256x240.png
rename to dojo/static/css/dojo-jquery-ui/images/ui-icons_09d_256x240.png
diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-icons_454545_256x240.png b/dojo/static/css/dojo-jquery-ui/images/ui-icons_454545_256x240.png
similarity index 100%
rename from tracker/static/css/tracker-jquery-ui/images/ui-icons_454545_256x240.png
rename to dojo/static/css/dojo-jquery-ui/images/ui-icons_454545_256x240.png
diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-icons_666666_256x240.png b/dojo/static/css/dojo-jquery-ui/images/ui-icons_666666_256x240.png
similarity index 100%
rename from tracker/static/css/tracker-jquery-ui/images/ui-icons_666666_256x240.png
rename to dojo/static/css/dojo-jquery-ui/images/ui-icons_666666_256x240.png
diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-icons_b94a48_256x240.png b/dojo/static/css/dojo-jquery-ui/images/ui-icons_b94a48_256x240.png
similarity index 100%
rename from tracker/static/css/tracker-jquery-ui/images/ui-icons_b94a48_256x240.png
rename to dojo/static/css/dojo-jquery-ui/images/ui-icons_b94a48_256x240.png
diff --git a/tracker/static/css/tracker-jquery-ui/images/ui-icons_ffffff_256x240.png b/dojo/static/css/dojo-jquery-ui/images/ui-icons_ffffff_256x240.png
similarity index 100%
rename from tracker/static/css/tracker-jquery-ui/images/ui-icons_ffffff_256x240.png
rename to dojo/static/css/dojo-jquery-ui/images/ui-icons_ffffff_256x240.png
diff --git a/tracker/static/css/tracker-jquery-ui/jquery-ui-1.10.4.custom.css b/dojo/static/css/dojo-jquery-ui/jquery-ui-1.10.4.custom.css
similarity index 100%
rename from tracker/static/css/tracker-jquery-ui/jquery-ui-1.10.4.custom.css
rename to dojo/static/css/dojo-jquery-ui/jquery-ui-1.10.4.custom.css
diff --git a/tracker/static/css/tracker-jquery-ui/jquery-ui-1.10.4.custom.min.css b/dojo/static/css/dojo-jquery-ui/jquery-ui-1.10.4.custom.min.css
similarity index 100%
rename from tracker/static/css/tracker-jquery-ui/jquery-ui-1.10.4.custom.min.css
rename to dojo/static/css/dojo-jquery-ui/jquery-ui-1.10.4.custom.min.css
diff --git a/tracker/static/css/tracker.css b/dojo/static/css/dojo.css
similarity index 99%
rename from tracker/static/css/tracker.css
rename to dojo/static/css/dojo.css
index 9982a5ace46..64a7da86e40 100644
--- a/tracker/static/css/tracker.css
+++ b/dojo/static/css/dojo.css
@@ -344,7 +344,7 @@ form ul#id_accepted_findings input {
background-color: #468847;
}
-.tracker-search {
+.dojo-search {
clear: right !important;
display: inline-block !important;
float: right !important;
diff --git a/tracker/static/css/font-awesome.min.css b/dojo/static/css/font-awesome.min.css
similarity index 100%
rename from tracker/static/css/font-awesome.min.css
rename to dojo/static/css/font-awesome.min.css
diff --git a/tracker/static/css/fullcalendar.css b/dojo/static/css/fullcalendar.css
similarity index 100%
rename from tracker/static/css/fullcalendar.css
rename to dojo/static/css/fullcalendar.css
diff --git a/tracker/static/css/metisMenu.min.css b/dojo/static/css/metisMenu.min.css
similarity index 100%
rename from tracker/static/css/metisMenu.min.css
rename to dojo/static/css/metisMenu.min.css
diff --git a/tracker/static/css/sb-admin-2.css b/dojo/static/css/sb-admin-2.css
similarity index 100%
rename from tracker/static/css/sb-admin-2.css
rename to dojo/static/css/sb-admin-2.css
diff --git a/tracker/static/css/timeline.css b/dojo/static/css/timeline.css
similarity index 100%
rename from tracker/static/css/timeline.css
rename to dojo/static/css/timeline.css
diff --git a/tracker/static/fonts/FontAwesome.otf b/dojo/static/fonts/FontAwesome.otf
similarity index 100%
rename from tracker/static/fonts/FontAwesome.otf
rename to dojo/static/fonts/FontAwesome.otf
diff --git a/tracker/static/fonts/fontawesome-webfont.eot b/dojo/static/fonts/fontawesome-webfont.eot
similarity index 100%
rename from tracker/static/fonts/fontawesome-webfont.eot
rename to dojo/static/fonts/fontawesome-webfont.eot
diff --git a/tracker/static/fonts/fontawesome-webfont.svg b/dojo/static/fonts/fontawesome-webfont.svg
similarity index 100%
rename from tracker/static/fonts/fontawesome-webfont.svg
rename to dojo/static/fonts/fontawesome-webfont.svg
diff --git a/tracker/static/fonts/fontawesome-webfont.ttf b/dojo/static/fonts/fontawesome-webfont.ttf
similarity index 100%
rename from tracker/static/fonts/fontawesome-webfont.ttf
rename to dojo/static/fonts/fontawesome-webfont.ttf
diff --git a/tracker/static/fonts/fontawesome-webfont.woff b/dojo/static/fonts/fontawesome-webfont.woff
similarity index 100%
rename from tracker/static/fonts/fontawesome-webfont.woff
rename to dojo/static/fonts/fontawesome-webfont.woff
diff --git a/tracker/static/fonts/fontawesome-webfont.woff2 b/dojo/static/fonts/fontawesome-webfont.woff2
similarity index 100%
rename from tracker/static/fonts/fontawesome-webfont.woff2
rename to dojo/static/fonts/fontawesome-webfont.woff2
diff --git a/tracker/static/img/chop.png b/dojo/static/img/chop.png
similarity index 100%
rename from tracker/static/img/chop.png
rename to dojo/static/img/chop.png
diff --git a/tracker/static/img/cloud_sec.png b/dojo/static/img/cloud_sec.png
similarity index 100%
rename from tracker/static/img/cloud_sec.png
rename to dojo/static/img/cloud_sec.png
diff --git a/tracker/static/img/favicon.ico b/dojo/static/img/favicon.ico
similarity index 100%
rename from tracker/static/img/favicon.ico
rename to dojo/static/img/favicon.ico
diff --git a/tracker/static/img/glyphicons-halflings-white.png b/dojo/static/img/glyphicons-halflings-white.png
similarity index 100%
rename from tracker/static/img/glyphicons-halflings-white.png
rename to dojo/static/img/glyphicons-halflings-white.png
diff --git a/tracker/static/img/glyphicons-halflings.png b/dojo/static/img/glyphicons-halflings.png
similarity index 100%
rename from tracker/static/img/glyphicons-halflings.png
rename to dojo/static/img/glyphicons-halflings.png
diff --git a/tracker/static/img/index.jpg b/dojo/static/img/index.jpg
similarity index 100%
rename from tracker/static/img/index.jpg
rename to dojo/static/img/index.jpg
diff --git a/tracker/static/img/logo.png b/dojo/static/img/logo.png
similarity index 100%
rename from tracker/static/img/logo.png
rename to dojo/static/img/logo.png
diff --git a/tracker/static/js/SearchHighlight.js b/dojo/static/js/SearchHighlight.js
similarity index 100%
rename from tracker/static/js/SearchHighlight.js
rename to dojo/static/js/SearchHighlight.js
diff --git a/tracker/static/js/bootstrap.js b/dojo/static/js/bootstrap.js
similarity index 100%
rename from tracker/static/js/bootstrap.js
rename to dojo/static/js/bootstrap.js
diff --git a/tracker/static/js/bootstrap.min.js b/dojo/static/js/bootstrap.min.js
similarity index 100%
rename from tracker/static/js/bootstrap.min.js
rename to dojo/static/js/bootstrap.min.js
diff --git a/tracker/static/js/excanvas.min.js b/dojo/static/js/excanvas.min.js
similarity index 100%
rename from tracker/static/js/excanvas.min.js
rename to dojo/static/js/excanvas.min.js
diff --git a/tracker/static/js/fullcalendar.min.js b/dojo/static/js/fullcalendar.min.js
similarity index 100%
rename from tracker/static/js/fullcalendar.min.js
rename to dojo/static/js/fullcalendar.min.js
diff --git a/tracker/static/js/index.js b/dojo/static/js/index.js
similarity index 100%
rename from tracker/static/js/index.js
rename to dojo/static/js/index.js
diff --git a/tracker/static/js/jquery-ui.min.js b/dojo/static/js/jquery-ui.min.js
similarity index 100%
rename from tracker/static/js/jquery-ui.min.js
rename to dojo/static/js/jquery-ui.min.js
diff --git a/tracker/static/js/jquery.cookie.js b/dojo/static/js/jquery.cookie.js
similarity index 100%
rename from tracker/static/js/jquery.cookie.js
rename to dojo/static/js/jquery.cookie.js
diff --git a/tracker/static/js/jquery.flot.JUMlib.js b/dojo/static/js/jquery.flot.JUMlib.js
similarity index 100%
rename from tracker/static/js/jquery.flot.JUMlib.js
rename to dojo/static/js/jquery.flot.JUMlib.js
diff --git a/tracker/static/js/jquery.flot.bubbles.js b/dojo/static/js/jquery.flot.bubbles.js
similarity index 100%
rename from tracker/static/js/jquery.flot.bubbles.js
rename to dojo/static/js/jquery.flot.bubbles.js
diff --git a/tracker/static/js/jquery.flot.js b/dojo/static/js/jquery.flot.js
similarity index 100%
rename from tracker/static/js/jquery.flot.js
rename to dojo/static/js/jquery.flot.js
diff --git a/tracker/static/js/jquery.flot.mouse.js b/dojo/static/js/jquery.flot.mouse.js
similarity index 100%
rename from tracker/static/js/jquery.flot.mouse.js
rename to dojo/static/js/jquery.flot.mouse.js
diff --git a/tracker/static/js/jquery.flot.pie.js b/dojo/static/js/jquery.flot.pie.js
similarity index 100%
rename from tracker/static/js/jquery.flot.pie.js
rename to dojo/static/js/jquery.flot.pie.js
diff --git a/tracker/static/js/jquery.flot.resize.js b/dojo/static/js/jquery.flot.resize.js
similarity index 100%
rename from tracker/static/js/jquery.flot.resize.js
rename to dojo/static/js/jquery.flot.resize.js
diff --git a/tracker/static/js/jquery.flot.stack.js b/dojo/static/js/jquery.flot.stack.js
similarity index 100%
rename from tracker/static/js/jquery.flot.stack.js
rename to dojo/static/js/jquery.flot.stack.js
diff --git a/tracker/static/js/jquery.flot.time.js b/dojo/static/js/jquery.flot.time.js
similarity index 100%
rename from tracker/static/js/jquery.flot.time.js
rename to dojo/static/js/jquery.flot.time.js
diff --git a/tracker/static/js/jquery.flot.tooltip.min.js b/dojo/static/js/jquery.flot.tooltip.min.js
similarity index 100%
rename from tracker/static/js/jquery.flot.tooltip.min.js
rename to dojo/static/js/jquery.flot.tooltip.min.js
diff --git a/tracker/static/js/jquery.min.js b/dojo/static/js/jquery.min.js
similarity index 100%
rename from tracker/static/js/jquery.min.js
rename to dojo/static/js/jquery.min.js
diff --git a/tracker/static/js/jquery.min.map b/dojo/static/js/jquery.min.map
similarity index 100%
rename from tracker/static/js/jquery.min.map
rename to dojo/static/js/jquery.min.map
diff --git a/tracker/static/js/jquery.tablesorter.min.js b/dojo/static/js/jquery.tablesorter.min.js
similarity index 100%
rename from tracker/static/js/jquery.tablesorter.min.js
rename to dojo/static/js/jquery.tablesorter.min.js
diff --git a/tracker/static/js/metisMenu.min.js b/dojo/static/js/metisMenu.min.js
similarity index 100%
rename from tracker/static/js/metisMenu.min.js
rename to dojo/static/js/metisMenu.min.js
diff --git a/tracker/static/js/moment.min.js b/dojo/static/js/moment.min.js
similarity index 100%
rename from tracker/static/js/moment.min.js
rename to dojo/static/js/moment.min.js
diff --git a/tracker/static/js/sb-admin-2.js b/dojo/static/js/sb-admin-2.js
similarity index 100%
rename from tracker/static/js/sb-admin-2.js
rename to dojo/static/js/sb-admin-2.js
diff --git a/tracker/templates/403.html b/dojo/templates/403.html
similarity index 100%
rename from tracker/templates/403.html
rename to dojo/templates/403.html
diff --git a/tracker/templates/404.html b/dojo/templates/404.html
similarity index 100%
rename from tracker/templates/404.html
rename to dojo/templates/404.html
diff --git a/tracker/templates/alert_nav_items.html b/dojo/templates/alert_nav_items.html
similarity index 100%
rename from tracker/templates/alert_nav_items.html
rename to dojo/templates/alert_nav_items.html
diff --git a/tracker/templates/base.html b/dojo/templates/base.html
similarity index 97%
rename from tracker/templates/base.html
rename to dojo/templates/base.html
index 8daa1c58ef8..5c4d7d755df 100644
--- a/tracker/templates/base.html
+++ b/dojo/templates/base.html
@@ -17,7 +17,7 @@
{% endif %}
{% endfor %}
{% else %}
- TestTrack
+ DefectDojo
{% endif %}
{% block add_css_before %}
@@ -45,10 +45,10 @@
{% block add_css %}
{% endblock %}
-
+
-
+