Commit Graph

28 Commits

Author SHA1 Message Date
jeffrey forman 2247f7262e add main functionality for NSD in models.
update the encrypt (save) and decrypt functions to be python3/dnspython friendly
using bytestrings instead of expecting strings.

statistic_port is now control_port.

removed the validations from admin.py because the model fields now provide
for validators of their data.

add creds dir to the settings.py
2019-03-17 20:36:28 -04:00
jeffrey forman e7e560a403 expect django greater than 2, and use open() instead of file() call 2019-02-14 07:51:31 -05:00
jeffrey forman f9176387ac update to django-2, python3, and based on an alpine container 2019-02-13 20:17:05 -05:00
jeffrey forman dac54a5ad7 bump pybindxml to 0.7 to handle bind 9.12 2019-01-17 13:34:37 -05:00
Jeffrey Forman 1af8f1e31b encrypt TSIG keys using Fernet cryptography library 2017-05-02 20:21:11 -04:00
Jeffrey Forman 4c7ed9beb6 fix logic on using remote mysql db. make sqlite the fall back, logic clears up if not all variables are set 2017-03-31 23:05:47 -04:00
Jeffrey Forman 6704469b9d add support for specifying DB parameters via environment variables. sqlite or mysql.
updated README to focus on developing/running via docker
2017-03-29 21:05:39 -04:00
Jeffrey Forman 6ecae8b772 in django 1.8, django.core.context_processors moved into django.template.context_processors.
Note to self: always test in a container running a recent version of django. i was still testing on 1.7 :/
2017-03-25 16:20:02 -04:00
Jeffrey Forman ff8088defa add request context_processor and printing serving hostname to footer
eventually this will make lead to making it a bit more docker/kubernetes friendly
2017-03-25 15:53:09 -04:00
Jeffrey Forman 7fdcfab8a0 add support to add CNAME in zone, loosen restrictions on record data input 2016-11-12 07:44:03 -05:00
Daniel Roschka 74cc4efca4 Adds support for Django 1.9 while dropping support for unsupported versions.
This commit adds support for Django 1.9. As the template configuration options
changed with Django 1.8 and versions earlier than 1.8 aren't supported anymore
anyway by upstream, support for them is removed.

To have the Dockerfile still working, this commit also changes its logic so the
dependencies get directly installed via the requirements.txt from PyPI, which
will ensure that always matching versions of all dependencies are present (e.g.
the Django version).
2016-02-06 19:21:52 +01:00
Daniel Roschka e13b42cd13 Refactors the views used to add and delete records.
Notable changes are:
* Refactored views, utilizing more of Djangos features, resulting in simpler
  code.
* URLs are now the same when initially filling out a form and when editing a
  submitted form which contained errors.
* Instead of a result page showing the response from the DNS server (which is
  now logged using Djangos "logging" functionality) the user is now redirected
  back to the record listing of the current zone when the action was successful
  or stays on the form page when an error occured. Proper success/error
  messages are shown in both cases by utilizing Djangos "messages"
  functionality.
2015-09-05 19:03:21 +02:00
Daniel Roschka 2ffd7c4b39 Resolve merge conflict introduced with recent changes to master. 2015-05-30 18:17:29 +02:00
Daniel Roschka 7882ee9121 Add global authentication
This commit adds global authentication to binder to ensure that only valid
users are able to use it. This should enable binder to be used in
environemts where it's webfrontend is reachable for unauthenticated users as
well.

For setups where such a global authentication isn't desired it can be disabled
by simply removing the LoginRequiredMiddleware from the list of active
middlewares.
2015-04-05 21:06:01 +02:00
Daniel Roschka 581dc915fe Change in the behavior of local_settings.py
Up to now local_settings.py was used for binder specific configuration values.

This commit moves these values to settings.py, removes local_settings.py
from version control and adds logic to settings.py to allow settings in
local_settings.py to overwrite ones defined in settings.py, enabling
local_settings.py to be used as installation specific configuration file,
e.g. for custom database configuration.
2015-04-02 10:26:29 +02:00
Daniel Roschka 9eb3726889 Makes SECRET_KEY secret
To quote from Djangos documentation:
"The secret key must be a large random value and it must be kept secret."
https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/#secret-key

This commit achieves that by generating a file containing a random string
when running the first time and by using this string as SECRET_KEY from then
on.
2015-03-24 22:43:18 +01:00
Jeffrey Forman e732cf3613 add TEST_RUNNER specification to be django >1.6 friendly 2014-12-21 19:24:35 -05:00
Jeffrey Forman 06c1b268b4 make template_dirs in settings a tuple to play nice with django 1.7 2014-10-06 21:58:09 -04:00
Jeffrey Forman ae0830436a remove sites installed app that isnt used 2012-11-08 22:59:40 -05:00
Jeffrey Forman eb717e001a Bring things up to 1.4 standards. A LOT of file moves, simplifying of paths. Removed bcommon directory under binder 2012-10-28 14:49:15 -04:00
Jeffrey Forman 60c6a9ee83 Make the admin UI work again now that I'm running django 1.4 2012-10-27 18:41:25 -04:00
Jeffrey Forman a03f49c158 Code cleanup, standardize on dns_server and zone_name
Added bootstrap CSS framework
Added error handling around deleting with a bad key.
2011-11-26 13:03:00 -05:00
Jeffrey Forman a981711c22 When input is prefect, adding a record works and shows output from dns update. 2011-04-24 20:52:56 -04:00
Jeffrey Forman 3ed63a3c55 Add initial static directory with rudimentary CSS for tables 2011-04-14 22:08:22 -04:00
Jeffrey Forman 03ce6bb7db /info now works listing the dns servers configured, each linked as well 2011-04-13 20:49:20 -04:00
Jeffrey Forman fbd8552853 rename bindercommon to bcommon 2011-04-11 15:37:50 -04:00
Jeffrey Forman 823a175ea8 Add bindercommon app. Admin UI configured with model spec for servers,keys,zones 2011-04-10 22:23:17 -04:00
Jeffrey Forman 2269155864 Enable admin ui 2011-04-10 15:02:33 -04:00