Status of 2.4 release
Russ Allbery
rra at stanford.edu
Fri Dec 27 08:17:29 UTC 2002
The only thing left on the 2.4 TODO list is documenting problems with the
IPv6 support. I've fixed all of the NNTP draft compliance issues that are
reasonably straightforward to fix; the remaining ones will require either
a lot of surgery to the command parsers or things like fixing all of the
overview generation code and can be put off.
Turning innshellvars.pl into a real Perl module has been put off; I've not
even started on it and I don't want to postpone 2.4 for it. Ditto with
converting all of nnrpd to not split patterns on commas itself and instead
use the more functional wildmat routines. That last one may be easier to
work with after the readers.conf parser is replaced.
Does anyone else have any large patches to commit?
I've taken care of my current backlog except one more SSL patch that I
should get to tomorrow (doing the SSL initialization immediately in daemon
mode so that it can be shared across all of the children). I may work on
some more changes (in particular, replacing strncpy calls with strlcpy
calls and documentation fixes), but will try to avoid anything large.
My inclination is to go into code slush and aim for kicking out INN 2.4
within a few weeks. It would be nice to fix Jeff's problem with
continuation lines and overview generation first.
Then, after the release and the branch, we can commit the new buffindexed
code (so that it will have plenty of time to be tested before the next
release) and I'll go to work on converting to Autoconf 2.57.
How does that sound to folks?
Also, one other question. There are several mechanical changes to lots of
INN that I think should be done at some point, but that tend to make it
harder to apply old patches. In that category are:
* Replace TRUE and FALSE with true and false everywhere.
* Replace NEW/DISPOSE/COPY/RENEW with xmalloc and friends everywhere.
* Replace EQ, EQn, caseEQ, and caseEQn with strcmp and friends everywhere.
* Remove all register variable qualifiers everywhere.
* Remove all the (void) casts on functions everywhere.
I've already done a lot of changes of this kind for INN 2.4. Our options
for these changes are:
* Don't ever do them globally. Instead, just fix code as we work on it.
This has the advantage of not causing patch application problems, and
the disadvantage of leaving around a lot of bad examples for new code.
My goal with these changes is to make all the INN code look more like
standard C, and therefore make it easier for people to read and follow
and possibly reuse in other projects. That may not be worth the
disruption.
* Make some or all of these changes now, before the INN 2.4 release,
since a new major release will be a new synchronization point for
patches from others, and because we're probably at a low point in terms
of outstanding patches right now.
* Make some or all of these changes after we branch the release, as the
beginning of INN 2.5. I think this is the worst option.
What do people think on this?
--
Russ Allbery (rra at stanford.edu) <http://www.eyrie.org/~eagle/>
Please send questions to the list rather than mailing me directly.
<http://www.eyrie.org/~eagle/faqs/questions.html> explains why.
More information about the inn-workers
mailing list