2004-12-16 Thu Jari Aalto * Makefile: 1.2 CODEDIR changed to DATADIR. 2004-12-15 Wed Jari Aalto * pm-jaube-prg-spamassassin.rc: New module. * pm-jaube-prg-bogofilter.rc: New module. * pm-jaube-prg-annoyance-filter.rc: 1.3 (JA_UBE_ANNOYANCE_SPAM_DB_OPT): Fast dictonary option --fread is no longer the default. * pm-javar.rc (RC_UBE_BOGOFILTER): New variable. * pm-jaube-prg-runall.rc: 1.14 (spamasassin): Rmeoved duplicate `JA_UBE_SPAMASSASSIN_PRG' variable test. Added 100 character test for SA. (bogofilter): Code removed and moved to separate file. (spamassassin): Code removed and moved to separate file. * pm-jaube-prg-bmf.rc (Rearrange headers): 1.20 Typo in 'dummy' message: X-Spambmf => X-Spam-Bmf. 2004-11-04 Thu Jari Aalto * pm-jadaemon.rc: 2.9 (JA_DAEMON_SAVE). New user variable. Save old subject. Suggested by 'Balu'. (JA_DAEMON_REGEXP): Added missing newline. Fixed SF-pm-lib bug 1046370. 2004-10-27 Jari Aalto * pm-jaube-keywords.rc (subjectKeywordsOnly): Added missing backslash after 'keywords'. (keywords): Added missing backslash 2004-10-24 Sun Jari Aalto * pm-jasubject.rc: (top level) 2.6 Removed 'id' variable. Removed 'NL' variables. Moved 'public' portion upward. Removed extra empty lines. (awk): Improved subject detection so that it can now take into account long backets like in '[this is long bracket]'. Everything up till 'bracket]' word is deleted. Bug reported by Markus Hubig (LINEBUF): Value is now saved and restored. Need bigger value. 2004-10-21 Jari Aalto * pm-jaube-keywords.rc (keywords): More mutable Cialis and Viagra traps added. 'size matters' also improved. (like s|ze). 2004-10-19 Jari Aalto * pm-jaube-keywords.rc: Added missing (#) to the 1st line. (Marketing-SelectedBigLetterWords): Removed some words that are likely to occur in email. (JA_UBE_CAPS_OK): Variable is set to empty string. This is now disabled by default, because there are too many valid messages with acronyms. 2004-10-18 Jari Aalto - In pm-jaube-* files ERROR variables are now 'killed', and not just set to empty strings. * pm-jaube-keywords.rc (jaubeKwdLinebufOld): New. Save value of LINEBUG, increase it and restore it at the end. (ERROR_STATUS): No longer contains word 'Good'. Only word 'Bad' if ERROR is set. This avoids calling formail. Only spam messages are tagged. (keywords): Regexp '(sav(ing|e)|buy|see|web)' was too lose (second word had '?'), and matched legal dovuments. Made stricter. (JA_UBE_KEYWORD_HEADER): simplified formail recipe. 2004-10-17 Jari Aalto * pm-jaube-keywords.rc (end of file): Display ERROR and ERROR_STATUS on exit by assigning value to 'dummy'. (JA_UBE_KEYWORD_HEADER): Improved formail call. The header included 'Good ' with two spaces at the end. Removed. * pm-jaube.rc (doc::Return values) Added list of ERROR codes. (regexpBody): Put virus regexp variable definitions inside recipe block, so that no unnecessary messages are recorded to the log file. 2004-10-16 Jari Aalto * pm-jaube.rc (HeaderCharacters-Illegal): Missing '$' from '${ERROR+:}'. Added. (HeaderMimeCharset-Illegal): Moved below the other header charset tests. (BodyMimeCharset-Illegal): Moved below the other header charset tests. 2004-10-15 Jari Aalto * Makefile (exec_prefix): Change from /usr/share to /usr/local/share, because 3rd party packages that are not included with the OS, should install under /usr/local by default. (INSTALL_CODE_DIR): Renamed. Was PMDIR (include common.mk): Moved definitions to separate file. 2004-10-14 Jari Aalto * pm-jaube-keywords.rc (subjectKeywordsOnly): Added few more keywords, like 'see.*this.*(web|site|page)' etc. (HeaderMimeCharset-Illegal): All charcter set tests are now run unconditionally, no matter if previous tests already set ERROR e.g. to BodyAttachment-FileIllegalAdditional. The charset error is simply appended to the previous error. * pm-jaube.rc (regexpHeader): Added Virus message detection. New rules: VirusHeader, VirusBody 2004-10-07 Jari Aalto * pm-jaube.rc (Attachments): Moved rule to the top. They are more important than the AddrInvalid-To * pm-jalist.rc (trigger): added words 'apps', like in mailing list cygwin-apps. (cc): Added cc_* variables to check message sent to mailing list with CC header. 2004-10-06 Jari Aalto * pm-jaube-prg-runall.rc (bsfilter): New. Now supported. * pm-javar.rc (RC_UBE_BSFILTER): New. 2004-10-06 Jari Aalto * pm-jalist.rc (JA_LIST_FROM_TO_IGNORE): New user variable. (Sender is identical to To): Ignore 'root' generated system messages according to $JA_LIST_FROM_TO_IGNORE (id): Variable removed. (3 word check): Added test for JA_FROM_DAEMON and JA_FROM_MAILER. * pm-jaube.rc (JA_UBE_ATTACHMENT_ILLEGAL_REGEXP): Added .inf .bas .bin .dll .swf .msi .msc .mst .pcd .reg .vbe .wsc .wsf .wsh .sct .chm .jar 2004-10-04 Jari Aalto * pm-jaube-keywords.rc (keywords): Adjusted 'dollar' regexp. In addition to VI0XX $12.33 it now also matches two digits+ whole part: VI0XX $12 2004-10-02 Jari Aalto * pm-jaube-prg-runall.rc (JA_UBE_BOGOFILTER_HEADER_NEW): Incorrect variable initialization. Was *_ORIGINAL when should have been *_NEW. fixed. Now header is X-Spam-Bogofilter-Status. 2004-09-28 Jari Aalto * pm-jaube-prg-annoyance-filter.rc: New module. * pm-jaube-keywords.rc (keywords): Added general regexp to match word like V:I:A:G:R:A!! * pm-jaube-prg-runall.rc: Added support for spamoracle and annoyance filter. * pm-jaube-keywords.rc (keywords): Added 'bondage', 'sadomasokism' * pm-javar.rc (RC_UBE_SPAMORACLE): New variable. (RC_UBE_ANNOYANCE): New variable. (top level): Added /bin/ prefix to most ised programs, like ls, tr, rm, mv, cp, sed, cat. This will speed up calling programs. Added * pm-jaube-prg-spamoracle.rc: New module. * pm-jaube-prg-bmf.rc (JA_UBE_BMF_HEADER_PREFIX): Changed from 'X-Spam-Bmf' to 'X-Spam-Bmf-'. 2004-09-26 Jari Aalto * pm-jaube-prg-spamprobe.rc: Documentation incorrectly referred tp X-Spamprobe. Corrected to X-Spam-Spamprobe-Status. * pm-jaube-prg-spamprobe.rc (run filter): Added lockfile. * pm-jaube-prg-ifile.rc (run filter): Added lockfile. * pm-jaube-prg-bmf.rc (run filter): Added lockfile. * pm-jaube-prg-runall.rc (bogofilter): Added lockfile during shell call. 2004-09-25 Jari Aalto * pm-jaube-prg-runall.rc (doc:Important notes): New topic. Explain why X-Bogocity header is renamed to X-Spam-Bogofilter-Status. (JA_UBE_BOGOFILTER_HEADER_ORIGINAL): New user variable. (bogofilter): Use --spam_header_name if $JA_UBE_BOGOFILTER_HEADER_NEW is set. * pm-jaube-prg-spamprobe.rc (JA_UBE_SPAMPROBE_HEADER): Changed header from 'X-Spamprobe' to 'X-Spam-Spamprobe-Status' to be consistent with e.g. X-Spam-Status used by spamassassin. * pm-jaube-prg-bmf.rc (JA_UBE_BMF_HEADER_PREFIX): Changed header from 'X-Spambmf' to 'X-Spam-Bmf-Status' to be consistent with e.g. X-Spam-Status used by spamassassin. * pm-jaube-prg-ifile.rc: (JA_UBE_IFILE_HEADER): Changed header from 'X-Spamifile' to 'X-Spam-Ifile-Status' to be consistent with e.g. X-Spam-Status used by spamassassin. * pm-jaube-keywords.rc (keywords): Removed 'pleasure'. 2004-09-24 Jari Aalto * pm-jaube-keywords.rc (subjectKeywordsOnly): Removed words learn, we. Too generic. (keywords): Removed 'charm'. Too generic. 2004-09-24 Jari Aalto * pm-jaube.rc: (docs): Corrected sentences. Used example.com for all email addresses. (Required settings): pm-jaube1.rc is not used. Removed. (Html): Moved this recipe to the end. The other recipes are more reliable. * pm-jaube-prg-runall.rc (spamassassin): Added lockfile * pm-jaube-keywords.rc (keywords): Added more matches and adjusted some to use more restrictive regexps. 2004-09-23 Jari Aalto * pm-jasubject.rc: 2.5 (Code Note): Better english sentences. (Awk usage note): Suggest gawk, not nawk. * pm-jasrv.rc: 2.6 (top line): Description changed. * pm-japing.rc: 2.6 (Usage example): indented 4 spaces forward for better HTML output. * pm-jamime-save.rc: 2.8 (doc) Suggest gawk, not nawk. * pm-jamime-kill.rc: (doc) 2.8 Removed reference to HP 9, 10. Added 'Note:' to the beginning stating, that this module cannot do miracles. * pm-jalist.rc: 2.9 Typo in docs: know => known. * pm-jafwd.rc: 2.6 (top line): Description modified. * pm-jaempty.rc: 2.7 (top line): Description modified. * pm-jaube-prg-runall.rc (top level): ERROr variable is now cleared after subroutine calls if the message was not spam. (bogofilter): Many corrections. $JA_UBE_BOGOFILTER_OPT cannot be empty in shell call. Added match to show contents of X-Bogosity. (spamprobe): Clear ERROR is message is not spam. * pm-jaube-prg-bmf.rc (tests=bmf): In 'No' case there was no value 'tests=bmf' and SA values were not restored. Fixed. * pm-jaube.rc (final-check): Added `JA_UBE_ATTACHMENT_SUSPECT_KILL' to call AWK to delete attachment. The variable was previously unused. (Body: Attachments): Variables `JA_UBE_ATTACHMENT_ILLEGAL_REGEXP' and `JA_UBE_ATTACHMENT_ILLEGAL_REGEXP_ADDITIONAL' tested match against body, which was wrong. Now they test against filename. * pm-jadaemon.rc (JA_DAEMON_REGEXP): Update. Now includes many more regexps, which also catch spam messages that pretend to be daemon messages. 2004-09-20 Jari Aalto * pm-jaube-prg-ifile.rc (call ifile): Surrounded the blocks following the `ifile' with a check that `jaubeIfileFolder' was set. The rest of the code is called only if program succeeded. Changed 'fw' to 'fhw' in formail. 2004-09-14 Jari Aalto * pm-javar.rc (RC_UBE_SPAMPROBE): Incorrect file name. Fixed. * pm-jaube-prg-bmf.rc: Typos in documentaton fixed. * pm-jaube-prg-ifile.rc: Typos in documentaton fixed. * pm-jaube-prg-spamprobe.rc: Typos in documentaton fixed. * pm-jaube-prg-runall.rc: New module. * pm-javar.rc (JA_FROM_MAILER): Added RC_UBE_RUNALL. 2004-09-14 Jari Aalto * pm-jaube-prg-bmf.rc (JA_UBE_BMF_HEADER_PREFIX): Clarified comment above. 2004-09-10 Jari Aalto * pm-jaube-keywords.rc (keywords): Added 'our +(company|product)' 2004-09-01 Wed Jari Aalto * pm-jaube-keywords.rc: (subjectKeywordsOnly) 2.21 Added \$[0-9][0-9.]+ and changed may keywords to use '\<' word boundary. For example it was unfortunate that 'rich' matched 'Richard' and so on. 2004-08-31 Jari Aalto * pm-javar.rc (TAB): Again TAB was changed to spaces by my Emacs setup. Inserted literal tab there. 2004-08-27 Fri Jari Aalto * pm-jaube-keywords.rc: Set ERROR_STATUS variable at the end to `Bad' if message was UBE. * pm-javar.rc: Added RC_UBE_IFILE. * pm-jaube-prg-ifile.rc: New module. * pm-jaube-prg-spamprobe.rc: 2.3 Complete rewrite. CAll formail only if JA_UBE_SPAMPROBE_HEADER is set. formail did not use JA_UBE_SPAMPROBE_HEADER variable. 2004-08-26 Jari Aalto * pm-jalist.rc: 2.7 Documentation typos fixed. Removed invalid URL www.netmeg.net. Added pointer to www.gmane.org. * pm-jaube.rc: 2.15 (BodyHtmlImage): New rule. * pm-jaube-keywords.rc: Added some more keywords. E.g. Better V....gra test. 2004-08-25 Wed Jari Aalto * pm-jaube-keywords.rc: Documentation typos fixed. * pm-jaube-prg-spamprobe.rc: Added Section 'Required settings' * pm-jaube-prg-bmf.rc: 1.9 Added Section 'Required settings' Added missing ERROR variable. * pm-jaube.rc (BodyHtml-script): Added () in front of test. 2004-08-24 Jari Aalto * pm-javar.rc (d): Added $n $t, $OR, $NOR * pm-jaube-keywords.rc: Removed commas from results put in JA_UBE_KEYWORD_HEADER * pm-javar.rc (CHAR_7BIT_CONTROL): New. * pm-jaube.rc Removed commas from results put in JA_UBE_HDR (JA_UBE_ATTACHMENT_SUSPECT_REGEXP): Updated. (JA_UBE_ATTACHMENT_ILLEGAL_REGEXP_ADDITIONAL): New. (JA_UBE_CHARSET_LEGAL): Added CHAR_7BIT_CONTROL (JA_UBE_SUBJECT_GREETING): New. (MessageId-Invalid): Moved \/ earlier so that there will be something in MATCH. 2004-08-24 Tue Jari Aalto * pm-jaube.rc (AddrInvalid-To): added condition line to set ERROR_MATCH (tld): Added missing TLDs according to standard. (AddrInvalid-To): Remove anchor (^) Because There is Apparently-To: etc. and not just To: (BodyHtml-script): New rule. (FromReceived-Mismatch): Added extra check for JA_UBE_VALID_ADDR 2004-08-23 Mon Jari Aalto * pm-jasrv-daemon.rc: 2.5 Procmail 3.22 ':0 HB' bug fixes. * pm-janetmind.rc: 2.5 Procmail 3.22 ':0 HB' bug fixes. * pm-jaempty.rc: 2.6 Procmail 3.22 ':0 HB' bug fixes. * pm-jadaemon.rc: 2.6 Procmail 3.22 ':0 HB' bug fixes. * pm-jaube-keywords.rc: Use ${FORMAIL:-formail} (JA_UBE_KEYWORD_HEADER): Now includes defalt value 'X-Spam-JaubeKwd' * pm-jaube.rc: 2.15 Use ${FORMAIL:-formail} Procmail 3.22 ':0 HB' bug fixes. 2004-08-22 Sun Jari Aalto * pm-javac.rc (JA_VAC_ID_CACHE_SIZE): from_daemon => JA_FROM_DAEMON * pm-jasrv-daemon.rc (dummy): from_daemon => JA_FROM_DAEMON * pm-japing.rc (dummy): from_daemon => JA_FROM_DAEMON * pm-jafwd.rc (dummy): from_daemon => JA_FROM_DAEMON * pm-jacookie.rc. from_daemon => JA_FROM_DAEMON * pm-javar.rc Updated doocumentation a bit. Removed variables SPAMASSASSIN and BOGOFILTER. These programs are not installed by default in hosts. (TAB): New variable. (from_daemon): may clash user variables. Renamed to JA_FROM_DAEMON. Likewis FROM_DAEMON_MATCH => FROM_DAEMON_MATCH (from_mailer): may clash user variables. Renamed to JA_FROM_MAILER. Likewise from_mailer_match => FROM_MAILER_MATCH * pm-jaube-keywords.rc: (JA_UBE_KEYWORD_HEADER): New user variable. The results are recorded to a header if this variable is set. * pm-jaube.rc: 2.15 (JA_UBE_ATTACHMENT_ILLEGAL_KILL): New user option. Now the big base64 files can be removed so that mailbox does not get filled. (JA_UBE_LOG): Variable removed. It is no longer used. (JA_UBE_ATTACHMENT_SUSPECT_KILL): New user variable. (JA_UBE_ATTACHMENT_SUSPECT): New user variable. (BodyAttachment-Suspect): New rule. 2004-08-21 Sat Jari Aalto * pm-jaube-keywords.rc: (Body-Keywords): Removed all extra regexps and moved them to 'keywords'. * pm-jaube-prg-bmf.rc: 1.3 Serious problems with logic and calling formail. Fixed. * pm-jaube.rc: 2.15 (ERROR_STATUS): New variable. The message status: Good, Bad. (Marketing-Body): '.*' at the end puts too much text to the MATCH if message contains very long lines. Restricted it to few words. (JA_UBE_CAPS_OK_DEFAULT): Added more words. (BodyAttachment-IllegalType): New rule for audio messages. 2004-08-20 Fri Jari Aalto * pm-janslookup.rc: 2.8 Corrected 'answer:' regexp under Debian nslookup. * pm-javar.rc (RC_UBE_KEYWORDS): New variable. * pm-jaube-keywords.rc: New module. The most simplistic UBE filter. * pm-jaube.rc: 2.9 Added new topic 'Are you sure you want to use procmail for UBE?' to clarify why procmail really is not suitable for UBE detection. (JA_UBE_FROM_QUESTIONABLE): Added microsoft, yahoo. (PGPmessage): Renamed to jaubePGPmessage; so that it won't clash to user's variables. (Marketing-Body): Removed 'Games', 'cellular +phone', 'deal', 'tired'. They are too generic and may calse false hits. Removed 'iemmc.org|cyberpromo|answerme\.com\|savetrees\.com' => Matching individual sites is not productive. Might not even exist any more. (JA_UBE_MIME_CHARSET_ILLEGAL): New variable. New rules to match header and body. (Body: Attachment): Added new rule to detect pif|exe|com|bat|cmd (Marketing body): Rule cleaned a bit. Dangerous and general regexps that may match legimite mail were removed. (JA_UBE_MBOX): Variable removed. No messages are no longer stored anywhere. The status can be checked from variable ERROR and user can act according to it. (AddrInvalid-To): Added check for CC:, which is valid header too. (Marketing-Body): Made more strict: |(visit|Welcome|our).*Web ?site\ => |(visit|Welcome).*our.*Web ?site\ (JA_UBE_CAPS_OK): Added: DHCP, CVS ... (FromReceived-Mismatch): Removed other recipe, which was totally bogus. We can't test Received -> From, only From against Received headers. (AddrUbeLike): tightened regexp (NotEnoughHeaders): Added Delivered-To, Envelope-To (JA_UBE_FROM_QUESTIONABLE): Added missing @-sign to acchor host names. (jaubeHTML): New variable. If content is HTML do not run 'Marketing-CountBigLetterWords' check (JA_UBE_ATTACHMENT_ILLEGAL): New user variable. 2004-08-19 Thu Jari Aalto * pm-jaube-prg-bmf.rc: 1.1 New module. Interface to http://www.sf.net/projects/bmf - Bayesian Mail Filter program. 1.2 Adde prefix `jaubeBmf' to all variables so that module does not clash with other procmail scripts. * pm-jamime-save.rc: Typos corrected in documentation. Removed variable 'id' and used permanent tag 'pm-jamime-save.rc:' instead. (Required settings): updated. * pm-jamime.rc (dummy): Removed variable 'id' and used permanent tag 'pm-jamime.rc:' instead. 2004-08-17 Tue Jari Aalto * pm-jaube.rc: 2.9 Added new rule: HTML base64 is certainly UBE. 2004-08-16 Mon Jari Aalto * pm-jaube.rc: 2.9 Replaced variable 'id' with package name. The variable will not last if another recipe is called. (Check nslooup): If nslook up was ok, the ERROR variable was mistakenly left as 'no'. Now it is empty, as it is a return code of pm-jaube.rc * pm-janslookup.rc: 2.8 Replaced variable 'id' with package name. The variable will not last if another recipe is called. 2004-08-15 Jari Aalto * pm-javar.rc (SENDMAIL): Added SPAMASSASSIN, BOGOFILTER, FGREP. Added comment beside GREP. 2004-06-28 Mon Jari Aalto * pm-jalist.rc: 2.6 Moved postfix and prefix deletion rules above the list conversion rule: JA_LIST_MAKE_UNIQUE by request of 2004-04-27 Jari Aalto * pm-janslookup.rc (nslookup): Extra ')' removed from regexp. This fixes invalid regexp error. * pm-jaube.rc (JA_UBE_RC): This recipe is now self standing. External JA_UBE_RC file is no longer called. The ERROR is set if message was UBE. 2004-04-26 Jari Aalto * pm-jamime-kill.rc (Content-Type): Added image/jpeg and 'E' for recipes. 2004-04-26 Jari Aalto * pm-jamime-kill.rc (dummy): Check that MIME_BIN_QP contains value. * pm-jalist.rc (reply-to): Added to_addr ?? ()\/$abc+ Patch by Fred Yankowski to prevent recipe from crashing procmail on messages that are missing the To header and have only a blank value in the Reply-to header. 2004-04-01 Jari Aalto * pm-jacookie.rc: Removed JA_COOKIE_MBOX. User can take of this after the recipe has finished. * pm-jacookie1.rc (OUTPUT): Mistakenly read non existing variable RET, should have read OUTPUT to get CRC. 2003-08-20 Wed Jari Aalto * pm-jamime-save.rc: 2.2 The MIME header 'Content-Disposition: attachment; filename=file.txt' assumed that all were one line. Glenn Rice reported that it could be also divided after ';'. Now looks filename=file.txt from following line too. 2003-06-04 Wed Jari Aalto * pm-javar.rc: Added variable `$S'; Perl non-whitespace. 2003-03-30 Sun Jari Aalto * pm-jaube.rc: 2.2 Missing word start \< added to JA_UBE_CAPS_OK Fixed recipe `Marketing-CountBigLetterWords': The match was done in body although flag B was set on start line. Moved B ?? tests inside test statements (*). 2002-08-15 to Jari Aalto * pm-jadaemon.rc: 2.1 reported leaking daemon messages: Novel MTA. Added code to use Novel's X-Diagnostic header. 2001-08-03 Fri Jari Aalto * pm-jamime-decode.rc (SHELLMETAS = $jaMimeDecodeShellmetas): 2.0 Ralph SOBEK in Procmail-L 2000-01-10 noticed error that SHELLMETAS was not restored to correct value. Fixed. (FROM): 2.0 Added code by Ralph SOBEK to decode iso-8859 From: field (SUBJECT): 2.0 Added code by Ralph SOBEK to decode iso-8859 Subject: field 2000-12-19 Tue Jari Aalto * pm-javar.rc ${RM:-"mv"}): 1.2 Added. * pm-jamime-save.rc: 1.2 $MV is now configurable in pm-jvar.rc $contentEncoding) was not set, becaus the mime detection headers we in another order. How handles Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit and Content-Type: application/octet-stream; name="Ass_rake.dbf" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Ass_rake.dbf" 2000-01-04 Jari Aalto * pm-jaube.rc: Message "AddrBogus-To" changed to "AddrInvalid-To" * pm-jasubject.rc: It makes sense setting subject only if clean contains something in return: clean ?? [a-z] * pm-jalist.rc: ABC variable now contains = The :E was removed, because it restricted changing the order of recipes. All use LIST ?? ^^^^ check now and are independent of each others. List-Id detection added. X-Mailman detection added. X-Mailing-List recipe needed lot of rework. Moved recipes around int he module. Copyright updated. * pm-jaaddr.rc: Corrected COMMENT_PLUS ([+]*|--)\/.* --> (\++|--)\/.* that made procmail pre7 dump core