| 1 | ------------------------------------------------------------------------------- |
|---|
| 2 | $Id$ |
|---|
| 3 | ------------------------------------------------------------------------------- |
|---|
| 4 | |
|---|
| 5 | There are two sets of lists here. The first is the list for desired core |
|---|
| 6 | functionality. The second is the list for desired module functionality. In |
|---|
| 7 | some cases the two may have overlapping features. Additionally, milestones and |
|---|
| 8 | a release path are provided. |
|---|
| 9 | |
|---|
| 10 | ------------------------------------------------------------------------------- |
|---|
| 11 | Core system (source/*) |
|---|
| 12 | ------------------------------------------------------------------------------- |
|---|
| 13 | The core system is largely finished and will receive only minor functtionality |
|---|
| 14 | updates from this point on (hopefully). As such the list of work to be done |
|---|
| 15 | is short, and will hopefully remain short. |
|---|
| 16 | |
|---|
| 17 | For 1.2: |
|---|
| 18 | - Add an option to output PID to a file (duh?) |
|---|
| 19 | - Make the configuration reader modular (support for bindconf and XML at |
|---|
| 20 | least) |
|---|
| 21 | - Make the configuration reader do better error checking (allow spec files |
|---|
| 22 | with all possible options to be supplied which will allow for unknown value |
|---|
| 23 | checks and the like) |
|---|
| 24 | - Write /dev/poll support (anybody want to contribute a Solaris box for me to |
|---|
| 25 | test this on? :) |
|---|
| 26 | - Add support for compressed socket connections (using zlib I guess) |
|---|
| 27 | - Change the hook API to use varargs to make it easier to pass data around |
|---|
| 28 | For 2.0: |
|---|
| 29 | - All of the above and.. |
|---|
| 30 | - Add a real string handling system. This will consist of a few smaller |
|---|
| 31 | categories: |
|---|
| 32 | . Create a string type with accompanying functions that cannot be |
|---|
| 33 | overflowed using documented APIs and will grow as necessary/desired. |
|---|
| 34 | . Add support for at least UTF-8 handling and translation tables. |
|---|
| 35 | . Take the ircd module's "message format' code and generalize it a little |
|---|
| 36 | more |
|---|
| 37 | - Add threading support. This will wrap the local thread implementation |
|---|
| 38 | and provide some extra bonuses like easier condition variable use and |
|---|
| 39 | some extra statistics. |
|---|
| 40 | - win32 support |
|---|
| 41 | - re-assess multibyte character support. right now I wrap the libc |
|---|
| 42 | functions for strings to not bother with it (efficiency) but the world is |
|---|
| 43 | moving that way, so perhaps that's not a good idea. |
|---|
| 44 | - re-assess module dependency graphs. it might make more sense for |
|---|
| 45 | dependent modules to be compiled with links to the shared libs they need |
|---|
| 46 | rather than the whole EXPORT_SYMBOL tomfoolery i do now |
|---|
| 47 | |
|---|
| 48 | ------------------------------------------------------------------------------- |
|---|
| 49 | Proxy scanning module (modules/proxyscan/*) |
|---|
| 50 | ------------------------------------------------------------------------------- |
|---|
| 51 | The proxy scanner is largely finished, and needs only minor changes |
|---|
| 52 | (hopefully). |
|---|
| 53 | |
|---|
| 54 | - Fix the HTTP proxy scanner to handle broken HTTP servers which do not return |
|---|
| 55 | proper replies for requests, but still detect broken HTTP servers which are |
|---|
| 56 | open but return no reply at all. |
|---|
| 57 | - Fix the cacheing/etc system to handle huge influxes of queries, and create |
|---|
| 58 | backlogs if necessary. |
|---|
| 59 | - Add some kind of support to store found proxies in a database, and work with |
|---|
| 60 | the db to handle repeat offenders. |
|---|
| 61 | |
|---|
| 62 | ------------------------------------------------------------------------------- |
|---|
| 63 | Non-blocking DNS module (modules/dns/*) |
|---|
| 64 | ------------------------------------------------------------------------------- |
|---|
| 65 | The dns module is mostly finished. |
|---|
| 66 | |
|---|
| 67 | - Add referer/CNAME support (usually not necessary) |
|---|
| 68 | - Add TCP socket support to handle 'tc' packets |
|---|
| 69 | |
|---|