| [9] | 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 | 
|---|
| [165] | 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] | 
|---|
| [9] | 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 | 
|---|
| [12] | 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 | 
|---|
| [49] | 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 | 
|---|
| [50] | 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 | 
|---|
| [165] | 31 | - Push DB name, host, username, password into config file [COMPLETE] | 
|---|
| [52] | 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) | 
|---|
| [74] | 37 |  | 
|---|
| [77] | 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 | 
|---|
| [165] | 43 | somewhat fewer features.  *sigh* [COMMENT] | 
|---|
| [77] | 44 |  | 
|---|
| [74] | 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. | 
|---|
| [106] | 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 | 
|---|
| [165] | 57 | - "Move domain to group <x>" [PARTIAL - only for domains, separate "bulk operations" page] | 
|---|
| [109] | 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 | 
|---|
| [115] | 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 | 
|---|
| [122] | 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? | 
|---|
| [127] | 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 | 
|---|
| [134] | 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) | 
|---|
| [141] | 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. | 
|---|
| [149] | 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 | 
|---|
| [150] | 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 | 
|---|
| [165] | 100 | an A record or vice versa [COMPLETE] | 
|---|
| [156] | 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? | 
|---|
| [161] | 105 |  | 
|---|
|  | 106 | 2011/11/03 | 
|---|
|  | 107 | - Log security violations in a separate log, accessible to a restricted group of users (ie, admin-only) | 
|---|
| [164] | 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. | 
|---|
| [165] | 113 |  | 
|---|
|  | 114 | 2011/11/10 | 
|---|
|  | 115 | TODOs and ideas are now (mostly) in Trac (https://secure.deepnet.cx/trac/dnsadmin) | 
|---|