I apologize for being away for such a long perioid without notifying anyone. I'm not sure, if I should explain why I was gone, but for your pleasure I will write a brief explanation.
As some of you know I was enrolled in university from January 2003 to January 2004 (I still am, but duh). During that time (2003 - 2004) I was paid study grants total of ~4700euros. But because of reasons that I'm not willing to disclose on public, I didn't advance in my studies. Instead, I was working on ioFTPD fulltime. Long story short: ~few months ago, I was informed that I have to pay that ~4700e + intrest back...
...
Next version of daemon
was quite near completion before I disappeared without a trace. However during that time, I came up with some ideas that simply have/had to be implemented. (not yet another core rewrite though)
I'm not sure, if I'm supposed to reveal much of information what I had in mind (& have been doing). But since these changes will effect compatability with existing scripts & I've left you misinformed for so long time, I'm going to leak them:
- Optimizations (right)
+ new timers (less overhead when inserting/deleting)
+ smarter (faster, more efficient) configuration value store (ripped idea from database API)
+ faster memory allocation (per thread memory caches)
+ new string tokenizer (it's more important than it sounds
)
+ list API with threadsafe list iterators (used for storing client list etc. - less overhead than scanning a vector)
- Database API changes
+ row level locks (as opposed to 'item' (user/group) level locking)
+ column names
- 'Client environment'
+ Custom environment with editable values (allows changing host, path, user, ident, ip etc. through script/module.. you'll love this; oh. say bye bye to internal IDNT support
You never saw this one coming, did you?)
- Something will happend to cookie system. (programming language? .. not a high priority item, but current cookie system isn't well suited for the new environment, and it's likely that it's not worth the effort to make it work with it)
- Certificate based authentication (not a high priority item either, but it's still something that will be implemented eventually to replace internal ident + ip based authentication)
Don't ask, when it will be done. Most of the code left is trivial, but there's still a lot to do.