Wed Apr 15 00:14:20 1998 Russ Allbery <eagle@windlord.Stanford.EDU>
* News/Gateway.in: Version 0.42 released.
* pod/mailtonews.pod: Document compaction of continuation lines in
the From header.
* modules/mailtonews.al: Replace all newlines in the From header
with spaces, since INN doesn't support addresses on continuation
lines of the From header.
Tue Apr 14 02:01:59 1998 Russ Allbery <eagle@windlord.Stanford.EDU>
* pod/newsgroups.pod: Document the new fatal error message.
* modules/newsgroups.al: Throw a fatal error if no primary
newsgroup was specified.
* examples/raccpost: newsgroups requires an argument, so pull that
off the command line or default to rec.arts.comics.creative and
modify the handling of -f accordingly.
Mon Apr 13 10:28:07 1998 Russ Allbery <eagle@windlord.Stanford.EDU>
* modules/newsgroups.al: Fixed an obvious bug in extraction of
newsgroups from To and Cc addresses.
* pod/headers.pod: Incorrectly said the module couldn't fail.
* pod/hash.pod: Added a warning that the interface of this module
will be changing.
* modules/mungeids.al: If, after filtering the Newsgroups header
through our regexes, we have no groups left, then just exit
quietly and don't munge anything.
* pod/config.pod: Added a large security warning about the dangers
of untrusted access to configuration directives and the importance
of doing security checking before modules have access to them.
* pod/master.pod: Cleaned up more of the old refereneces to
config_file(), adding in references to config(), and tweaked some
of the documentation to reflect that apply() can now take
arguments.
* pod/mungeids.pod: Added documentation of the new configuration
directive and the new stripping behavior, cleaned up some of the
documentation of how this module behaves with crossposted
articles.
* modules/mungeids.al: Added a configuration directive giving
regexes specifying which newsgroups should be used in constructing
the munge. Also tweaked the regex used to match existing munges
(we now no longer support newsgroup names not containing a period,
but that's a small price to pay to avoid false positives on nearly
all news.answers articles) and modified to strip prefixes from the
message ID too (since followups will get that stripped anyway, we
should do it with the first post). Fixed a few compiler warnings.
Sun Apr 12 02:12:38 1998 Russ Allbery <eagle@windlord.Stanford.EDU>
* modules/mail.al: Don't assume that News::FormReply is already
loaded, since we no longer load it by default.
* modules/config.al: Added the necessary support for allowing
several modules to register interest in a given configuration
directive. We now pass the parsed directive along to every module
that was interested in it.
* News/Gateway.in: Don't load News::FormReply by default, set the
envelope sender to the maintainer by default, allow multiple
modules to register interest in the same configuration directive
by storing an anonymous array of interested modules for each
directive, just call the News::Article constructor directly in
read(), reformatted code a bit and reworked some comments.
* pod/config.pod: Tweaked the wording a bit to reflect the fact
that backslashes now work outside of double quotes, and added a
note that continuation lines inside double quotes will result in a
literal newline being part of the string.
* modules/config.al: Cleaned up config_parse() to allow embedded
newlines in strings, to support backslashes outside of double
quotes, and to remove duplicate code. Also cleaned up
config_file() a bit and caused it to pass the embedded newlines
from continued lines directly along to the parser (the
implications of which are that a continued line inside double
quotes results in an embedded newline in the string).
* pod/mungeids.pod: Document the stripping of things that look
like prefixes.
* modules/mungeids.al: Strip off anything that looks like a
mungeids prefix from the message IDs in the References header
before adding our prefix, to prevent message threads in multiple
mungeid'd groups from acquiring new prefixes in the References
message IDs every round of replies.
* examples/racrmod: Use mail() rather than mail_forward(), cleaned
up some formatting.
* examples/raccpost: Support a -f flag that means to allow
crossposts to any groups, use mail() rather than mail_forward().
* examples/raccmod: Use mail() rather than the now-deprecated
mail_forward().
* Makefile.PL: Version information is now stored in VERSION.pm.
* makepm.PL: Grab the version number from the second line of
VERSION.pm instead of the first line of VERSION (since we're
renaming VERSION to VERSION.pm and including package information
so that PAUSE will put this module in the right place).
* pod/headers.pod: Added documentation of the Invalid header
failure message.
* modules/headers.al: Added support for multiple directives
affecting the same header (they'll all be applied in order), added
a "reject" action that will return an error if the given header is
present in the incoming message, fixed ifempty (typo in the name
of the directive), special-cased a Subject of (none) due to the
way that mailtonews works to be equivalent to an empty subject.
* pod/mailtonews.pod: Added documentation of the "Empty body"
failure message and tweaked the documentation of In-Reply-To
lifting.
* modules/mailtonews.al: Added a check for messages with an empty
body, tweaked the regex for matching valid message IDs some more
(both where we check the existing Message-ID header and where we
look at the In-Reply-To header to see if we want to lift anything
up to the References header).
* pod/newsgroups.pod: Rewrote the documentation of what we do in
an attempt to make it clearer and to add some details about the
new complexity of how we handle supplied Newsgroups headers. This
isn't nearly as complete as the source code comments, but should
provide most of the relevant details.
* modules/newsgroups.al: *Heavily* reworked the actual message
rewriting rules and included a *lot* of comments about what we're
doing here, how, and why. We should now correctly handle quite a
few more cases, including addressing the whole issue of what to do
when we have an incoming Newsgroups header rather than simply
always using it. The code is much cleaner, and much more heavily
commented. We also rename the Newsgroups header and the
Message-ID header when we think we should to reduce the chance of
duplicate errors when posting. Did I mention comments?
Wed Mar 25 03:38:10 1998 Russ Allbery <eagle@windlord.Stanford.EDU>
* pod/hash.pod: New file.
* modules/hash.al: New file.
* pod/newstomail.pod: New file.
* modules/newstomail.al: New file.
* pod/mail.pod: Removed documentation of mail_forward(), added
documentation of mail() and expanded the documentation to include
the no address and multiple address cases. Added a note that
mail_forward() is deprecated.
* modules/mail.al: Added mail() with the same functionality as the
old mail_forward() except that null address lists actually work
now. Deprecated mail_forward().
Mon Feb 23 16:03:55 1998 Russ Allbery <eagle@windlord.Stanford.EDU>
* modules/mailtonews.al: Move the In-Reply-To into References even
if there is no existing References header.
Sun Feb 22 16:09:25 1998 Russ Allbery <eagle@windlord.Stanford.EDU>
* News/Gateway.in: Version 0.41 released.
* modules/mailtonews.al: The extraction of message IDs from
In-Reply-To was pretty severely broken. Match our regex against
the In-Reply-To header, not against $_, don't anchor it as many
mailers surround it with other text, and make sure that a
References header exists before we split it.
Fri Feb 20 00:04:35 1998 Russ Allbery <eagle@windlord.Stanford.EDU>
* modules/mailpath.al: Need to allow space after the Received:
part of the header or this will never match.
Thu Feb 19 00:36:12 1998 Russ Allbery <eagle@windlord.Stanford.EDU>
* modules/mungeids.al: Make the munge in the case of crossposting
independent of the order of the groups on the Newsgroups line.
* examples/listgate.m4: New file.
* examples/listgate.readme: New file.
* examples/listgate: Reworked to use the new post_*() methods from
News::Gateway and to use the new mungeids module rather than
rolling our own, some comment and default tweaks, changed @rnews
to an array rather than a scalar to allow safe exec, changed to
use config() rather than config_line().
Wed Feb 18 13:50:41 1998 Russ Allbery <eagle@windlord.Stanford.EDU>
* makepm.PL: Obtain the version number from VERSION and substitute
it into News/Gateway.pm.
* Makefile.PL: Obtain the version number from VERSION rather than
News/Gateway.in.
* pod/master.pod: Removed the documentation for post(), as this is
now in its own module, added a reference to it at the top of the
list of methods, and added the diagnostic for attempting to load a
Perl module and failing.
* pod/post.pod: New file.
* modules/post.al: New file.
* News/Gateway.in: Removed the post() method, as this is now in an
autoloaded module. Also removed the version number, so that it
can be added automatically during the build process. Starting
with this revision, the version number of the News::Gateway
package as a whole is not the same as the RCS revision of this
file.
* pod/mungeids.pod: New file.
* modules/mungeids.al: New file.
Fri Feb 13 22:12:09 1998 Russ Allbery <eagle@windlord.Stanford.EDU>
* pod/master.pod: News::Gateway->new, not News::Gateway::new.
D'oh.
Mon Jan 19 01:58:38 1998 Russ Allbery <eagle@windlord.Stanford.EDU>
* modules/newsgroups.al: Downcase an e-mail address before
checking it against a pattern associated with a group, since we
already downcased the pattern and since case in addresses is
nearly always insignificant.
* modules/mailpath.al: Updated to handle qmail Received headers
with ident responses (including the null response) and the headers
qmail generates when host lookup fails. Also added support for
"from hostname [1.2.3.4]", which is generated by a few places
despite the fact that it's invalid under RFC 822.
* pod/master.pod: Added documentation of the new apply() behavior.
* pod/config.pod: Added documentation of the new config() method.
* modules/config.al: Added a config() method that can be called
directly and which just passes an argument list along to the
callbacks, modified config_line() to call it, cleaned up some
comments.
* News/Gateway.in: Modified apply() so that it can take a list of
modules to apply, changed mesghooks so that it now contains a list
of modules rather than a list of methods to call, and removed $ID
from use vars as we no longer use it.
Sun Jan 18 13:57:24 1998 Christopher Davis <ckd@loiosh.kei.com>
* examples/listgate: Added the ability to post via IHAVE, added
message ID munging, added rnews injection capability, changed
various bits of documentation.
Sun Jan 18 04:08:47 1998 Russ Allbery <eagle@windlord.Stanford.EDU>
* doc/moderate.pod: New file.
Thu Jan 8 00:21:42 1998 Russ Allbery <eagle@windlord.Stanford.EDU>
* examples/listgate: Added a temporary failure exit on posting
problems, documented the reasoning behind that decision.
Wed Jan 7 19:53:41 1998 Russ Allbery <eagle@windlord.Stanford.EDU>
* examples/listgate: New file.
Tue Jan 6 18:56:52 1998 Russ Allbery <eagle@windlord.Stanford.EDU>
* modules/mailtonews.al: When pulling message IDs out of
In-Reply-To for References, don't require that the message ID be
the only thing in In-Reply-To; sometimes it's followed by a space
and other text.
Thu Jan 1 06:41:45 1998 Russ Allbery <eagle@windlord.Stanford.EDU>
* examples/racrmod: New file.
* News/Gateway.in: Revision 0.40 released.
* News/Gateway.in: [Revision 0.40] Took out all of the config file
parsing and reading code, as this now belongs in the config
module. (Yay, the core is even smaller!) Also renamed
read_message() to read() and parse_message() to apply(), which
should make much more sense down the road. This should hopefully
be the last backwardsly-incompatible major interface change.
* examples/raccpost: Modified for new News::Gateway calling
syntax.
* examples/raccmod: Modified for new News::Gateway calling syntax,
added nobinaries to the list of modules that are applied.
* modules/cleanbody.al: Added mapping of octal 0205 to --, another
one of Microsoft Word's annoyances, and added automatic stripping
of literal delete characters. (Gary's stories keep getting posted
containing them....)
Tue Dec 30 08:45:23 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* pod/config.pod: Added another error message from master.pod
that's config-specific.
* pod/master.pod: Removed the config file stuff, which is now spun
off into config.pod, and changed the references to those routines
to use the new names. Also renamed read_message() to read() and
parse_message() to apply() throughout (hopefully), and moved the
error messages that are only generated by the config code out into
that documentation.
* pod/config.pod: Added documentation of the fatal error message
from line parsing. Hopefully eventually we'll phase this out.
* pod/config.pod: New file.
* modules/config.al: New file.
Mon Dec 29 03:24:26 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* modules/headers.al: Added the prepend directive, which prepends
the given content to the first occurance of the given header.
This is mostly intended for use with Path headers, but may have
other applications (Subject comes to mind).
* pod/headers.pod: Added documentation of the new prepend header
rewrite directive, and added documentation of the possible fatal
configuration error (which previously wasn't documented).
* pod/previoushop.pod: New file.
* modules/previoushop.al: New file.
Fri Dec 26 00:09:09 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* News/Gateway.in: [Revision 0.39] Cleaned up some of the AUTOLOAD
handling, explicitly catching now the cases of failure to autoload
the mail_error() method and attempting to autoload a non-method so
that they don't attempt to call error() again. Also cleaned up
the comments for post(), which still referred to the excised
spooling code.
* pod/bodyheaders.pod: New file.
* modules/bodyheaders.al: New file.
Thu Dec 25 10:27:57 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* pod/crosspost.pod: New file.
* modules/crosspost.al: New file.
* examples/raccmod: Fixed the calling syntax for the constructor.
* examples/raccpost: Fixed the calling syntax for the constructor,
added the additional global variables into use vars.
* modules/nobinaries.al: Added in the check to ensure the body was
at least 40 lines when looking for encoded text, and changed the
message for base64 encoding detected by the body scan to use the
term base64 rather than the term MIME.
* pod/nobinaries.pod: New file.
* modules/nobinaries.al: New file.
* examples/raccpost: Broken out a bit and commented considerably,
the maintainer address and list submission address moved to the
top and X'd out just in case.
* examples/raccmod: Removed the unnecessary require line, since we
really don't care about a Perl version here.
* examples/raccmod: Added lots of documentation and lots more
comments, removed the addresses of a few things just in case,
fixed the bug where some crossposted articles wouldn't get resent
to the mailing list by pulling out the Newsgroups header and
actually looking at it rather than relying on ARGV, added
eagle-aclnh@windlord.stanford.edu to the list of alt.comics.lnh
addresses.
* News/Gateway.in: [Revision 0.38] Modified to be Gateway.in,
changed the default exit code to something compatible with
sendmail, removed the hooks in favor of building them in
makepm.PL, removed the local spooling code in post() since this is
the job of the calling program, cleaned up a few comments.
* Makefile.PL: Added the POD file to the list of files to install,
added News::Article to the module prerequisites list, fixed a bug
in how I was specifying which files generated man pages, added the
PL file to generate the .pm to the list of things to run and added
the POD file and the .pm to the list of things to delete on make
realclean.
Tue Dec 23 12:43:17 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* makepod.PL: Modified to use all-caps list files to find sub-PODs
to incorporate, since files beginning with . aren't included in
the distribution.
* makepm.PL: New file.
* modules/moosesign.al: Changed the interface line, since under
the new method we no longer require the initial 1 for message
rewrites.
* Makefile.PL: Added instructions for how to build the POD
documentation.
* makepod.PL: New file.
* pod/master.pod: New file.
* pod/mail.pod: New file.
Mon Dec 22 01:38:47 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* pod/whitelist.pod: New file.
* pod/newsgroups.pod: New file.
Sun Dec 21 23:25:20 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* pod/headers.pod: New file.
* pod/mailtonews.pod: New file.
Sat Dec 20 15:17:30 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* pod/moosesign.pod: New file.
Sun Dec 14 08:46:11 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* pod/mailpath.pod: New file.
* pod/keywords.pod: New file.
* pod/cleanbody.pod: New file.
* pod/anykeyword.pod: New file.
* modules/anykeyword.al: Allow for Re: at the beginning of the
subject as well.
Mon Nov 10 13:29:02 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* examples/raccmod: Added more comments for our envelope sender
hack, changed the keywords and whitelist files to point to their
new permanent locations.
Sun Nov 9 10:06:47 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* examples/raccpost: New file.
* examples/raccmod: Added forwarding of all successful posts to a
mailing list as well.
* News/Gateway.pm: [Revision 0.37] Added hooks for anykeyword and
cleanbody, added accessor functions so that one can get at the
underlying News::Article object inside the Gateway object.
* Makefile.PL: We now build the list of modules dynamically by
reading the module directory and don't need to play with either
special make rules or with external scripts. Much cleaner.
(Didn't need an external script after all.)
* Makefile.PL: First pass at using an external script to build the
list of modules.
* examples/raccmod: New file.
Fri Oct 24 18:02:44 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* modules/keywords.al: Added the ability to pass in an anonymous
sub that does the work of extracting keywords from the subject
line.
* modules/newsgroups.al: Added the ability to fail automatically
if we aren't the primary addressee of the mail, so that
crossposting can be handled correctly without resulting in
multiposting. Note that this module is complicated and still
needs considerably more commenting and documentation.
Mon Oct 20 01:29:50 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* modules/mailtonews.al: Pass through Approved headers and only
drop headers that the news server would croak on. This forces
robomod scripts to be careful about Approved headers, but it also
allows the headers module to be run before the mailtonews module.
Sun Oct 19 12:21:59 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* modules/mailtonews.al: INN rejects Relay-Version headers, so
drop them.
* modules/newsgroups.al: Fixed bugs that were preventing multiple
patterns from working and that were preventing patterns from
working with commented addresses.
Tue Sep 16 10:00:45 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* modules/anykeyword.al: New file.
* modules/newsgroups.al: Added error checking for invalid regexes
and a correct error report.
Mon Sep 15 10:37:22 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* Makefile.PL: Makefiles need literal tabs.
* Makefile.PL: Moved Gateway.pm into the subdirectory News/.
* Makefile.PL: Untabified, changed to take the version directly
out of Gateway.pm.
* modules/cleanbody.al: Cleaned up a few comments.
* modules/newsgroups.al: Fixed a minor but fatal typo.
* modules/newsgroups.al: Make sure we only initialize our data
structures once, call header() correctly to get an array rather
than a scalar.
* Gateway.pm: [Revision 0.36] Cleaned up to use an internal
error() method rather which may call mail_error(). Now takes a
flag to the constructor which specifies whether or not we are
running interactively (and therefore may not want to generate
rejection messages for internal errors). Also cleaned up the
interface for the current names of modules.
* modules/whitelist.al, modules/mail.al, modules/keywords.al,
modules/headers.al: Fixed interface, changed to use error() rather
than mail_error().
* modules/newsgroups.al: Completely rewritten from scratch to take
a much wider variety of ways of specifying groups, to clean up the
handling of them, and to speed things up considerably. Probably
needs to be cleaned up further and commented.
Sun Aug 31 05:04:15 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* modules/cleanbody.al: Added undoing of quoted-printable, checks
for invalid characters in the body, and stripping of Ctrl-Ms.
Sat Aug 30 23:29:34 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* modules/whitelist.al: Changed to whitelist from posters,
modified to use News::Article, the new rejection method, the new
error reporting syntax, and the new interface, cleaned up
comments, and generally cleaned up the code.
* modules/moosesign.al: New file.
* modules/mailtonews.al: Don't worry about the envelope, since
it's passed to the mail program in a safe fashion. Add a Sender
header, drop Received headers because the news server rejects
them, and attempt to extract a message ID from the In-Reply-To
header if present. Also added more comments, cleaned things up a
bit, and fixed the interface line.
* modules/mailpath.al: Fixed interface line, changed to use the
raw headers instead of the post headers (so that we do the right
thing for C News submissions), no longer delete the old Received
headers (that's mailtonews.al's job).
* modules/mailpath.al: Always return success from the munging.
* modules/mailpath.al: Fixed a few comments (forgot one of the
additional cases that we had to handle and actually do).
* modules/mailpath.al: New file.
* modules/mail.al: New file.
* modules/keywords.al: Modified to use News::Article, to use the
new mail_error() method to report fatal errors, and modified for
the new rejection scheme. Also generally cleaned up.
* modules/headers.al: Completely rewritten to use the new
News::Article header munging shortcuts that make our job much,
much easier. Added a new "add" directive that just adds a new
header (possibly duplicating an existing one). Also untabified
all of the source and fixed to not use lexical variables.
* modules/newsgroups.al: New file.
* modules/cleanbody.al: New file.
* Gateway.pm: [Revision 0.35] *Extensive* modifications. All of
the hard and tedious work is now being done for us by Andrew
Gierth's News::Article and associated modules, so we don't have to
do it any more. In particular, all of the posting code has been
ripped out, as well as all of the article reading and munging
code. The hook structure has been reworked and rethought a
little, and _mesg message mangling hooks are now installed for all
modules with defined interfaces. We use the mail_error() method
everywhere to report fatal errors. We no longer attempt to
declare all of our modules in the constructor; instead, the
constructor takes the address of the maintainer and the envelope
address for auto-replies instead, and we have to call the
modules() method to initialize modules. parse_line() has been
fixed up a little to make backslashing more general, and
read_config() now supports continuation lines and being passed
file handles rather than filenames. (So one can do read_config
(\*DATA), which is useful.) post() no longer implicitly runs the
article munging hooks; instead, a separate method that has to be
called directly (parse_message()) does that.
Tue Aug 19 03:55:26 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* modules/mailtonews.al: Disallow message IDs with a trailing
period.
Mon Aug 18 21:57:40 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* modules/mailtonews.al: Changed to do a variety of standard
article munging necessary for turning a mail message into a news
post, and untabified. We no longer take a configuration file
directive, just an argument when the module is loaded specifying
the default newsgroup for articles.
* modules/whitelist.al: Tweaked the way we get the address
slightly to allow for the cases where there was no comment.
* Gateway.pm: [Revision 0.34] Cleaned up the RCS version handling,
cleaned up the AUTOLOAD routine, documented the operation of the
constructor some more, untabified the entire source. This is a
checkpoint version prior to the complete rewrite to use Andrew's
News::Article and associated modules.
Fri May 23 10:25:19 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* Makefile.PL: New file.
* modules/whitelist.al: New file.
* modules/mailtonews.al: New file.
* modules/keywords.al: New file.
* modules/headers.al: New file.
* Gateway.pm: [Revision 0.33] Rewritten from scratch as a module
rather than a script, major core functionality factored out into
modules, rewritten for modern Perl and better programming habits,
and generally massively improved.
Sat Feb 15 09:26:38 1997 Russ Allbery <eagle@windlord.Stanford.EDU>
* gateway.in: [Revision 0.32] Completely rewritten using my
current Perl programming style and using modules better, fixed a
lot of the documentation, cleaned up and made various parts of the
code a *lot* shorter, uses a global configuration information hash
rather than a bunch of global variables. Note that this version
was part of a rewrite which was later abandoned, so it in and of
itself is probably not entirely functional. This is the last
stand-alone script version of gateway before the rewrite as a
module.
Sun Jun 2 14:50:33 1996 Russ Allbery <eagle@windlord.Stanford.EDU>
* gateway.in: [Revision 0.31] Added nntpserver configuration file
directive.
* gateway.in: [Revision 0.30] Added support for sending
autoreplies. So far, you can only list one autoreply per group
and wildcards aren't supported yet; all that's likely to
eventually change.
Fri May 10 20:55:31 1996 Russ Allbery <eagle@windlord.Stanford.EDU>
* gateway.in: [Revision 0.29] Added the ability to use wildcards
in a group directive. Crossposting is still done correctly, but
$d cannot be used since there is no way of mapping hyphens to
periods correctly.
Sun Apr 28 11:45:45 1996 Russ Allbery <eagle@windlord.Stanford.EDU>
* gateway.in: [Revision 0.28] When pulling the message ID out of
the In-Reply-To: header and appending it to References:, we need
to make sure there's a space between it and the previous contents
of References:.
Sat Apr 27 22:26:45 1996 Russ Allbery <eagle@windlord.Stanford.EDU>
* gateway.in: [Revision 0.27] Added support for the standard
"convert all .s to -s for the gateway address" convention for
posting gateways (dumb convention).
* gateway.in: [Revision 0.26] Added support for reading in valid
newsgroups from a file given in a group configuration directive
and adding all newsgroups matching a mask. Changed return of -v
to use the current program name and not put v before the version
number. Improved From: line parsing to allow for more weird
cases, and improved To: and Cc: parsing to correctly deal with
comments and local addresses. Should now return the correct error
code if the news server is throttled.
Mon Apr 22 05:18:49 1996 Russ Allbery <eagle@windlord.Stanford.EDU>
* gateway.in: [Revision 0.25] Added an empty keyword to the header
conf lines to allow specification in the case of an empty header.
We also now grab the message id from elm-style In-Reply-To lines
and add it to References to make threading work better.
Fri Apr 19 05:21:06 1996 Russ Allbery <eagle@windlord.Stanford.EDU>
* gateway.in: [Revision 0.24] Changed the posting method so that
it writes the post to a temporary file and then pipes that file
into inews so that we can capture the output of inews. Reads the
output of inews and returns TEMPFAIL for any error messages
related to inability to contact the server (chances are, we'll
need to modify this later to deal with throttled servers). Added
a -d flag to get the old posting behavior if wanted. Wrote a
generic &error routine using the error codes from the sendmail
source and changed all exit calls to use that routine. Rewrote
the fix_headers routine to make it clearer.
Thu Apr 18 11:24:26 1996 Russ Allbery <eagle@windlord.Stanford.EDU>
* gateway.in: [Revision 0.23] Support for header rewriting made
considerably more generic, special cases for header capitalization
added, Sender removed from header drops and X-UIDL added,
messageid and organization configuration lines removed since
they've been superseded by the new generic header support.
Thu Apr 4 20:42:09 1996 Russ Allbery <eagle@windlord.Stanford.EDU>
* gateway.in: [Revision 0.22] Better handling of configuration
file parsing errors added, better handling of fallback for cases
where -s isn't used.
* gateway.in: [Revision 0.21] path directive for adding
directories to the PATH changed to inewspath, new path directive
added to set the end of the Path: header on the posted article.
* gateway.in: [Revision 0.20] Added support for a messageid
directive, allowing renaming of Message-ID to X-Message-ID or just
dropping the incoming one and creating a new one.
* gateway.in: [Revision 0.19] Better configuration file parsing
(allow space before directives, give error messages for invalid
directives including line numbers), allow the organization line to
be missing in which case organization is passed, study for header
matching removed due to bug in Perl 5.002, $pattern processing
modified to allow quoting of metacharacters.
Wed Apr 3 21:51:38 1996 Russ Allbery <eagle@windlord.Stanford.EDU>
* gateway.in: [Revision 0.18] Added -f option to change
configuration file, added magic emacs marker to make sure we edit
gateway.in in Perl mode, rewrote some of the usage explanation.
* gateway.in: [Revision 0.17] Modified to be gateway.in, so that
configuration-time options can be handled with sed in the Makefile
(or eventually maybe a configure script).
* gateway: [Revision 0.16] sender configuration option and header
support removed (dumb idea anyway, since inews just does that
itself). Extensive comments added.
Tue Apr 2 23:48:45 1996 Russ Allbery <eagle@windlord.Stanford.EDU>
* gateway: [Revision 0.15] Added Control: to the list of ignored
headers. Posting gateways should not be used to post control
messages. Also added Newsgroups.
* gateway: [Revision 0.14] Added automatic qualification of an
unqualified sender line.
* gateway: [Revision 0.13] Moved organization and pattern into
configuration file, support for different patterns added, made
sure more matches against configuration file directives were
case-insensitive.
* gateway: [Revision 0.12] Increased configuration file support,
adding host, sender, and path entries. Still need to move pattern
and organization off to the config file. Also made sure matches
were being made on a case-insensitive basis.
* gateway: [Revision 0.11] Added configuration file to list valid
newsgroups, fixed bug in recognizing crossposts and exiting
correctly.
Mon Apr 1 23:15:24 1996 Russ Allbery <eagle@windlord.Stanford.EDU>
* gateway: [Revision 0.10] Added support for standard sendmail
error exit codes, removed -c option, changed -s to mean "spam" and
analyze the from line by default, changed the way repeated headers
are handled, reformatted site options section.
Wed Feb 28 13:33:20 1996 Russ Allbery <eagle@windlord.Stanford.EDU>
* gateway: [Revision 0.9] Fixed major, obvious bug in recognition
of address@host (name) type From: lines.
Mon Feb 26 07:38:18 1996 Russ Allbery <eagle@windlord.Stanford.EDU>
* gateway: [Revision 0.8] Added explicit PATH addition to handle
inews in /usr/pubsw/bin.
Fri Feb 2 22:07:53 1996 Russ Allbery <eagle@windlord.Stanford.EDU>
* gateway: [Revision 0.7] Handling of additional Cc's fixed.
* gateway: [Revision 0.6] Continuation line support fixed.
* gateway: [Revision 0.5] Support for Bcc: posting added.
* gateway: [Revision 0.4] $sender moved up as one of the site
customizable variables (sendmail runs programs as bin?? WTF??).
* gateway: [Revision 0.3] Pattern for mailing addresses built into
the program, bug with detecting unqualified From: addresses fixed.
* gateway: [Revision 0.2] Bug fixes with slave status, Sender line
added.
* gateway: Initial revision.