The GNKSA Toolkit (under development)
Presently, a toolkit called GNKSAlib is under construction. GNKSAlib is a library of routines that can (such is the intention) easily be incorporated in almost any (existing) news software. The toolkit is written in ANSI C, and uses nothing platform-specific. It uses either standard POSIX or PCRE regular expressions for basic Usenet message syntax validation, and performs some additional sanity checks in the area of header dependencies. It also touches upon some other areas related to the concept of net keeping, such as excessive crossposting, bad wrapping, etc. etc.
For those interested in GNKSAlib's architecture: at present, the documentation is not quite finished yet. However, the `call graph', which is quite insightful, is available in the platform-independent PDF (Adobe Acrobat), PostScript, and GIF formats.
GNKSAlib is currently at version 0.73d, dated January 13, 2002. Hopefully there will be some opportunity to prepare a "one-dot-oh!" version to appear shortly.
If you plan to use GNKSAlib, be aware that what you're getting at this point is a not-quite-finished-yet product. At present, all included functionality has been tested exhaustively, the APIs seem to have stabized, and the functionality is quite complete. The documentation is the main area of attention at this point. A sample program, gnksafy, is included in the distribution for the purpose of demonstrating GNKSAlib: it can be used as a replacement for the inews posting program, with the bonus of basic message format validation as a claim to fame. Another example of GNKSAlib usage is uqwk, an off-line mail and news helper.
A while ago, I wrote a little (perl) snippet to restrict References: headers correctly, when I had to use a buggy inews that bluntly cut off lines at a length of 512 bytes. It's fairly generic, not too hard to read, and shows quite handsomely how to restrict the References: header the proper way. It's called restrict-refs.
Of related interest, I've encountered (or received) some stuff that might be of interest, or simply useful.
- Text wrapping sample code (gzipped tar file) by John Moreno, two C source code files demonstrating decent quoting of possibly very long lines, as well as re-wrapping long lines respecting existing quote prefixing. Modified Aug 22, 1999
- Devil (shell archive), by Tim Pierce, provides routines for rigorous syntax checking on RFC sender addresses. Devil's syntax is basically the one defined in RFC1036. There's also a local copy of Devil (gzipped shell archive), in case that's more convenient.
- Newssyntax (gzipped tar file), by Tim Pierce, is an inews client that tries to conform to Henry Spencer's son-of-RFC1036. There's also a local copy of Newssyntax (gzipped tar file).
- Find-gnksa-articles.pl, by John Moreno, is a perl script that uses DejaNews to look up all articles posted in the preceding week that mention the GNKSA. Requires Internet Config technology, which exists (AFAIK) on Mac OS only.
Brought to you by <firstname.lastname@example.org>.
Last modification: Thu Feb 15 2001 by JS.