fml Mailing List Packeges release revison 3.0 stable Bulletin 深町 賢一 ○ メーリングリストなど #バグ、質問等は fml-query@ffs.fml.org までおねがいします。 ちなみに FML.ORG での関連アドレスは fml: このファイルが返される fml-support = fml に関するML(自動登録) fml-query fml-support へフォワードする(**登録はしない**) DM は見落とす恐れもあるし、情報が二元化されてしまうので できるだけ ML に反映されたいので、bugs (下述) より query へお願いします。 fml-request, fml-bugs: 管理者いき です。使用・改造をする場合は常に update, bugfixes, extensions が行なわ れているので最新版のfml-current を手に入れてからしてもらえると幸いです。 ○ FMLの入手方法 最新版のソースは ftp://ftp.iij.ad.jp/pub/IIJ/dist/fukachan/fml/ の下です。ファイル名はfml-current.日付.tar.gzです。日付の新しいのを使っ てみて下さい。過去の正式リリースは ftp://ftp.iij.ad.jp/pub/IIJ/dist/fukachan/fml/fml/ の下にあります。WWWでは http://www.sapporo.iij.ad.jp/staff/fukachan/ http://www.sapporo.iij.ad.jp/staff/fukachan/fml/ という「MLサーバの設計と実装」というところからたどって下さい。そこで 最新版のドキュメントやらソースやらが見られます。 http://www.sapporo.iij.ad.jp/staff/fukachan/archive/ --------------------------------------------------------------------------- [FOR YOUR INFORMATION] 3.0pl (patch sereis) is 3.0 release + patches. 3.0pl パッチシリーズは 3.0 release にバグFIXのみが 適用されたシリーズです。安定化シリーズともいえます。 機能拡張などはcurrentの方でしか行なわれません。 くわしくは current や http://www.fml.org/fml/ 参照 1999/08/16 fml 3.0 Release 1999/08/11 fix sbin/makefml bug (loading config.ph) cut off Subject: trailing \s+ against some MUA ;_; 1999/07/26 remove useless message reply in "unsubscribe-confirm" success 1999/07/25 makefml: not need $DIR/cf if possible makefmlはcfを使っていない場合にはconfig.phだけ評価すればいい ように修正 1999/07/20 Loop check: always reject from: MAIL_LIST, CONTROL_ADDRESS, ... いかなる場合でも From: がメーリングリストやコマンド用のアドレス だったら途中で処理を停止する。 update several documents 1999/07/19 3.0_BETA 1999/07/18 change $SKIP_FIELDS default to pass through Received:. It causes too many hops but need to check spam or back trace. SKIP_FIELDS のデフォールトを変更して Received: を通すのがデフォールト 1999/07/11 SMTP new library: if $MCI_SMTP_HOSTS > 1 case fix bug MCI window smtp does not send the last $MCI_SMTP_HOSTS recipients ;) $MCI_SMTP_HOSTS > 1 の時のみ 新SMTPライブラリのbug fix 1999/07/10 HTML_THREAD_REF_TYPE: change "default" to "prefer-in-reply-to" 1999/07/09 s/auto_symmeric_regist/auto_subscribe/ 2.2F merge mci-window2 branch more elabarate recipient list division より賢いSMTP配送リスト分割 modulus 法はobsolete 1999/07/05 2.2E#5 EnvelopeFilter: fix 'one line body' check bug fix couting number of paragraph 1999/07/02 handling attachemnt in multipart mail split each multipart block to each file We can handle text/plain, text/html, base64 encoded file ;-) only HTMLジェネレータがMultipartの時は貼付ファイルをばらばらのURLに 分離してみようと試みるだよ 1999/07/01 2.2E#1 [less momory hack] part I fix a lot of main code (fml.pl) completely rewrite multipart to html generator (libsynchtml.pl) rewrite virus check code (libvirus.pl) &ADD_CONTENTS_HANDER apply patch of fml-support:6396 to fix regexp 1999/06/29 2.2E less momory smtp IO library 2.2E: SMTPライブラリの改良 1999/06/27 new handler: "auto_symmetric_regist" to resolve asymmetric treating of "members" and "actives" files. It will be fml 3.0 future. 1999/06/26 2.2D 2.2C: smtp hack (1/2) for pipelining 2.2D: auto_symmetric_regist 1999/06/25 HTML generation: $AUTO_HTML_GEN (a little) more smart memory use of base64decoding 1999/06/23 EnvelopeFilter: modify 2-byte-codes filtering code (Japanese sepcific) 2バイトコード排除の仕方をちょっと変更する。 排除するパターン ^2バイト[A-Za-z]2文字以上連続$ ^2バイト[A-Za-z]2文字以上連続 + スペース + なんでも ^2バイト[A-Za-z]2文字以上連続 + 2バイトスペース + なんでも mead: pick up Received: for line for mail forwarding case 1999/06/22 fix PIPELINING. add flow control of RCPT TO: rate. PIPELINGの時突っ込んではちょっと受け取ってを くりかえしていくように flow control のようなことをする。 1999/06/18 VERPs: Variable Envelope Return Paths See http://www.jp.qmail.org/qmaildoc/RFC/RFCVERP.html If you enable $USE_VERP variable, fml uses VERPs. $USE_VERP = 1; (default 0) 1999/06/16 loop detection based on MD5 check sum of article ループ対策その3 md5 チェックサムのキャッシュを持ち記事の重複をチェックする (一応デフォールトではこの機能は有効にはしていない) [config.ph] $CHECK_MAILBODY_CKSUM = 1; [makefml config] top menu => SECURITY_AND_FILTER => CHECK_MAILBODY_CKSUM => "y" 1999/06/14 make FEATURES document/web page from README WWW.FML.ORGに FEATURES (特徴)だけのページを作る 1999/06/08 fix command mode moderation modify messages/Japanese/amctl (amctl.added) to be more readable at a glance 1999/06/07 bug fix html mail filtering code 新しいHTMLメール(なんていうんだ?)フィルタリングコード bug fix 版 1999/06/04 fml-support:6245 contributed by. import new html_mail(?) filtering code (beta test?). Now we can set each policy e.g. permit/deny for each multipart block. 新しいHTMLメール(なんていうんだ?)フィルタリングコード multipartの各ブロックごとに制御できる。 (Author: ) Example: &ADD_CONTENT_HANDLER('multipart/*', 'text/plain', 'allow'); &ADD_CONTENT_HANDLER('multipart/*', '*/*', 'reject'); &ADD_CONTENT_HANDLER('text/plain', '*/*', 'allow'); &ADD_CONTENT_HANDLER('!MIME', '*/*', 'allow'); 1999/06/03 bug fix confirmation message (resolve duplicated entry in doc/message/Japanese/) --------------------------------------------------------------------------- FML 3.0.1 Mailing List Server Package 深町 賢一 以下ドキュメント中では3.0を適当に3.0.1に読み変えて下さい。 [ガイド] 3.0へのアップグレードの注意 3.0.1でも同様です http://www.fml.org/fml/UPGRADE-3.0/ 3.0〜3.0.1の間の修正点について http://www.fml.org/fml/CHANGES-3.0.1/ 3.0と2.2.1の主な違い http://www.fml.org/fml/3.0-new-features.html ざっとした感じが掴めるインストールと基本的な設定例のアウトライン http://www.fml.org/fml/examples/ 詳細/その他の情報はここからたどってください。 http://www.fml.org/fml/ ソース ftp://ftp.iij.ad.jp/pub/IIJ/dist/fukachan/fml/ _____________________________________ 1 Overview 1.1 はじめに 1.2 インストールの前に 1.3 ソースコードと情報へのポインタ 1.4 FML Advisories 1.5 メーリングリストについて 1.6 fml-FAQ project 2 インストール 2.1 makefml (インストーラー及び設定インターフェイス) 2.2 fmlが動く環境 3 FML 3.0 の機能の概要 4 Version Up と互換性(Compatibility) 4.1 Version Up について 4.2 新しい機能を有効にするには? 4.3 互換性について 4.4 Changes 5 配布について 5.1 配布条件 --- Copyright --- 5.2 使用上の注意 6 Acknowledgments _____________________________________ 1 Overview 1.1 はじめに FML は Mailing List (以下 ML) Server package です。perl を使って書かれ ています。FML は配送プログラムや多くのコマンド用のサーバ(ユーザー用や MLをリモートで管理するためのもの)などからなります。また対話設定プログ ラムやコマンドサーバのインターフェイスを listserv / majordomo スタイル にするエミュレータなどの多くの補助プログラムなどもついています。 いろいろなケース用のプログラムがあるのは『趣味も(コンピュータ)環境も人 それぞれ』という前提が根底にあり『カスタマイズの自由度が大きいこと/同 じことができるのであればユーザ・インターフェイスはどのようなものでもい い』と思うからです(そういう意味ではいかにも perl ぽいですですかね:)。 デフォールトでは MLの参加希望者のアドレスを管理者が登録する 登録された人だけが投稿やコマンド操作などができる 設定です。必要なら makefml (対話設定プログラム) で"明示的に"(例えば自 動登録やリモート管理)機能を有効にできます。細かいパラメータのチューニ ングや高度な設定は設定ファイルに変更を加えます。 1.2 インストールの前に インストール作業については INSTALL というファイルを読んで下さい。 インストール作業の前準備として次のものが必要があります。 インストール先のマシンに(自分もしくはML専用の)アカウントがある perl 4 もしくは perl 5 (今時perlは最初からOSに入ってるとおもう) メール配送プログラムがあること(default は sendmail R8 を想定) です。必要ならこれらをインストールしてちゃんと動くようにセットアップし てからfml のインストールに進んで下さい。Windows NT4 上での fmlについて は INSTALL_on_NT4 を参照してください。いくつかのMTA(現在は sendmail, postfix, qmail and exim)についての注意点が INSTALL_with_MTA名 というファ イルにあります。 プロバイダのサービスを利用している場合どうすればよいかは一概にはいえま せん。詳しくは自分の使っているプロバイダに聞いて下さい。一般にはいわゆ る「シェルアカウント/シェルサービス」などと呼ばれる UNIX マシンを使え るサービスを利用している必要があるはずです。ホームページレンタルサービ スなどでFTP等でファイルを送り込むタイプのものなどの"シェルサービスのつ いていない"サービスだけではおそらく無理でしょう。 MLは本質的にフィルタリングなので、MLのプロセスの流れは(間にfmlを夾んで) "メールを受けてfmlをkickするプロセス" "SMTPを理解する配送プロセス" の2つの動作からなります。メールを受けることと配送することは概念的に別 のものです。原則的に fml はメールを受けるホスト上で動きます。配送系は SMTPを理解してくれればなんでも構いません sendmail, qmail, exim, ... そのため配送を担当するホストはメールを受けるホストと同じでなくても構い ません。配送専用マシンなどあるととてもよいでしょう。 1.3 ソースコードと情報へのポインタ [Sources] 最新版のソースコードは以下の anonymous ftp から入手可能です。 ftp://ftp.iij.ad.jp/pub/IIJ/dist/fukachan/fml/ です。リリース以降に手が入ったもの/作業中の最新版は (fml-)current と呼 ばれ fml-current.日付.tar.gz という名前で置かれています。日付の新しい (生きのいい:-)のをどうぞ。ここの階層以下にはメールに関連するプログラム 群も置いてあります。最新版は ftp://ftp.iij.ad.jp/pub/IIJ/dist/fukachan/fml/fml-current.tar.gz です。 [Documents] ドキュメントは fml のソースをひろげると doc/ の下に plain test doc/html/ の下にその HTML版があります(doc/op のHTMLは大きいので入って いない、作成する必要がある)。 最新版のドキュメント/ソースなどは http://www.fml.org/ からたどれます。最新のネタはML(後述)かここを見てみて下さい。配布ドキュ メント群へのサーチエンジンもあります。 1.4 FML Advisories 現在のfml-currentにはFML Advisoriesというドキュメント群があります。旬 の特定のテーマについてまとめたものです。セキュリティ関係が主なテーマで すが、それ以外のテーマもあります。 例: happy99, Melissa http://www.fml.org/fml/advisories/ 1.5 メーリングリストについて FMLに関する議論、バグレポート、質問、要望などあらゆる:)目的に fml-support ML (言語は日本語)が用意されています。 fml-support@ffs.fml.org (日本語) # FYI: fml-users@ffs.fml.org (公用語は英語) fml-support MLへの自動登録は fml-support-ctl@ffs.fml.org へ subscribe 自分の名前 (例: subscribe Anne Shirley) をメールの本文に書いて送って下さい。登録意志確認のメールが届くのでその メールに返事をして下さい。 BUGレポートはどのOS,MTA, FML version を使っていてデフォールトから何を 変えて何をどうしてどうなったのか? を書いて下さい。そういう場合にチェッ クして欲しい項目は doc/CHECK_LIST.jp (日本語)にあります。 疑問点について尋ねる前にドキュメントのサーチをすると解決することもよく あります。それっぽいキーワードや言葉でドキュメントの中を検索する、 www.fml.orgのサーチエンジンを使うのが解決への第一歩です。 作者個人宛のメールは に送って下さい。しかし個人 宛にメールがくるとどこかへまぎれたり、忙しくて時間が取れないので捨て置 かれる場合がよくあります。MLならわかる人がすぐに答えてくれる可能性も ありますから、できるだけ fml-support ML宛へ投げてもらえると助かります。 "どうしても"内密な相談とか、DMで聞きたいことは投げてもらっても構いませ んが、返事はものすごく遅いでしょう _o_ fml-bugs はあくまでもDMのアドレスです。情報は埋もれ共有されません。 fml-query@ffs.fml.org へ送るとそのメールは fml-support MLへフォワード されMLの記事として扱われます。fml-supportに登録して欲しくない人用で す。fml-bugs と違い質疑応答は全て fml-support 内に流れ、情報は共有され ます。MLに参加しない場合でも fml-bugs より fml-query を使って欲しいと 思います。 1.6 fml-FAQ project fmlのFAQを作成中するプロジェクトが現在進行形です。 http://www.jwntug.or.jp/wg/ntfml/faq/announce.html 2 インストール 設定項目は多岐に渡りますが、基本的なセットアップ(MLをつくる/登録する) や簡単な設定の変更は makefml という対話設定プログラムで行なえます。 2.1 makefml (インストーラー及び設定インターフェイス) インストールは (shell prompt)% perl makefml install を走らせて下さい。ML の作成は(例えば elena MLを作るなら) /usr/local/fml/makefml newml MLの名前 (例: makefml newml elena) のようにします。何個作る場合でも以下同様です。詳細については INSTALL というファイルを見て下さい。 ○ アップグレード・インストールをしようとしている人へ 3.0.1 へのアップグレードの際には必ず UPGRADE ファイルの最初の章を読ん でおいて下さい。自動登録をしていない人は考えなくてもいいとは思いますが http://www.fml.org/fml/UPGRADE/ 2.x to 3.0 の部分だけ以下のURLに抜き出してあります。 http://www.fml.org/fml/UPGRADE-3.0/ UPGRADE というファイルを見て下さい。古い config.ph をそのまま使おうと 思っている人は(HOOKについてはちょっと気を付けないといけませんが)そのま ま使って下さい。凝ったHOOKをしていない人はそのまま使って大丈夫です。 See also: 4 2.2 fmlが動く環境 ターゲットは NetBSD (4.4BSD)ですが最近のUNIX系OSであれば動くでしょう。 できるだけインストーラが自動判定してなんとかするようになっています。 #ソラリスは2.4以前のものはいろいろうまく動かないらしい?です。 #判定できないようなどマイナ〜なOSだったらどうなるかわかりませんが WINDOWS NT 4.0 上でも動きます。INSTALL と INSTALL_on_NT4 というドキュ メントを参照して下さい。 ○ 開発環境 postfix 19990601 + perl 5.00503 on NetBSD 1.4D (ELF, IPv4 only) ○ テスト環境: fml 3.0 のターゲットマシン/テスト環境は sendmail 8.9.3 + perl 5.005_03 on NetBSD/i386 1.4_BETA sendmail 8.9.3 + perl 4.036 on NetBSD/i386 1.4_BETA なおFML.ORGの配送システムは5つのMTAを使った並列配送で高速化しています:)。 (通称MTAみくじです ^^;) sendmail 8.8.8 + WIDE patch + smtpfeed sendmail 8.9.3 qmail 1.03 exim 2.04 postfix snap-19990601 3 FML 3.0 の機能の概要 4 Version Up と互換性(Compatibility) 4.1 Version Up について ソースを広げてインストールと同様に makefml install (INSTALL というファ イルを参照)をして下さい。手動でも十分できますがOSの自動判定なども含め て補正が行なわれるので makefml を使うべきです。 4.2 新しい機能を有効にするには? 新しい機能・オプションは明示的に指定しない限り動きません。基本的なもの は makefml のメニューで変更ができます。メニューにないパラーメータのチュー ニングなどは設定ファイルの変更になります。INSTALL を参照して下さい。 4.3 互換性について 詳細はINSTALL と doc/op.jp の part I に「Version Up と互換性について」 という章があるので、そちらを読んで下さい。互換性などに関して UPGRADE も見て下さい。 FML では config.ph という設定ファイルが振舞いを決めます。config.ph に も version ($CFVersion)という概念があります。この $CFVersion を利用し設 定ファイルの昔の変数名などは変わっていても、基本的に自動補正/変換が加 えられ昔作った config.ph をそのまま使っても大丈夫なようになっています。 config.ph でちょっと複雑な HOOK をしかけている場合は注意が必要です。と いうのはHOOKで使う関数や変数等が今でもサポートされているとは限らないか らです。ただ、昔できたことは必ず今の実装でもできるので doc/op.jp を参 照してみて下さい。 4.4 Changes CHANGES と RELEASE_NOTES を参照のこと。 5 配布について 5.1 配布条件 --- Copyright --- GNU General Public License です。詳しくは COPYING というファイルを読ん で下さい。 Copyright (C) 1993-1999 Ken'ichi Fukamachi FML is free software; you can redistribute it and/or modify it under the terms of GNU General Public License. See the file COPYING for more details. 5.2 使用上の注意 このソフトウエアはIIJの業務とは”一切関係ありません”。 単なる私の趣味です。質問等は上記のアドレスへ送って下さい _o_ また”絶対に IIJ のサポート窓口等に質問をしない”ようにして下さい。 よろしくお願いします。 6 Acknowledgments I thank a lot of people for valuable comments, suggestions, bug reports, contributions, fixes and patches both on fml-support ML and in private communication. I distribute some contributed codes as a part of FML distribution. I refer each contribution in RELEASE_NOTES. I greatly appreciate softwares developed and distributed under freedom of programming. For convenience I bundle to my package, config.guess (GNU autoconf), a few useful codes jcode.pl and mime_pls, which you can obtain on anonymous ftp's. 4.4BSD has been a start point to study several aspects of OS details. $Id: README.wix,v 2.21.2.9 2000/01/05 11:53:06 fukachan Exp $