| 1 | Things I'd like to make happen | 
|---|
| 2 |  | 
|---|
| 3 | 2009/09/04 | 
|---|
| 4 | - Retain offset/perpage/sort-order and related info in the session and/or user profile | 
|---|
| 5 | - need to keep separate record of domain list and record list settings [COMPLETE] | 
|---|
| 6 | - Support groups (currently group id is hardcoded to 1 anywhere it might be referenced) [COMPLETE] | 
|---|
| 7 |  | 
|---|
| 8 | 2009/09/10 | 
|---|
| 9 | - Security/hardening | 
|---|
| 10 | - "if a=1 then elsif a=2 then elsif a=3 then else die neatly" | 
|---|
| 11 | - work correctly with taint mode | 
|---|
| 12 | - use SQL execution parameters to reduce quoting screwups | 
|---|
| 13 | - throw garbage at it and see what sticks | 
|---|
| 14 | - throw deliberately malformed data and see what sticks | 
|---|
| 15 | - rDNS matching | 
|---|
| 16 | - tag'n'warn records where forward and reverse are both supposed to be published | 
|---|
| 17 | "here" - mainly prevents unneccessary record duplication | 
|---|
| 18 |  | 
|---|
| 19 | 2009/12/10 | 
|---|
| 20 | - MOTD | 
|---|
| 21 | - Encapsulate all SQL in DNSDB.pm | 
|---|
| 22 |  | 
|---|
| 23 | 2009/12/15 | 
|---|
| 24 | - Wrap non-critical bits like Net::Whois::Raw so that they don't just cause a failure, | 
|---|
| 25 | and the bits that need them are only available if they're installed | 
|---|
| 26 |  | 
|---|
| 27 | 2009/12/16 | 
|---|
| 28 | - Add record type editor - note, just to edit which types are visible | 
|---|
| 29 | - Subclass some of the specifics of record handling? | 
|---|
| 30 | - would let users create plugin code to support arbitrary types | 
|---|
| 31 | - Push DB name, host, username, password into config file [COMPLETE] | 
|---|
| 32 |  | 
|---|
| 33 | 2009/12/17 | 
|---|
| 34 | - "complete rewrite" target:  one table of objects, one set of functions;  hooks | 
|---|
| 35 | to manipulate "special" data for given types of objects?  (even merging | 
|---|
| 36 | domain/group/user objects would reduce a lot of code almost-duplication) | 
|---|
| 37 |  | 
|---|
| 38 | 2010/04/07 | 
|---|
| 39 | - Show domain's group in domain record display | 
|---|
| 40 |  | 
|---|
| 41 | 2010/06/24 | 
|---|
| 42 | - VegaDNS is apparently derived from NicTool (nictool.com), and, of course, has | 
|---|
| 43 | somewhat fewer features.  *sigh* [COMMENT] | 
|---|
| 44 |  | 
|---|
| 45 | 2011/02/17 | 
|---|
| 46 | - Multi-column sort in record list, possibly domain, group, and user lists too. | 
|---|
| 47 | This could probably integrate with the previous point;  there's a lot of | 
|---|
| 48 | copy-paste-tweak between the four types of abstract object. | 
|---|
| 49 |  | 
|---|
| 50 | 2011/07/14 | 
|---|
| 51 | - Warnings: | 
|---|
| 52 | - non-best-practice SRV record (not _service._class) | 
|---|
| 53 | - long TXT records (tinyDNS support for TCP DNS responses is limited and often not configured) | 
|---|
| 54 | - Auto-rDNS on adding A record | 
|---|
| 55 |  | 
|---|
| 56 | 2011/07/18 | 
|---|
| 57 | - "Move domain to group <x>" [PARTIAL - only for domains, separate "bulk operations" page] | 
|---|
| 58 |  | 
|---|
| 59 | 2011/07/20 | 
|---|
| 60 | - Replaceable web templates | 
|---|
| 61 | - Stolen^Wborrowed from Curtis Bruneau's API, sort of): | 
|---|
| 62 | - Multiple templates per group, including sane default template (integrate with default records;  add | 
|---|
| 63 | "template" column) | 
|---|
| 64 | - Deep search (eg record content) from high UI layer | 
|---|
| 65 | - Locations/views | 
|---|
| 66 |  | 
|---|
| 67 | 2011/08/31 | 
|---|
| 68 | - OOPishness:  Once things are converted to put all entities/objects in the same table | 
|---|
| 69 | (with a single series of IDs to uniquely identify any give entity), create subobjects | 
|---|
| 70 | for user, group, domain, record, and defrec | 
|---|
| 71 |  | 
|---|
| 72 | 2011/09/09 | 
|---|
| 73 | - Options to bypass the "do you really want to delete <x>" pages, and Just Do It(TM). | 
|---|
| 74 | Should increase logging verbosity so it can be more easily undone (er, sorta) | 
|---|
| 75 | - Steal Vega's active_sessions table? | 
|---|
| 76 |  | 
|---|
| 77 | 2011/09/21 | 
|---|
| 78 | - (Ab)use DNS RR types in the range 65280 to 65534 ("Reserved for Private Use") | 
|---|
| 79 | for eg A+PTR, or bulk-rDNS default PTR | 
|---|
| 80 |  | 
|---|
| 81 | 2011/10/07 | 
|---|
| 82 | - Watch for undefined parameters | 
|---|
| 83 | - Componentizing: | 
|---|
| 84 | - Add custid field to domains (and/or groups?) to more easily | 
|---|
| 85 | allow retrieving a restricted set of domains | 
|---|
| 86 | - For production use, turn on "no errors on template var doesn't exist" | 
|---|
| 87 | for HTML::Template | 
|---|
| 88 | - Config knob to allow loading complete custom templates (fall back to stock ones) | 
|---|
| 89 |  | 
|---|
| 90 | 2011/10/13 | 
|---|
| 91 | - Catch "delete group with stuff still in it" errors.  Or possibly offer a flag to | 
|---|
| 92 | really "YES DAMMIT I WANT IT ALL GONE" delete all children of a group with stuff in it. | 
|---|
| 93 |  | 
|---|
| 94 | 2011/10/20 | 
|---|
| 95 | - Add "back to <parent>" link in log for domain | 
|---|
| 96 | - Add subgroup count to group list | 
|---|
| 97 | - Add log link to users, domains, groups? listings | 
|---|
| 98 | - Validate A -> \d+\.\d+\.\d+\.\d+, AAAA -> [\da-f:]+ before | 
|---|
| 99 | feeding to NetAddr:IP;  don't want to enter a v6 address on | 
|---|
| 100 | an A record or vice versa [COMPLETE] | 
|---|
| 101 |  | 
|---|
| 102 | 2011/10/27 | 
|---|
| 103 | - Add support for converting a bare "@" as the hostname into the domain name a la BIND | 
|---|
| 104 | - do this on entry, or export? | 
|---|
| 105 |  | 
|---|
| 106 | 2011/11/03 | 
|---|
| 107 | - Log security violations in a separate log, accessible to a restricted group of users (ie, admin-only) | 
|---|
| 108 |  | 
|---|
| 109 | 2011/11/08 | 
|---|
| 110 | - Instead of logging failures alongside everything else, only log when a | 
|---|
| 111 | fail-counter for that action has passed a threshold.  Track the fail | 
|---|
| 112 | count in the session. | 
|---|
| 113 |  | 
|---|
| 114 | 2011/11/10 | 
|---|
| 115 | TODOs and ideas are now (mostly) in Trac (https://secure.deepnet.cx/trac/dnsadmin) | 
|---|