--- 00TODO 2002/03/05 14:49:41 1.57
+++ 00TODO 2002/04/18 13:28:30 1.58
@@ -1,19 +1,11 @@
before release, check for
- FIXME
- - foo
- strdup
- check printf/log for consistent look'n'feel and uniqness
- check printf/log for consistent usage of strerr()/XXX_error()
- --------------------------------------------------------------------------------
- o split already too large lmtp2nntp_main.c into smaller chunks (3-4 files)
- o move already too complex and intermixed option parsing and processing into
- two parts (1: parsing, 2: processing)
- o use dotconf library to provide a configuration file
- o use var library to provide variable expansion everywhere
-
- --------------------------------------------------------------------------------
+ should we resolv on startup only or for every access or using dns ttl
add --define foo:bar option allowing the user to specify arbitrary variables
which can then be used as ${option.define}[x] when you know x expanding to
@@ -25,10 +17,6 @@
use sa_buffer (where sa_timeout is called)
- option -U currently has to be specified before option -b in order to set the
- owner/modes of Unix Domains sockets correctly. To fix this, the wholly
- option handling has to be revamped.
-
on waiting for childs to finish: maximum number of seconds to wait at all
and if childs still are running, kill them. This means we have to remember
pid_t's.
@@ -37,10 +25,6 @@
Proper cleanup when exiting through signals.
- move code out of getopt()-loop
-
- split already too large lmtp2nntp.c source into smaller pieces (~ 10-30KB each only)
-
make msg.c a library with functions to add/ remove headers.
add artifical delay for error respones to defeat DoS attacks.
@@ -52,16 +36,8 @@
inn permissions require "read" for a STAT, so a "post w/o stat" delivery
mode should be implemented.
- handle duplicate headers, i.e. Reply-To:
-
**** DEVELOPMENT INFORMATION ****
- Proposal for future URL-style logging option syntax
- -L streamlog
- -l syslog:[mask]//[localhost[:port]][/tag=value ...] with /tag=value i.e. facility=local0
- -l smtp:[mask]//[localhost[:port]][/tag=value ...] with /tag=value i.e. to=foo@example.com
- -l file:[mask]//path/file
-
Debugging:
$ ./.configure [wegen --with-dmalloc!]
$ dmalloc -l dmalloc.log
@@ -84,14 +60,7 @@
foreach $a (split(/\n/, $_)) { $n=$a;
$n=~s/^(?:([^@<>()]+)@[^<>()]+|.*<([^@]+)@[^>]+?>.*|.*?([^@ <>()]+)@[^ <>()]+.*)$/$1$2$3/;
print "$a->$n\n" };'
- 1.) OSSP var needs autoconf environment
- 2.) OSSP var needs RPM-style [] multivalue expansion
- 3.) include OSSP var
- 4.) splitting headers needs to extend known headers into multiple instances
- 5.) joining headers needs to merge known headers into single instances, delete headers w/o value
- 6.) add -f configfile option in a mini-library #comments, command[\svalue]
- Result is:
- duplicate Reply-To: headers are eleminated by 5.)
+
empty Subject: headers can be handled by -h Subject:${Subject:-empty}
missing Message-Id: headers can be handeld by -h Message-Id:${Message-Id:-$_CreateMessageId}
illegal Message-Id: two or more @ use -h ${Message-Id:s/^.*@.*@.*$/$_CreateMesssageId/}
@@ -99,33 +68,3 @@
crossposting problem -h [Newsgroups:see perl example above and use feature 2.)\n]
potential to merge post/header modes -h [Newsgroups:${_EnvelopeRCPT}\n]
- **** DETAILS ****
-
- create an array with columns for "header" and every value, index is "header";
-
- -h [pri]:[regex]:header:[val]
-
- foreach rule {
- if (rule has regex) {
- foreach header {
- if (regex matches) {
- createheader
- substitutevalue
- writeheader(overwrite_if_existing)
- }
- }
- }
- else { /* rule has no regex */
- createheader
- substitutevalue
- writeheader(overwrite_if_existing)
- }
- }
-
-
-
-
-
-
-
-
|