neoxed
07-09-2006, 02:47 AM
In a previous post (http://www.inicom.net/forum/showpost.php?p=64701&postcount=2) of mine I gave you a brief schedule of my plans. I'm sorry to say that they no longer apply. Now that I've seen the “next generation core” darkone was working on before he disappeared, I've decided to change my approach.
The v0.5.x code base, to be blunt, is a disorganized and poorly-documented mess. There are no design documents, no function descriptions, no useful comments, and no source history which makes the learning curve quite steep. Granted, that code base is several years old and there was only one person working on it (darkone).
The “next generation core”, while vastly incomplete, is a great improvement. This code is not documented either, but is organized better and written cleaner. I’m working on documenting the code, which at the same time forces me to learn and understand it. This new core features IPv6 and Unicode support, amongst many other things. Since this is a complete rewrite, it will take a while to build up the feature set of the Beta-5.8 series.
Implemented:
Configuration reader
Database API (dynamic data storage)
Directory cache
File and socket I/O API
ID management (resolving user/group IDs and names)
Memory allocater
SSPI encryption/decryption (used for SSL)
Timer functions
Virtual file system
Worker threads
To be implemented (not necessarily in this order):
Module interface
Logging interface
FTP service handler
FTP base/site commands
Directory listing
Users and groups
NT service support
Event handler (script events like pre/post events etc.)
Custom site commands
Scheduler
Script language modules (PHP, Tcl)
IPC (shared memory and messaging)
Will not be re-implemented:
Telnet service (an insecure protocol that should have died years ago :p)
Windows Shell based shared memory (only file mapping will be)
The HTTP service may return, but not anytime soon. This is an FTP server after all. ;)
PS: I'm no longer in pain from the surgery, but I'm still not able to walk for another month or two. So I'm pretty much confined to the indoors (i.e. coding all day) :).
The v0.5.x code base, to be blunt, is a disorganized and poorly-documented mess. There are no design documents, no function descriptions, no useful comments, and no source history which makes the learning curve quite steep. Granted, that code base is several years old and there was only one person working on it (darkone).
The “next generation core”, while vastly incomplete, is a great improvement. This code is not documented either, but is organized better and written cleaner. I’m working on documenting the code, which at the same time forces me to learn and understand it. This new core features IPv6 and Unicode support, amongst many other things. Since this is a complete rewrite, it will take a while to build up the feature set of the Beta-5.8 series.
Implemented:
Configuration reader
Database API (dynamic data storage)
Directory cache
File and socket I/O API
ID management (resolving user/group IDs and names)
Memory allocater
SSPI encryption/decryption (used for SSL)
Timer functions
Virtual file system
Worker threads
To be implemented (not necessarily in this order):
Module interface
Logging interface
FTP service handler
FTP base/site commands
Directory listing
Users and groups
NT service support
Event handler (script events like pre/post events etc.)
Custom site commands
Scheduler
Script language modules (PHP, Tcl)
IPC (shared memory and messaging)
Will not be re-implemented:
Telnet service (an insecure protocol that should have died years ago :p)
Windows Shell based shared memory (only file mapping will be)
The HTTP service may return, but not anytime soon. This is an FTP server after all. ;)
PS: I'm no longer in pain from the surgery, but I'm still not able to walk for another month or two. So I'm pretty much confined to the indoors (i.e. coding all day) :).