2002-12-03 Object System
Welcome to the wonderful world of code hacks! Yes, we have a new ride
for you today! Its the object based system. Actually, its not new
and its not much of a ride, however, it is a hack. The object based
system is being implemented at the moment (which explains, or hopefully
does) the large delay in updates. Its a simple solution to a complicated
problem. Though the implementation will be complicated, the interface
should be very simple. See src/object.txt for a discussion of the solution.
The CVS build, is, as always, broken, due to the code changes. However,
hopefully, the reentrant problem should be the last one stopping Milestone
3, aka Alpha release (as opposed to prealpha). (Everyone may now cheer).
2002-12-03 ircfs-pre-alpha-M3-pre-2 (aka almost there release)
Ok, so after a Xmas holiday, and all sorts of other delays, I've resumed
work once again on the project. Pre-release 2 is out. All showstopper
bugs that I know of should be fixed. Its usable, uploads and downloads.
No resume yet though. There is still lots of
debugging output, though that can be configured through the ircfs.conf
file now. I'll do testing on this release for awhile, maybe even expose
it to The Real World (insert loud scary music here). If you are
using this fserv in the real world, you must be nuts. Just like me :)
So that brings an interesting, and important question. How much effort
has been put in to ensure the code has as few security bugs as possible?
Well, the major source of bugs in new code is buffer overflows, and I've
been as careful as I can with that. Most string manipulation is done with
dynamic buffers, and the stack based stuff is carefully controlled with
snprintf. There could be a number of fence-post errors, but
I'm not sure. An audit of the code, and runtime testing will be the best way
to tell, but I haven't done much of either of those (Shock horror!).
In summary, don't leave this code unattended, and if you are using this
code on a public network, you better be a coder and understand the code so
you can fix problems. (And then send me patches!).
2002-12-03 ircfs-pre-alpha-M3-pre-1 (aka the longest version string release)
Milestone 3 has been a long time comming, unfortunatly its difficult to
determine when we have reached this exact milestone. The code is usable at
the moment, though it is unstable, and lacks timeouts. So this is still
pre-alpha code. Once the timeouts are in, and the major bugs (like SEGV on
QUIT, etc) are fixed, then I will release ircfs-alpha-M3.
Don't be discouraged however, one of the minor-but-most-annoying bugs
has been fixed; the console readline bug. This bug took awhile to figure out
since <RANT>GNU readline is the most poorly documented project I've seen (except
for IRCfs). Considering the ammount of usuage it has, its lacking in
programmers documentation for what they label as the "alternative" usage.
(the only usable usage if you are a single-thread select program).</RANT>
Are you interested in seeing this project at a usable level? If so, let
me know, email me zaf at users dot sourceforge dot net and let me know what
features you are most interested in. That way I can focus my efforts on
areas which are important to most users.
As for a status update, well:
FServ code is almost complete, just need to interface the channel module
with it so it can answer requests, etc.
2002-11-04 It's got the same release schedule as ID software.
It'll be done when its done. Ok, so I still haven't completed M3 yet,
and have missed the revised deadline again. It'll be done though, it is still
being worked on. CVS commits are occuring, and the code is moving along
2002-10-21 M3 coming closer.
Have made considerable progress towards Milestone 3, and fixed many bugs
along the way. Only things left are finish the get code in the session module,
do the fserv module, and support uploads.
Milestone 3 will be the first alpha release, indicating that
the product is usable for end users, however the code is still unstable.
I'm not sure how many bugs are there.
The plan is, as we progress to Milestone 4 and beyond, the codebase set
at Milestone 3 will get more and more testing, and become stabler.
Due to stuff in
The Big Blue Room we are running late on the latest milestone. I've pushed the deadline back to the 26th of October, we'll see if we can meet this one. The only reason why we
wouldn't would be more real life stuff.
2002-10-03 Coming along.
The code base for M3 is coming along nicely. The fserv has been split
into 2 modules (fserv and session), which I should have done along time
ago. At the moment focusing on getting session working, which will provide
very basic fserv abilities.
The fserv module is responsible for starting the session module, and
handling uploads and accounting for them. The session module is responsible
for handling downloads, and accouting for them. (That of course assumes the
accounts module is active).
For each fserv design, (eg basic, ratio, etc), there are a fserv and
2002-09-30 I'm back.
After a weeks halt due to an emergancy trip to Wellington (without a laptop!
Ugh!), I'm back, and will be on track again, although slightly off schedule.
Never fear, IRCfs will be here.
2002-09-20 IRCfs pre-alpha-m2 released.
In an all night coding effort, the last bit of tidying up required
in the configuration system was done, and Milestone 2 was reached.
In another note, proof that milestones aren't as easy to work out
as we would like, the configuration module has already had some more
code put into after the milestone 2 release, for supporting string lists.
2002-09-19 Almost at Milestone 2. Config subsystem rethought a
bit. Fixed many bugs with base code. Working on other components, especially
the logging system (debug module). Expect to reach Milestone 2 within 1
2002-09-12 Well on the way to Milestone 2. Config subsystem is at
a usable level. Just need to tidy up the code, and finish some of the TODO
stuff. Finished ctcp module.
2002-09-03 Milestone M1, we're here. Yup, now focusing on M2, the
configuration system, however I'm sure other modules will be worked on
during the configuration module creation.
2002-08-28 Ok, so I've been secretly working on a new version on
ircfs. What happened to the old one you ask? I got too busy with
The Big Blue Room
(eg Real Life). Well, either way, I've rewritten ircfs in C, and I'm
much more comfortable working with it now. Funny enough, its more object
oriented now, written in C, than it was in C++.
Events, Callbacks, etc all plauge the code now :)