836 Commits

Author SHA1 Message Date
Thomas Waldmann
d3724032e1 simplify url dispatcher
we can include all the urls (as usual) AFTER overiding some of them giving a special rule first.
2013-11-16 04:52:45 +01:00
Thomas Waldmann
d6b5041573 a real nic update api test, using basic auth
generate_secret was modified to support giving a secret (not generating a random one), so it matches the test database

add a User and a Host to the test db
2013-11-16 01:25:05 +01:00
Thomas Waldmann
b1ef5ed6b4 api / session ip updates: reorder evaluation, is a bit faster for failures 2013-11-15 13:22:06 +01:00
Thomas Waldmann
4c46c30d25 more api tests (mostly triggering execution of some code)
it's hard to test anything without a user / http auth / login / session.
2013-11-15 13:00:57 +01:00
Thomas Waldmann
1f28cb3ed0 name api views, use reverse() in unit tests 2013-11-15 12:14:36 +01:00
Thomas Waldmann
aa755d2ce2 so much pain and duplication just to get the cursor into the right field using html5 autofocus attr 2013-11-15 10:07:40 +01:00
Thomas Waldmann
76d3dfebc2 catch case where .session_key was None, leading to an invalid /detectip/None url 2013-11-15 01:16:13 +01:00
Thomas Waldmann
117b34d4c9 fix docstring, is for class, not method 2013-11-14 10:17:53 +01:00
Thomas Waldmann
182671783d for now, default to real (non-permanent) session cookies that are cleared at browser close
SESSION_EXPIRE_AT_BROWSER_CLOSE = True

later we can maybe have a "remember me" checkbox at login time, so a user can decide on his
own whether to use session or long-living cookie.
2013-11-14 10:01:36 +01:00
Thomas Waldmann
f6fb8b67bd try to not write into session unless there is really a change or a refresh needed, reduce code duplication
move code from HomeView to context processor
2013-11-14 02:11:44 +01:00
Thomas Waldmann
7930adc596 reinitialize test user management command 2013-11-13 03:22:54 +01:00
Thomas Waldmann
5e2ddfec1c add a warning if we have no javascript
it is needed e.g. for the IP address detection and also other functions.
2013-11-12 14:28:50 +01:00
Thomas Waldmann
7aa48d7d4f ajax get ips: increase delay for first call, add a second call later to update the view (again)
sometimes those v6 tunnels are a bit slow...
2013-11-10 16:41:29 +01:00
Thomas Waldmann
be0e537c56 bump version to 0.3.0 2013-11-10 14:28:00 +01:00
Thomas Waldmann
f1cdf2ec45 dnstools logging levels improved 2013-11-10 13:59:40 +01:00
Thomas Waldmann
9da1fe95b6 better logging for mismatching username/hostname 2013-11-10 08:12:22 +01:00
Thomas Waldmann
50bdf58398 fix typo 2013-11-10 08:03:36 +01:00
Thomas Waldmann
367bc70f56 security fix: authenticating is not enough, hostname qs param (if given) also needs to match the username 2013-11-10 07:57:40 +01:00
Thomas Waldmann
24b687960e deal with "nameserver not available" and "peer bad signature" in same way as with dns update errors, 2013-11-10 07:04:46 +01:00
Thomas Waldmann
e27d1fa687 update bind9 configuration example / view 2013-11-10 06:48:48 +01:00
Thomas Waldmann
bd3e7c80f7 if a dns update give a rcode != NOERROR, we log it and raise a DnsUpdateError, dyndns2 result code: "dnserr REASON" (also shown on web ui) 2013-11-10 06:29:33 +01:00
Thomas Waldmann
57641f3b9a allow single-host update secrets, make dnstools tests work for everybody
the nsupdate.info zone is configured to allow updating test.nsupdate.info with a non-secret key used for the tests.
we also have a test that tries to update another host with that key and checks that this fails.

change the tests so they only use test.nsupdate.info (if possible).

