Index: ossp-pkg/lmtp2nntp/00TODO RCS File: /v/ossp/cvs/ossp-pkg/lmtp2nntp/00TODO,v rcsdiff -q -kk '-r1.53' '-r1.54' -u '/v/ossp/cvs/ossp-pkg/lmtp2nntp/00TODO,v' 2>/dev/null --- 00TODO 2002/02/07 12:54:04 1.53 +++ 00TODO 2002/02/13 13:46:58 1.54 @@ -95,3 +95,51 @@ 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 [priority]:[regex]:header:[value] + + # merge values from duplicate headers and separte them with "comma space" + -h :(Reply-To|To|Cc|Bcc):$0: [%{$0[#]}%{$0[#+1]:+, }] + + # keep only first value from duplicate headers + -h :(X-Firstonly):$0: %{$0[0]} + + # replace empty Subject with text "None" + -h :Subject: %{$Subject:-None} + + # create Message-ID if omitted or illegal (<> single @) + -h :Messageid: %{messagid:s/^([^@+@[^@]+)$/<$1/:s/^[^<].*$/%{tool.createmessageid}/} + + # append a header + -h ::X-Append: Tail + + # remove a header (empty value) + -h ::X-Delete: + + 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) + } + } + + + + + + + +