single-host update secrets need a Domain record for the fqdn of this single host, the fqdn is tried first, before it tries the origin zone.
2013-11-10 05:52:41 +01:00
Thomas Waldmann
4fadb5de82 dnstools tests: always use the same TEST_HOST 2013-11-09 23:19:05 +01:00
Thomas Waldmann
f13f4f474f bump version to 0.2.0b0, add Version code, read version number from package init for use in setup.py and sphinx docs 2013-11-09 21:45:30 +01:00
Thomas Waldmann
596b03b2b0 domain overview: rather show domain owner than master nameserver IP address
the ip address we use to send updates to is not required to be a publically available nameserver, so it is better not published.
the users of domains can query the official public nameservers from dns in the usual ways.
2013-11-09 18:05:51 +01:00
Thomas Waldmann
96a82fca7f only log request info in views, avoid KeyErrors in logging when we have no request.* info available 2013-11-09 17:42:10 +01:00
Thomas Waldmann
3c915e3575 refactor logger code
the original code looked somehow like it was meant to have a lazy on-demand behaviour, just computing what is used in the format string for log output.

problem is that this doesn't really happen practically, the logging code requests ALL values for all keys.
as this stuff is used rather often, the new code was optimized to just build a dictionary of values rather cheaply.
support for request.host was removed as I suspect the required socket operation might be not be cheap enough.
2013-11-09 16:51:44 +01:00
Thomas Waldmann
cd9129f41b request logging: avoid accessing deprecated attributes, implement exclude for attr names 2013-11-09 07:44:43 +01:00
Thomas Waldmann
f5c70b03b1 dnstools: use enhanced logger, gives remote addr and user agent automatically 2013-11-09 07:17:05 +01:00
Thomas Waldmann
abb0048c9c add logger decorate to enable logging of infos from django's HttpRequest object 2013-11-09 06:53:16 +01:00
Thomas Waldmann
cc7b22d63f more help texts 2013-11-08 08:03:12 +01:00
Thomas Waldmann
b3ef4b0ce7 removed unused PasswordChangeView class 2013-11-08 06:57:19 +01:00
Thomas Waldmann
2eb13ee3b8 remove the screenshots view, it is prone to be outdated and boring work to keep it uptodate
it is replaced by a hint to use a test account, so you can see it all "live" - without needing to register first.
2013-11-08 05:35:10 +01:00
Thomas Waldmann
f59981616f offer test account 2013-11-08 05:19:43 +01:00
Thomas Waldmann
a4a08075d4 remove misleading default of STATIC_ROOT
it is the destination directory of manage.py collectstatic action, NOT our main app's static dir
2013-11-08 04:11:14 +01:00
Thomas Waldmann
26fca4ffcc try to read SECRET_KEY from environment (while allowing other methods for setting it later) 2013-11-08 04:01:18 +01:00
Thomas Waldmann
22c44afbe9 document why ip detection is implemented like this 2013-11-07 03:09:53 +01:00
Thomas Waldmann
4218ac6880 fix / simplify ip detection javascript
use .ready() instead of first delay
merge script blocks
2013-11-07 02:43:48 +01:00
Thomas Waldmann
9cdddbaa0d catch exception that is raised for update usernames that are not fqdn 2013-11-06 13:17:23 +01:00
Thomas Waldmann
6dfd61d000 navibar: more icons 2013-11-06 13:14:03 +01:00
Thomas Waldmann
ac0f9f0e38 they have fontawesome 4.0.3, they just didn't tell... 2013-11-06 04:45:36 +01:00
Thomas Waldmann
8491d4f058 add some icons to navbar / user menu 2013-11-06 04:33:17 +01:00
Thomas Waldmann
e58afb792c upgrade to font-awesome 4.0.2 2013-11-06 04:02:37 +01:00
Thomas Waldmann
bd0ca16e70 use bootstrap 3.0.1 2013-11-06 03:42:07 +01:00
Thomas Waldmann
c3ec4c5a50 Fix/generalize ns update secret generation. Reduce code duplication. Fixes #74. 2013-11-06 02:21:12 +01:00
Thomas Waldmann
1072b7ccf0 fixed levels of some error messages, should work now 2013-11-06 01:30:06 +01:00
Thomas Waldmann
e924b054fe fix the message tags (== css classes) so they are meaningful to bootstrap3
note: tags can have multiple classes inside, so better use full class names
2013-11-06 01:25:28 +01:00
Thomas Waldmann
e2f51d5eb1 more pep8 fixes 2013-11-05 00:32:07 +01:00
Thomas Waldmann
51e5efbe8f transform some views from function- to class-based
fixes some pep8 issues. use lowercase function name for the stuff we keep as function.
2013-11-05 00:24:02 +01:00
Thomas Waldmann
4ba29fc3ff detectip: it is not valid without a sessionid, remove the view
and as we currently use the sessionid, we should also name it like that.
2013-11-04 23:09:24 +01:00