diff options
Diffstat (limited to 'CHANGES.txt')
| -rw-r--r-- | CHANGES.txt | 10955 |
1 files changed, 50 insertions, 10905 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index a5a967b9..b9528ca8 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,10935 +1,80 @@ - CHANGES - Last Modified: $Date$ + fml8 major changes + # see github on more details. - [最近のまとめ] - - FML_CURRENT_VERSION=7.98.18 - - 8.0 PRE_ALPHA - 7.98.18 minor updates continue ... - mark 7.98.18-2015-08-15 as the further reference point. - hack base to catch up perl 5.16 changes, cpan modules .. - 7.98.xx ... # See Appendix at the last of this file. - -2018/09/08 - - FML::Article::Summary - update comments on subject (mime header) handling. [b53efe7] - - - subject handling is changed to mime_header_decode() and - as_external_form() style. [f295ab8] - - - FML::Article::Thread - subject handling is changed to use Mail::Message::Subject based e.g. - mime_header_decode(). Mail::Message::Subject [5c85320] - - - Mail::Message::Date - fix document: removed as_str() in it (no such function). [488eec2] - - - Mail::Message::Encode - removed encode_mime_string(), decode_mime_string() and - decode_mime_utf8_to_euc(). They are moved to - Mail::Message::Encode::Obsolete temporarily. [90af0ee] - - - Mail::Message::Encode::Obsolete - obsolete Mail::Message::Encode functions are moved to here - temporarily. The functions are encode_mime_string(), - decode_mime_string() and decode_mime_utf8_to_euc(). [7ec22f9] - - - Mail::Message::Outline - subject handling is changed to - Mail::Message::Subject->mime_header_decode() and as_external_form() - style. [22d2072] - - - Mail::Message::Subject - private _regexp_compile() is elevated to public regexp_compile(). - [4a9246d] - - - Mail::Message::ToHTML - subject handling is changed to mime_header_decode() and - as_external_form() style. XXX bug this module is broken now. XXX it - seems text2html() handles the input as ISO-8859-1 always ? [1a97212] - - -2018/09/07 - - FML::Header - fix the document descriptions on rewrite_article_subject_tag(). - [da4a301] - - - FML::Process::Utils - article_thread_init() modified to use Mail::Message::Subject. [7ed5b19] - - - Mail::Message::DB - _decode_mime_string() switched to use mime_header_decode_as_octets() - of Mail::Message::Encode::Perl class. [f363713] - - - Mail::Message::Encode - remove base64() and qp(). [c60c819] - - - remove debug codes. [b6291a3] - - - Mail::Message::Encode::Perl - clarified each variable is Perl internal or external form. [3646434] - - - fixed the new() description: no, we do not use Jcode here. [be0765b] - - - define convert_from_internal_to_external_form() which convert the - given Perl internal form to the external printable one. [ace7de9] - - - define mime_header_decode_as_octets(). It returns printable form not - Perl internal one. [e80540b] - - - Mail::Message::Language::Japanese::Outline - just a template. removed not-used "use Jcode". [4a022ce] - - - Mail::Message::String - removed obsolete mime_encode() and mime_decode(). [e9e8056] - - - define as_external_form() which return the internal data as the - external form string. [5b2a5a9] - - - remove debug. [63ea732] - - - Mail::Message::Subject - remove debug codes. [c8801a4] - - - Mail::Message::Utils - return the phrase of from: address by using - mime_header_decode_as_octets(). [de3abe3] - - -2018/09/04 - - README.md - oops, it was wrong. toward 7.99.00 not 7.98.99 ;_; [25b49da] - - - toward 7.98.99, internal encoded message handling overhaul underway. - [01f470e] - - - FML::Header - rewrite_article_subject_tag() switched to use - Mail::Message::Encode::Perl. [3c7c5ca] - - - renamed: - s/rewrite_article_subject_tag_orig()/rewrite_article_subject_tag_obsolete()/ - to clarify it is obsolete. [2b9052a] - - - FML::Header::Subject - clarify FML::Header::Subjectrewrite_article_subject_tag_orig is - obsolete by renaming to rewrite_article_subject_tag_obsolete(). It - should be removed in the future. It will stay with the repository for - a while. [8bcfa5f] - - - Revert "FML::Header::Subject->rewrite_article_subject_tag is - obsolete." This reverts commit - e1a83b9afe47ce152788651d0a395ec3cdd39d43. [ff4866f] - - - FML::Header::Subject->rewrite_article_subject_tag is obsolete. - Temporarily, renamed to rewrite_article_subject_tag_obsolete() but it - should be removed in the future. [e1a83b9] - - - Mail::Message::Encode::Perl - add Mail::Message::Encode::Perl for Perl (character-oriented) based - encoding. [5601fb8] - - - Mail::Message::String - mime header decode/encode switched to use Mail::Message::Encode::Perl. - define new functions: mime_header_encode() and mime_header_decode(). - [e5d7fe1] - - - Mail::Message::Subject - fix documentation and debug codes to use mime_header_decode/encode(). - [5c2490d] - - - Mail::Message::Utils - switched to use Mail::Message::Encode::Perl in From address parsing. - [699772a] - - -2018/08/14 - - fml/doc/ja/tutorial/include/bookinfo.sgml - + perl 5.26.2 on NetBSD 7.0 [604501d] - - -2018/08/01 - - fml8 monthly release 20180801 - master repository is moved to github.com/fmlorg. - modified tools and documents to reflect scm changes (cvs to github). - - CHANGES.txt - fml8 monthly release 20180801: switch from cvs to git - github.com/fmlorg [9d5c7a5] - - - master repository switch from cvs to github.com/fmlorg. master - repository is moved from cvs.fml.org to github.com/fmlorg. modified - tools and documents to reflect scm changes (cvs to github). [c6316ad] - - - README.md - the least description on fml8 [8e2c2ba] - - - fml/bin/anoncvs - obsolete due to scm changes (cvs to git(github)) [4abd871] - - - fml/doc/ja/tutorial/devel/cvstree.sgml - obsolete due to scm changes (cvs to git(github)) [3ff34d8] - - - fml/doc/ja/tutorial/devel/repository.sgml - repository descriptions, newly created due to scm changes (cvs to - git(github). [291a147] - - - fml/doc/ja/tutorial/install/download.sgml - modified to catch up the scm changes (cvs to github). [fb27f88] - - - regress/simulation/Makefile - modified to use git reflecting scm changes (cvs to github). [64681a8] - - -2018/07/04 - - master repository is moved to github.com/fmlorg. - -2018/02/01 - - fml8 monthly release 20180201 - -2018/01/13 - - update CPAN modules - updated to Crypt-RandPasswd 0.06 - updated to Exporter-Lite 0.08 - updated to Time-modules 2013.0912 - updated to Unicode-Japanese 0.49 - updated to File-MMagic 1.30 - updated to PathTools 3.62 (File::Spec) - updated to MIME-Types 2.14 - -2018/01/01 - - fml8 monthly release 20180101 + FML_CURRENT_VERSION=7.99.1 - fml8 season (monthly for a while) rollout campaign starts. - - update CPAN modules - updated to MailTools-2.19. - -2017/12/31 - - updated to im-153. - -2017/08/18 - - apply patch to fix charset handling in Content-Type header - Thanks to <mizuki@myokoo.jp>. - -2017/08/01 - - fml.org servers are being currenty re-designed to implement github mirror. - - -2017/03/04 - - fml-7.98.18-2015-08-15 snapshot is created as the further reference point. - XXX used as a reference only. - -2013/04/14 - - fml/utils/bin/sgml_compile.sh - inherit FML_DSL environmental variable if exists, - enhanced to catch up www.fml.org framework changes. - -2012/12/30 - FML::Process::Calendar - catch up perl changes: defined(hashes and arrays) is - deprecated, instead use a simple test for size: - if (@an_array) { ... } - - FML::Process::ConfViewer - FML::Process::DocViewer - catch up perl changes: not length(@array), use "scalar @array" - to find out how many elements these have. - -2012/12/13 - - Mail::Delivery::SMTP - catch up IO::Handle changes in Perl 5.16 to avoid a lot of - warnings. see RT#66474 - https://rt.cpan.org/Public/Bug/Display.html?id=66474 - -2012/12/13 - - HTML::EntitiesLite added to make HTML::FromText work. - non-XS-ified HTML::Entities module derived from HTML::Parser - 3.69. HTML::FromText is modified to use it. - - HTML::EntitiesLite is enough for HTML::FromText since we can - use only encode_entities() not decode_entities, which depends - HTML::Parse XS engine. - -2012/04/21 - - Mail::Delivery::Net::INET6 - not duplicated loading of Socket related classes. - -2012/04/15 - - not use obsolete library. - timelocal.pl and ctime.pl, which is removed in Perl 5.16 - release. switched to use Time::Local and Time::localtime. - - import CPAN modules for HTML::FromText module: - import Email-Find 0.10. - import Exporter-Lite-0.02. - -2012/02/25 - - update CPAN modules successively: - Unicode-Japanese to 0.47. - HTML-FromText to 2.05. - HTML-CalendarMonthSimple to 1.25. - -2012/02/19 - - update CPAN modules successively: - Jcode to 2.07. - File-MMagic to 1.27. - Socket6 to 0.23 (not used, holded in cpan/dist for reference). - HTML-Template is removed since it is not used. - Log-ErrLogger is removed since it is not used. - Text-CSV is removed since it is not used. - Rcs is removed since it is not used. - VCS-CSV is removed since it is not used. - -2012/02/18 - - update Time-modules to 2011.0517 (sync w/ pkgsrc/time/p5-Time-modules). - - bump up the FML_CURRENT_VERSION to 7.98.17 - to clarify the dependence among the version and modules. - -2011/09/26 - - FML::Config - include ErrorStatus module within it. - remove "use ErrorStatus". - - FML::Credential - include ErrorStatus module within it. - remove "use ErrorStatus". - - ErrorStatus - modified to not use this top level package. remove this. - -2011/08/25 - - Mail::Message::Encode - bugfix quoted-printable pattern at decode_mime_utf8_to_euc(). - -2010/11/28 - - FML::Install - fix vendor expansion bug (bug fix previous commit). - - ***important changes*** - do not overwrite file in installation. changes for the further - enhancement, e.g. in other softowares. Actually, the current - fml installation does not chanes since the file::directory - names do not conflict. - -2010/11/09 - - bump up to the version 7.98.16. - - FML::Install - enhanced to try to install all files in all vendors, - which is useful for 3rd party. - -2010/03/06 - - FML::Process::Distribute - seems incorrect that increment_id() in calling HTML-ify - function since already the article ID is incremated at _ - deliver_article_prep(). changed to use $article->id(); by - fetching the current article ID. - -2010/03/01 - - bump up to the version 7.98.15. - -2010/02/28 - - import IM-150. - - -2010/02/28 - - fml-7.98.14-20100228 released as a mile stone before further development. - same as fml-7.98.14-20090809 excluding documentation. - - ドキュメンテーション以外は fml-7.98.14-20090809 と同じです。 - 安全のため、ライブラリのアップデートを始める前に作成した - スナップショット。 - -2009/12/26 - - fml/utils/bin/version_replace.pl - added: version replacement utility. - - tutorial/Makefile.template - replace version in include/bookinfo.sgml always - using fml/utils/bin/version_replace.pl utility. - - catch up the change in clean and export rules. - - ja/tutorial/include/chapters.ent - define bookinfo.cooked entity. - we use it as version-managed bookinfo.sgml. - - ja/tutorial/book.sgml - use version managed bookinfo entity. clean up a little. - - ja/tutorial/ - clean up a little ... - - -2009/08/09 - - fml-7.98.14-20090809.tar.gz built. - -2009/07/15 - - FML::Process::Distribute - move calling _htmlify() from _deliver_article_prep() to finish() - -2009/06/20 - - fml-7.98.14-20090620.tar.gz built. - -2009/06/10 - - Mail::Message::Date - bugfix case timezone +0000 - -2008/11/30 - - 開発環境を perl 5.10 ベースへ変更。 - - FML::Process::Switch - defined() before eq - -2008/09/29 - - FML::Process::CGI::Kernel - verify_request() logs client ip address if could. - -2008/09/28 - - documentation - usage of anonymous cgi. - -2008/09/15 - - FML::ML::Control - delete scripts in the reverse order of creation. - define {get,set}_force_mode(). - - FML::Command::Admin::{newcgi,rmcgi} - install/deinstall all CGI scripts for the specified domain. - -2008/09/14 - - FML::Process::Utils - define ml_name_list(), which returns the list of valid ml in the - specified domain. - fix documents and todo. - - FML::ML::Control - fix admin.cgi removing operation bug. - count up the number of valid ml, - remove admin.cgi only if ensured that no more valid ml exists. - -2008/09/13 - - variables - define $listinfo_template_base_dir - - template files - share/listinfo/euc-jp/index.html.ja - change default url for submission of subscribe/unsubscribe request. - mailto:... -> ::...::submit.cgi - - share/listinfo/euc-jp/index.html.en aded. - - FML::ML::Control - listinfo operations fixed::install and deinstall index.html.{ja,en}. - -2008/09/12 - - variables - define $ml_anonymous_cgi_base_url - - FML::Command::Admin::{newml,rmml} - clean up. - warn() -> ui_message() + logwarn(). - change variable names to be more proper. - fix comments. - - FML::Command::Admin::rmml - FML::ML::Control - delete cgi scripts and listinfo in runnign rmml. - -2008/09/11 - - FML::Error::Cache - document: fix typo - -2008/09/10 - - FML::CGI::Skin::Anonymous - (1) check if the banner image format generator works or not - (2) if not, use ascii generator. - - FML::String::Banner - new() needs $curproc as the argument. - as_png() checks if GD perl module is available. if not, return - undef. - FML::ML::Control - clean up setup_cgi_interface() to be more modular. +7.99.1 subject MIME handling bug fixed. -2008/09/09 + Sep 8, 2018, we have merged the following branch + feature/utf8-mime-header-handling [2b9052aa..b9c2f6c2] into + the master. XXX Mail::Message::ToHTML is broken. XXX + Mail::Message::Outline may be broken. - WWW interface for anonymous users is added. - Anyone can request subscribe/unsubscribe via WWW interface. - After the request processed, the command flow is same as usual - command mails ( confirmation is sent back, ...). + Also, we note that this is the initial point to release + engineering process toward the release 8.0.0. - 一般ユーザが WWW インターフェイスでMLへの「入会」「退会」 - のリクエストを出すことが出来るようにしました。 - ・ subscribe と unsubscribe しか出来ません。 - ・ リクエストを出すと confirmation のフェイズに入ります。 - その後は、いつのもコマンドメールと同じ処理になるだけです。 - 本当に入口だけ。2つの違う通信路を使うことに意味があります。 - ・ パスワード登録とかはしません。どうせ次に使う時には忘れてる。 - 無駄にML側へ情報が集まってしまうと逆に危ないだけ。 - ・ ゆがんだ画像を読みといてもらって「魔法の文字列」を入れさせます。 - SPAM よけの軽いおまじないです。 - 気合いの入った OCR 野郎とかいたら無駄でしょうが、そこまでして - 突破したいような価値ある WWW じゃないし(confirmation かえる - だけなんだし)。 - ・ もっといけてる画像の作り方のアイデア(というかコード)募集中。 + (XXX) + We plan to move non-core modules related on the mailing list + core to aux/ (newly created) or 3rdparty/fml.org/FEATURE/ (as + examples how to use at ./3rdparty/ directory). + - variables - define variables for anonymous cgi::$use_anonymous_cgi_function, - $anonymous_cgi_expire_limit, $anonymous_cgi_base_dir, - $ml_anonymous_cgi_base_dir, $html_tmp_dir, and $html_tmp_base_url. - - define $ml_anonymous_cgi_allowed_commands - - definition changed::$cgi_base_dir, $admin_cgi_base_dir and - $ml_admin_cgi_base_dir. - - renamed::$commands_for_ml_admin_cgi -> $ml_admin_cgi_allowed_commands - - etc/modules - add definition "anonymous::*::*::submit.cgi". - while space cosmetics. - - share/messages - add message templates for anonymous CGI. - - FML::Char::Ascii::Data - ascii presentation of letters. - - FML::String::Banner - FML::String::Banner::{Ascii,Image} - banner string generator - - FML::String::Random - generates a magic string and the identifier used for the - session ID. - - FML::Restriction::Base - define $alnum_regexp class. - define 'session_id' and 'magic_string' regexp. - - FML::CGI::User - define anonymous_cgi_menu(). - fix and update documents. - - FML::CGI::Anonymous::{DB.pm,Submit} - FML::CGI::Skin::Anonymous - anonymous cgi initial version - - FML::Command::User::{chaddr,subscribe,unsubscribe} - show menu for an anonymous user by calling - FML::CGI::User->anonymous_cgi_menu(); - - FML::ML::Control - in setting up cgi, install cgi script(s) for anonymous users, - too. - - FML::Process::Kernel - import $fml_owner and $fml_group into $config name space from - main.cf. - - FML::Process::Utils - fix how to search main_cf information. - - define set_allow_reply_message() and get_allow_reply_message(). - We can enable or disable reply_message*() functions dynamically. - - FML::Process::CGI::Kernel - generate anonymous session ID always (anyway). - - finish() calls message flush sub-system. - - cgi_execute_command() is enhanced to handle both *admin.cgi - and anonymous cgi case. - - some error messages are natural-languaged. - - use cgi_var_*() and specify -target if could. - - FML::Process::CGI::Utils - $commands_for_ml_admin_cgi -> $ml_admin_cgi_allowed_commands - - ensure the return value for CGI action to be not "undef". - - menu is enhanced to handle both *admin.cgi and anonymous cgi case. - -2008/08/31 +7.98.18 minor updates continue ... + mark 7.98.18-2015-08-15 as the further reference point. + hack base to catch up perl 5.16 changes, cpan modules .. - WWW インターフェイスからの subscribe / unsubscribe 他のための準備... - 隔離メールの「TODO: ワンタイムパスワードつき URL の生成。」 - も同じフレームワーク上にある(はず)。 +7.98.17 update modules: cpan modules, IM et.al (to be planned). -2008/08/24 +7.98.16 FML::Install is enhanced. - 隔離されたメール(SPAM)を日付名ディレクトリへ奇麗に並べ替える。 - TODO: レポートメールの生成と送信。 - TODO: ワンタイムパスワードつき URL の生成。 - この URL はレポートメールに含まれるようにする。 - - FML::Process::{Flow,Kernel} - FML::Isolate - rearrange isolated mails to under - $isolated_queue_dir/YYYY/MM/DD dir. +7.98.15 IM updated to IM-150. + fix wrong ID incrementation in article to html conversion. - FML::Command::Admin::thread - allow sub-command "outline" load. +7.98.14 www interface for anonymous users. + Anyone can submit a subscribe/unsubscribe request via + www interface. - FML::Article::Outline - fixed::typo: add_outline_to_header_field -> add_outline_to_header - - variables - add new entry on "isolatation" related variables. - define $isolated_queue_dir and $isolated_queue_expire_limit. - -2008/08/23 - - clean up documents (continued) - remove recipes and faq, tech category. - merge recipes to tutorial. - -2008/08/21 - - clean up cpan/ - IO::Stringy removed since it is not used. - -2008/08/20 - - tutorial(jp) overhaul-ed. - -2008/08/17 - - FML::Process::Command - [bug fix] - check isolated or ignored precisely and determine the final action. - -2008/08/15 - - documents being updated. - -2008/08/14 - - variables - bug fix create-on-post default configuration. - update and complete descriptions. - sort definitions. - remove "permit_createonpost_maintainer_maps", which is not defined. - remove duplication in descriptions. - -2008/08/13 - - FML::Process::CreateOnPost - bug fix::fix internal arguments passing bug to handle sender - information correctly. - save sender candidates in PCB. - -2008/08/07 - - anoncvs.fml.org changed to support anonymous cvs over ssh. - fml/bin/anoncvs changed. - documents updated. - -2008/08/03 - - bump up version to 7.98.13 - isolation or quarantine mode implemented and enabled by default. - "isolate" instead of "reject" spam or unknown messages +7.98.13 "isolate" instead of "reject" spam or unknown messages by default. - - 変なメール(まぁはっきり言えば、ほぼ全部 SPAM)は、今まで - *_restrictions のルールの最後が reject のため、敵に返事を - 送ろうとしてしまっていたが、デフォルトを isolate に変更。 - - とりあえず受けとり、隔離キューに入れる動作にした。 - - 隔離キューのレポートなどは、まだ未実装。 - - variables - support directives (isolate_system_special_accounts - isolate_spammer_maps isolate) for $article_post_restrictions and - $command_mail_restrictions. - - Mail::Delivery::Queue - create isolated queue, too. - FML::Process::Command - fixed that isolate operation works. +7.98.12 delivery system error handling fixed. -2008/07/20 +7.98.11 ignore in restrictions supported. - FML::Process::Utils - define incoming_message_dup_content() and - incoming_message_isolate_content(). - - FML::Process::{Command,Distribute} - isolate the current incoming message if matched - - FML::Restriction::Post - define isolate_system_special_accounts() and - isolate_system_accounts(). - -2008/07/16 - - [isolate_XXX 命令シリーズ創設案] - - 2008/07/06 の各 restrictions (例: 投稿、コマンドメール)で - reject のかわりに isolate と ignore を使えるようにし ... - は、いいのですが、reject_system_special_accounts 命令は - どうすればよいのでしょう? - - isolate_system_special_accounts ってのを創設すれば良いですね? - - ほえ_restrictions にある reject なんとか命令をすべて isolate へ - 書き換えてしまえば、一番素直な拡張だと思える。 - - $*_restrictions =~ s/reject/isolate/g; - - -2008/07/06 - - 各 restrictions (例: 投稿、コマンドメール)で reject のかわりに - isolate と ignore を使えるようにし、デフォルトを reject から isolate - へ変更します。 - - isolate 命令は ignore + 一定期間保存(隔離)相当の機能です。 - 拒否の返事をせずに、メールを保存し、一定期間後に削除します。 - - 補足: 最初 hold 命令を、この意味で使おうとしましたが、それだと - Postfix の hold と意味が違ってしまうので、それは廃止。hold は - 予約語として、そのまま(実態がない命令なので書いても何も起こら - ないので注意)。 - - FML::Process::{Distribute,State} - FML::Restriction::Post - define "isolate" operation template. - - "isolate" differs "hold". - "isolate" sets apart spam candidates from normal incoming messages, - whereas "hold" moves the incoming message to "hold" queue, which does - not move until someone changes the state. - -2008/07/05 - - FML::Restriction::CreateOnPost - fixed: add missing use FML::Restriction::Post - -2008/07/04 - - FML::Process::State - define restriction_state_{set,get}_hold_reason() - - FML::Restriction::Post - define hold() and discard() - -2008/06/29 - - CREATE-ON-POST 機能では、動的にMLの作成、メンバーの追加が - 出来るわけですが、MLの作成が可能なユーザの制限を可能としました。 - - FML::Credential - implement is_ml_domain() method. - fix debug and pod descriptions. - - FML::Restriction::Post - implement permit_ml_domain() - - FML::Restriction::CreateOnPost - define permit_createonpost_newml_maps - - FML::Process::CreateOnPost - "who can do newml operations" code is rewritten to use of - createonpost_newml_restrictions. - - variables - define $createonpost_newml_restrictions. - define $createonpost_newml_maps. - remove $createonpost_maintainer_maps. - -2008/06/08 - - create-on-post enhanced. - define $createonpost_maintainer_maps - - FML::Process::CreateOnPost - clean up. fix comments. - restrict who can create a new ML. - - FML::Credential - define is_valid_map() method - - configurations - define $createonpost_maintainer_maps - - -2008/05/25 - - switched to configure 2.62 based - configure.in - configure - show datarootdir - - fmlsrc/config.sh.in - fmlsrc/fml/etc/{install.cf.in, main.cf.in} - datadir -> datarootdir - -2008/05/11 - - project restarts (crash and fsck;) ends, orz). - TEST: switched to a new source changes system. - -2006/12/03 +7.98.10 delivery system overhaul sequal. - overhaul continues ... (slowly ;_;) ... - ちょっとずつオーバホール継続中 - - FML::Command::Admin::reviveml - fix comments. - ensure initial value. - add assert. - show more error messages. - - FML::Command::Admin::mergeml newcopml newdomain rmcopml rmdomain - fix comments. - ensure initial value. - -2006/11/26 - - FML::Sys::Alias - fix comments. - remove a unused local variable. - set the upper limit of recursive call _expand(). - - FML::Sys::User - fix comments. - add the label to a loop. - define debug code by myself. - - FML::Process::Fake - fix comments. - fix help message. - change a local variable name to more proper one. - - FML::Credential - fix comments (FNF). - ensure initial value. - use more proper local variables. - - FML::Mailer - fix comments. - fix error logic. - - FML::Moderate - fix comments. - correct argument definitions. - -2006/11/19 - - FML::Error::{Analyze,Cache} - FML::Error::Analyze::{histgram,simple_count } - fix comments. - use more proper variable names. - - FML::Header::MessageID - fix comments. - ensure initial value. +7.98.09 delivery system overhaul -2006/11/13 +7.98.08 correct context switch. + address validation in smtp transaction. - FML::Error - fix comments - ensure variable initialization. - define $mname and use it in log messages. +7.98.07 confirmation + manual subscribe/chaddr/unsubscribe + manual subscribe/chaddr/unsubscribe - FML::Envelope - fix comments - use FML::Credential->is_same_assress() to compare addresses. - move variable definitions to the block using it more nearly. +7.98.06 fundamentals of moderator mode implemented. -2006/11/12 - - FML::IPC::Queue - more debug messages. - enhance debug patterns. - -2006/10/22 - - FML::Body - more error logs. - move $curproc definition to near message logging. - - FML::PCB - use gloval_ prefix for package gloval variable: - current_context -> global_current_context - - FML::Command::{Auth,DataCheck,Filter,Syntax} - clean up. fix comments. - - FML::Command::DirUtils - fix comments. - move definitions to near the codes. - use more proper variable names. - - FML::Command::FileUtils - fix comments. - move definitions to near the codes. - use more proper variable names. - - FML::Command::HTMLify - fix comments. - use more proper variable names. - - FML::Command::Message - fix comments. - define the default message. - - FML::Command::QmailExt - fix comments. - permit case insensitive commands. - more error messages. - validate temorary message file more. - -2006/10/14 - - etc/command_line_options - FML::Demo::{Chart,Project} - FML::Process::Project - fmlproj::GanttProject XML format extension. - --xml options - dump GanttProject XML format by default. - - FML::Article::Summary - fix importation - -2006/10/10 - - FML::Confirm - fix comments. - rename private variables to more proper ones. - remove not used private variables. - -2006/10/08 - - ちょっと体調がよくなってきたので、 - レビュー、クリーニングを再開しました。 - - -2006/09/24 - - FML::Demo::Chart - fix initialization code. - _shrink_date() for column list. - sort main data before printing. - - FML::Demo::Project - FML::Demo::Language::Japanese - NL-ify (use FML::Demo::Language if needed) - enabled to expand YY::DD-YY::DD form to date list. - cosmetics. - status and misc support. - -2006/07/09 - - オーヴァホールはじめた… - -2006/06/10 - - TinyMTA - デバッグおよび、ちょっと(インチキだけど)MTAもどきを使いたい場 - 合に便利 - - -2006/06/25 - - へんな SPAM でコマンドが落ちたりするのが直ったはず。 - - FML::Command::DataCheck - FML::Process::Command - validate if find_first_plaintext_message() returns object. - -2006/05/22 - - Mail::Message::ToHTML - _update_montly_thread_index_master() rewrite same logic - using _update_id_montly_index_master() - -2006/05/17 - - fml4 to fml8 変換 97 % 終了 - - メッセージテンプレートをいくつか追加 - -2006/05/16 - - 登録可能なユーザ数の制限をかけられるようにしました。 - fml4 の $MAX_MEMBER_LIMIT にあたるものです。 - #って、そんな機能欲しいのは ISP くらいかも :-) - - variables - define $*_total_limit - - FML::User::Control - define get_user_total(), return the total number of addresses - in list. - - FML::Command::Admin::subscribe - check the number of users in {member,recipient}_maps exceeds - the limit. - -2006/05/14 - - FML::Envelope - envelop based loop check - -2006/05/13 - - variables - cksum -> checksum - - FML::Process::Kernel Utils - FML::Body - enable body based loop check - -2006/05/11 - - Mail::Message::Checksum - restructured. - define md5_str_ref() too, same as md5(). - implement md5_file() - -2006/05/09 - - variables - reject_spammer_maps directive available now. - define dummy $primary_spammer_map and $spammer_maps. - - add envelope loop checks - - FML::Restriction::Post - implement reject_spammer_maps() - - FML::Credential - define is_spammer() - - FML::Process::Error - restructure qmail-ext command emulation. - - currently libexec::error traps the request and switch the - context to command process. FML::Process::QMail no more used. - FML::Command::QmailExt provides qmail-ext emulation functions. - - etc/dot-qmail-admin - bug fix: add missing calling of libexec::error process. - -2006/05/04 - - いろいろな機能の expire を整備しました。 - - variables - define $welcome_file and $deny_file. - % format of strftime(3) is available for $log_file - - FML::Log - expand % format in $log_file by strftime(3). - ログファイルに log.%C%y%m%d などといった日付がつけられるように - なりました。 - - FML::Process::Debug - define incoming_message(), which returns undef as a dummy. - - FML::Process::Distribute - expire article under locked - - FML::Process::Kernel - change default message subject to "message from $ml_name ML - $myname system". - call $queue->expire() in incoming_message_cleanup_queue(). - - FML::Article - FML::Article::Summary - expire article summary (remove content, corresponding with expired - articles, in summary). - - FML::Moderate - expire too old submitted queue after $moderate_queue_expire_limit. - - FML::Command::Admin::subscribe - send back welcome file in subscription when running under - CGI/MTA process. - - FML::Command::User::confirm - move "send welcome message" code to - FML::Command::Admin::subscribe class. - - FML::Command::SendFile - bug fix::pass recipient information to reply_message_nl(). - - FML::Command::User::admin - fix typo::$use_admin_command_mail_fucntion - - Mail::Delivery::Queue - constuctor imports $expire_limit in the argument. - - delete() and remove() can accept queue id if specified. - - define expire() which removes too old queue files in the specified - queue. It expires all queue if $class unspecified. - - expire()::cleanup() is overhauled. queue removing is done by remove(). - - define {set,get}_expire_limit() access methods. - -2006/05/03 - - variables - define $use_article_summary_file_expire - define $use_article_expire and $article_expire_limit - define $moderate_queue_expire_limit - fix typo: $use_admin_command_mail_function - - FML::Article - implement expire(), which function expires too old articles. - modify log messages - - FML::Process::Distribute - try to expire articles once per day if enabled. - -2006/05/02 - - variables - define $confirm_command_expire_limit (= 14d by default). - - FML::Config - implement as_second($key), which returns the value as seconds - such as 86400 for '1d'. - - FML::Command::User::confirm - modified to use $confirm_command_expire_limit which value is - converted to the integer by as_second() method of FML::Config. - - FML::Restriction::Command - changed that permit_forward_to_moderator() returns - ("matched","ignore"). - -2006/04/30 - - FML::Merge::FML4::RULES.txt - 83 % checked. - - FML::Merge::FML4::config_ph - support for LOGFILE_NEWSYSLOG_LIMIT and XMLNAME - -2006/04/28 - - Mail::Delivery::Queue - fix open() mode::r -> < - -2006/04/22 - - 7.98.12 released. - - 配送システムの見直し(1) 2006/04/22 - 2006/04/20 - エラーリセットのタイミングを変更 - IPv6 対応部分のエラーを修正 - - FML::Process::Utils - FML::File::Rotate - FML::File::Rotate overhaul-ed. access method changed. - - variables - variable name changed due tu overhaul of FML::File::Rotate. - $log_rotate_size_limit - $log_rotate_archive_file_total - - FML::Process::QueueManager - Mail::Delivery::SMTP - message modified (unified among modules) - - FML::Process::Flow Kernel - runs operation on log files (currently log rotation). - -2006/04/21 - - Mail::Delivery::SMTP - fix error reset timing. - show more useful info in log message. - - FML::Process::QueueManager - log as status=deferred not status=fail when the delivery fails. - -2006/04/20 - - Mail::Delivery::SMTP - Mail::Delivery::Net::INET6 - try to connect(2) $mta by IPv6 if (1) we can use Socket6 and (2) mta - is not pure IPv4 syntax (Iv6 syntax or hostname). - - IPv6 module, which should be fully rewritten in the future, exports - parse_mta6() and is_pure_ipv4_syntax(). rewritten to use them. - -2006/04/18 - - FML::Header::MessageID - $Counter -> $global_counter, easily identified as a global - variable. - base address is ( $article_post_address || $maintainer ). - fix style. - - FML::Process::Kernel - logging system enabled by default - -2006/04/17 - - ダミーの rewrite_message_id メソッドを実装した。 - TODO: 将来、MLオリジナルの Message-Id: をつけられるようにする。 - - FML::Header - variables - define dummy rewrite_message_id() method and the rewrite rule. - this method does nothing by default (pass the original message - id as itself). - - FML::Process::Debug - define logdebug() - -2006/04/16 - - 変数名を分かりやすくするなど、クリーニング - - FML::Filter::TextPlain - Mail::Bounce::DSN Postfix19991231 Qmail SimpleMatch - Mail::Message - Mail::Message::ToHTML Outline - nuke ambiguous method and variable name. - num_paragraph() -> paragraph_total() (XXX see "Code Complete"). - each variable holding this return value is fixed to $total. - - FML::Command::User::get - clean up variable name style. - - Mail::Message::ToHTML - fix variable name syntax::_num_attachment -> _num_attachments - - Mail::Delivery::SMTP - fix variable name::num_rcpt -> rcpt_total - - FML::Article::Spool - fix variable names: - num_file -> num_files - num_dir -> num_dirs - -2006/04/11 - - 投稿時もしくはコマンドメールの処理で不正なリクエストを無視するディ - レクティブを書けるようにした。主に SPAM を無視するため。微修正。 - - variables - ${article_post,command_mail}_restrictions support - {ignore,ignore_invalid_request}. - - FML::Process::Distribute - apply filter system to avoid useless work if distribution is - allowed. - - temporarily disable logging system before calling - is_permit_post() at filter check. - - FML::Process::Kernel - define log_{enable,disable}() to enable::disable logging - system. - -2006/04/10 - - 投稿時もしくはコマンドメールの処理で不正なリクエストを無視するディ - レクティブを書けるようにした。主に SPAM を無視するため - - 例: 有効なコマンドでないなら無視。 - メール全体で一つも有効なメールがない場合は返事も返さない。 - command_mail_restrictions = reject_system_special_accounts - permit_anonymous_command - permit_user_command - ignore_invalid_request - reject - - FML::Restriction::Post - define ignore() and ignore_invalid_request() methods. - - FML::Restriction::Command - define ignore() and ignore_invalid_request() methods. - assert - - FML::Process::State - define restriction_state_set_ignore_reason() and - restriction_state_get_ignore_reason() methods. - - FML::Process::Command - enhance restriction checks for invalid contents to determine the - action against such content. - -2006/04/05 - - IO::Adapter - IO::Adapter::File - trylock() (lock( { wait => TIME }) implemented - - Mail::Delivery::Queue - fix usage of logging. - trylock() is available, too. - validate stat() object before using it. - mask some debug messages - - Mail::Delivery::SMTP - fix fallback algorithm::we need not do fallback for the queue already - on the queue. - - bug fix loop check counting. - bug fix queue_directry info handling. - - prepare several acess methods::_is_map_in_queue(), - _set_queue_directory(), _get_queue_directory(), set_not_done(), - get_not_done(). - - FML::Mailer - modifieid to sync w:::Mail::Delivery::Queue changes. - + use recipient_maps as an argument to Mail::Delivery system. - + pass queue object to Mail::Delivery system. - + check if delivery is DONE or not by get_not_done(). - - FML::Process::Kernel - queue_flush() takes no argument - - FML::Process::Distribute - modifieid to sync w:::Mail::Delivery::Queue changes. - + more fast lock - + pass log function pointers. - + pass queue object to Mail::Delivery system. - + check if delivery is DONE or not by get_not_done(). - - FML::Process::QueueManager - modifieid to sync w:::Mail::Delivery::Queue changes. - pass log function pointer to Mail::Delivery system. - -2006/04/04 - - Mail::Delivery::Queue - define set_sleep_count, get_sleep_count, set_retry_count and - get_retry_count. - rewritten by using them. - - FML::Process::QueueManager - queue validation logic modified. - -2006/04/03 - - Mail::Delivery::SMTP - check the number of effective MTA. - tune retry max limit (XXX a lot of todo around this). - fix retry handling (now we use cost penalty by rollback). - style::not use $_xxx in loop - - Mail::Delivery::Queue - ensure lock::unlock return value - bug fixed to lock new or lock queue file, not active queue. - - IO::Adapter - consider context switch - - FML::Mailer - enable fallback - -2006/04/02 - - Mail::Delivery::SMTP - overhaul. - o subroutine-ify. - o more error check and assertion. - o fix comments. et.al. - fix error handling (do not trap normal condition) - - Mail::Delivery::Queue - fix typo. - check lock status. - - FML::Log - clean up input buffer (nuke \s+$) - -2006/04/01 - - Mail::Delivery::Queue - overhaul - -2006/03/29 - - Mail::Message::ToHTML - change monthly_index.html's table output in - _update_id_montly_index_master(). - see also fml-devel 798. - -2006/03/26 - - Mail::Delivery::Base - define [sg]et_address_validate_function() - - FML::Mailer - FML::Process::Distribute - use $curproc->log() as log_info and $curproc->logdebug() as log_debug - in Mail::Delivery, by passing log_debug function pointer to - Mail::Delivery class. - - Mail::Delivery::Net::INET4 INET6 - fix arguments: - + connect{4,6}() accepts $mta. - + remove not used arguments. - -2006/03/25 - - Mail::Delivery::Base - fix comments. - fix usage of ->log*() - -2006/03/24 - - Mail::Delivery overhaul (1). - - Mail::Delivery - fix comments. - - Mail::Delivery::Net::INET6 - overhaul. - + more use of access methods. - + change method name to more proper one. - - Mail::Delivery::Net::INET4 - overhaul. - use $self->log*() instead of Mail::Delivery::Utils. - - Mail::Delivery::Queue SMTP - overhaul. - more access method based. - - FML::Mailer - FML::Process::Distribute QueueManager - rewritten to use access methods to sync w:::Mail::Delivery overhaul. - -2006/03/23 - - Mail::Delivery::SMTP - if EHLO fails, try HELO. - -2006/03/21 - - FML::Mailer - FML::Process::Distribute - Mail::Delivery::SMTP - validate format of recipient within smtp transaction. - - Mail::Delivery::ErrorStatus - define {set,get}_error() - - Mail::Delivery::Queue - fix type in queue_id generator - - Mail::Delivery::SMTP - bug fix starting position in fallback process. - -2006/03/20 - - FML::Merge::FML4::RULES.txt - 56.5 % verified. status and rules updated. - - FML::Merge::FML4::config_ph - fix conversion for address variables. - add conversion of REJECT_ADDR and SKIP_FIELDS. - fix HOST and PORT handling. - apply _fix_path() for *_FILE variables. - add conversion of INCOMING_MAIL_SIZE_LIMIT with ATOI suport. - - etc/compat/fml4/default_config.ph - - by default, define ___NULL___ for the following variables: - $PERMIT_POST_FROM - $REJECT_POST_HANDLER - $PERMIT_COMMAND_FROM - $REJECT_COMMAND_HANDLER - $REMOTE_ADMINISTRATION_REQUIRE_PASSWORD - $USE_DISTRIBUTE_FILTER - $FILTER_NOTIFY_REJECTION - $FILTER_ATTR_REJECT_COMMAND - $FILTER_ATTR_REJECT_2BYTES_COMMAND - $FILTER_ATTR_REJECT_INVALID_JAPANESE - $USE_ERRORS_TO - $APPEND_STARDATE - $AUTO_HTML_GEN - $USE_NEW_HTML_GEN - -2006/03/19 - - fml 4 から fml 8 への変換 - 56.5 % 確認 - - variables - define $article_header_list_software - define $mail_header_default_list_software - $default_umask -> $system_default_umask - - FML::Header - List-Software: and X-MLServer: is set as - ${mail_header_default_list_software} or - ${article_header_list_software} by definition. - - sort definition order: _get_header_type(), ... - - FML::Process::Distribute - $use_smtp_log enable/disable smtp transaction logging. - -2006/03/12 - - variables - define $maintainer_signature (not used now). - define $article_header_* and $mail_header_default_* variables. - rewritten to use $mail_header_default_* for outgoing_*. - - FML::Process::Kernel - pass {mode => default} parameters to FML::Header object by default. - - FML::Header - rewrite logic to generate list-* header field to sync w:::new variable - definitions::article_header_list* et.al. - - FML::Merge::FML4::Makefile - define printok::print_ok rules - - FML::Merge::FML4::config_ph - save default value for later use in evaluating default_config.ph. - overhaul algorithm to fix path. - changed to use _fix_path() if needed. - -2006/03/06 - - variables - define $use_admin_command_mail_fucntion ("no" by default). - -2006/03/05 - - refactoring: use of command context object based. - - FML::Command::User::admin - FML::Process::Command State - FML::Restriction::Command - FML::Context::Command - command context information switched to use of - FML::Context::Command object. - - FML::Command::Admin::* - FML::Command::User::* - FML::Command Error - FML::Article::Spool - FML::CGI::List ML User - FML::CGI::Skin::Base - FML::Command::Auth DirUtils FileUtils Message SendFile Syntax - FML::Context::Command - FML::Fault::Address - FML::ML::Control - FML::Process::Command Configure - FML::Process::CGI::Kernel - FML::User::Control - $command_args -> $command_context (OBJ), method style - changed to command_context object based. - - FML::Command::User::admin - duplicate FML::Context::Command object by object dup method - not by myself. - - FML::Context::Command - implement dup() method. - -2006/02/18 - - FML::User::Control - always update user infomation db. - update gecos and action date if operation runs under MTA, but - update only date in other cases. - - FML::User::DB - define add() and set() - - FML::User::Info - rename method::add(HASH_REF) -> set_header_info($address) - -2006/02/15 - - FML::Error - FML::Command::Admin::reviveml rmcl rmml - FML::Error::Analyze - FML::Error::Analyze::histgram simple_count - FML::ML::Control - FML::MTA::Control - FML::MTA::Control::Postfix Procmail Qmail Sendmail - FML::Process::Error Kernel Utils - Mail::Message::Utils - fix method name::remove -> delete - - Mail::Delivery::Queue - define delete() as an alias of remove() - -2006/02/05 - - FML::Header - implement raw level insert_message_id_cache() method to access - cache more directly. - rewritten to use it. - - FML::Process::Kernel - add a new message-id to the outgoing message fml8 generates and cache - it in our message-id database for further loop check. - - FML::Process::CreateOnPost - ignore *-ctl and *-admin addresses as a ML one. - implement reject_list_header_field derective. - - FML::Process::CreateOnPost - comments on _is_ml_address() logic: if you create xxx-ctl or - xxx-admin ML, it should be allowed. - - variables - $createonpost_sender_restrictions += reject_list_header_field - -2006/02/04 - - CREATE-ON-POST implemented. - CREATE-ON-POST は「動的にMLを生成」する仕組みです。 - - 存在しないMLに投稿すると fault がおき、fault handler が - MLの生成処理を行なう。アドレスの登録も fault で行なう。 - メカニズムとしては fml4 エミュレータの fallback 処理と同じ。 - - ml fault 存在しないMLなら、MLを作る - - address fault アドレスが登録されているか?を調べ - 未登録の場合には登録処理をする - (走り始めた配送プロセスが fault を処理)。 - - variables - define CREATE-ON-POST function. - - FML::Config - context switch safe - fix comments (FNF) - - FML::Header - return <> for error mail sender - - FML::PCB - context switch safe - - FML::ML::Control - FML::MTA::Control - implement createonpost function dispatcher - - FML::MTA::Control::Postfix - Postfix specific CREATE-ON-POST operations. - - FML::MTA::Control::Qmail - qmail_install_alias() install ~fml::.qmail-* files not qmail_setup() - method. - - FML::Process::Utils - define several methods around $0 handling, address fault handling and - context switching. - +set_process_title() - +get_process_title() - +set_address_fault() - +get_address_fault() - +is_address_fault() - +set_address_fault_list() - +get_address_fault_list() - +context_switch_get_context() - +context_switch_set_context() - - FML::Process::Distribute - FML::Fault::Address - address fault handling - - FML::Process::Configure - use $curproc->{ml_name,ml_domain}() method. - $command_args includes ml_domain info. - - FML::Process::Kernel - initialize context information when constructor runs. - - FML::Process::Switch - prefer $hints if specified for argv, ARGV and options. - support context switching in executing new (child) process. - - FML::Command::Admin::rmml - use $command_args->{ ml_name } and $command_args->{ ml_domain }; - - FML::Command::Admin::newml - use $command_args->{ ml_name } and $command_args->{ ml_domain }; - not udpate alias relates information if update-alias = no specified. - -2006/02/03 - - FML::Config - define {set,get}_context() method. - -2006/01/24 - - 各種テスト、オーヴァホール - -2006/01/19 - - いろいろとレシピ’sを書く、書く、書く… - - fml4 emulator tool added. - -2006/01/15 - - いろいろとレシピ’sを書く、書く、書く… - - FML::Process::Utils - implement policy_ignore_this_message(), policy_reject_this_message(). - -2006/01/13 - - FML::Process::Utils - is_config_cf_exist() evals the statements. - - implement is_fml8_managed_address() which checks the given address is - either of fml8 managed ml addresses. - -2006/01/12 - - ドキュメント: Reply-To: hacks をいろいろ書いておきました。 - - FML::Demo::Calendar - on the format of files in ~/.schedule/ directory. - -2006/01/09 - - FML::Header - add rewrite_subject_tag() equal to rewrite_article_subject_tag(). - rewrite_reply_to_enforce_article_post_address() - fix comments. - - variables - $article_header_rewrite_rules supports more 2 rules: - + rewrite_subject_tag - + rewrite_reply_to_enforce_article_post_address - -2006/01/08 - - FML::Merge::FML4::config_ph - add prototype to translate PERMIT*_FROM and REJECT_*_HANDER - combinations. - -2006/01/07 - - variables - +chaddr_command_operation_mode = automatic - +subscribe_command_operation_mode = automatic - +unsubscribe_command_operation_mode = automatic - - FML::Command::User::subscribe chaddr unsubscribe - FML::Command::Message - move location of reseting compare_level. - - rewritten to call FML::Command::Message->send_notification() not - direct reply_message() calls in Command::User:::class. - - send_notification() works differently according to the value of - $XXX_command_auth_type variable. - - FML::Command::User::confirm - Accoding to ${command}_command_operation_mode, it works differently. - - 1. XXX_command_operation_mode == automatic, fml8 do subscription - et.al. automatically. - - 2. XXX_command_operation_mode == manual, notify "the request is - confirmed" to $maintainer, who do actual subscription et.al. - - FML::User::Control - use reply_message() in chaddr operations to send back log. - -2006/01/04 - - fml 4 -> 8 変換ルール生成プログラムのバグを修正した。 - - FML::Merge::FML4::config_ph - change diff() return value to ($config, $diff), ARRAY of HASH_REF's. - add debug codes. - - FML::Merge::FML4::Rules - regen::converter fixed. - - fml4to8::configtest.pl - follow change of diff() return value. - croak() if eval() fails. - - gen_rules.pl - 2nd generation prototype::check diff between default_config.ph and - config.ph and translate rules bsaed on config.ph vlaues. - - fix copyright of module header template. - - modify private function names. - fix bug of output indent level. - croak() if unknown rule found. - - modify initialization logic. - add missing comments. - check the current key in appling if() conditions. - - modules - updated to File::MMagic 1.25 - -2006/01/02 - - FML::Merge::FML4::RULES.txt - new keyword system. - fix some rules. - - FML::Merge::FML4::Rules - regen - -2006/01/01 - - あけましておめでとうございます。今年の目標は official release なん - だけど… - # fml 4 直接エミュレータ以外は全部できてるつもりなんだけど - - remove not-used modules. - Class::NamedParms - Class::ParmList - AsciiDB::* - - FML::Merge::FML4::config_ph - pass $config to translation*() methods. - support MODERATOR_MEMBER_LIST, ADMIN_LOG_DEFAULT_LINE_LIMIT. - implement translate_not_yet_implemented(). - clean up. - modify comments. - -2005/12/31 - - fml 4 to 8 コンバータのルール解釈ルーチンは間違ってます。 - 修正中。冬休み中に直せるかな? - -2005/12/19 - - モデレータモードのバグとり - - FML::Process::Distribute Kernel - change is_permit_post() retruns action string not number to - support 3 permit/ignore/deny states. - - FML::Moderate - remove moderation queue if distribution succeded. - - FML::Restriction::Post - permit_forward_to_moderator() returns (matched, ignore) - - モデデータからのメールなら投稿を許す命令を追加。 - 考え用によっては一番単純なメールマガジンはこれを使えば良い(推奨はしない) - - FML::Credential - implement is_moderator_member() - - FML::Restriction::Post - implement permit_moderator_member_maps(). - -2005/12/18 - - モデレータモードの基本的な実装を行なう - - variables - fetchfml_queue_dir = $var_dir/mail/queue-fetchfml - define moderation definition::enable, queue_dir - - Mail::Delivery::Queue - enhanced dup_conent() to take two arguments. - - FML::Process::Switch - NewProcess() takes hints as args to overload configuration in - a new process. - - FML::Process::Utils - comment on incomplete dup_command_args - - FML::Restriction::{Command,Post} - implement permit_forward_to_moderator. - - FML::Command::User::confirm - pass _confirm_id information to called process. - support "moderate" command. - - FML::Process::Kernel - workaround::unlock() call lock object via IO::Adapter if saved - object undefined. - - bug fix loop check functions to check enabler variable definition. - - FML::Moderate - o fix comments. - o if (defined ) { .. open .. } - - FML::Confirm - implement id(), set(), get() - - FML::Command - add more debug codes - -2005/12/17 - - FML::Process::FetchFML Switch - not need to pass $args to FML::Process::Switch::NewProcess() which - fake $args by $curproc->dup_curproc_args(). - - FML::Process::Utils - implement dup_curproc_args() template - -2005/12/16 - - FML::Command::User::digest - fix duplicated definition. - -2005/12/10 - - FML::Credential - IO::Adapter::PCRE - pass hints to IO::Adapter to return matched address. - -2005/12/09 - - IO::Adapter - IO::Adapter::PCRE - pcre: support - -2005/12/01 - - FML::Process::Utils - define credential() method - - FML::Command::Admin::changepassword addrecipient digest - off on addmember - FML::Command::User::admin chaddr digest off on subscribe unsubscribe - FML::Command::Auth - FML::ML::HomePrefix - FML::Process::Command Distribute Kernel QueueManager - FML::Restriction::Command Post - FML::Filter Error - FML::Process::Digest Error Utils - use $curproc->credential(); - - FML::Credential - use $address_compare_function_domain_matching_level - - -2005/11/19 - - ドキュメンテーション - レシピ一覧を作るようにしてみました。 - 「FML バイブル」のレシピコレクションを参考にしてレシピを追加中 - ですが、未実装のものは未実装と書いてあります。 - - fml/utils/bin/listup_recipes.pl - generate list of recipes - -2005/10/29 - - variables - change naming of $article_thread_outline_rules. fix comments. - add $article_thread_outline_* - - ドキュメンテーション - 「FML バイブル」のレシピコレクションを参考にしてレシピを追加中 - -2005/09/17 - - FML::Filter::TextPlain - is_signature() and is_citation() switched to - Mail::Message::String based. - - FML::Article::Thread - eval use .. - - FML::Article::Outline - check method existence before calling. - rename method names. - -2005/09/13 - - FML::Article - FML::Article::Outline - FML::Process::Distribute - changed to FML::Article->add_outline($tdb_args) style. - -2005/09/11 - - スレッドまわりの改造中 - - variables - rename: $*_overview -> $*_outline - - Mail::Message::Thread - define DESTROY() - - Mail::Message - Mail::Message::Outline - Mail::Message::Language::Japanese::Outline - move thread outline generator codes to Mail::Message::Outline. - correct error messages (Mail::Message). - - FML::Process::Distribute - FML::Article::Outline - move thread outline generator to FML::Article::Outline - -2005/09/01 - - FML::Article::Thread - remove obsolete codes. - - private-ify::psw_*() -> _psw_*(). - - use article_summary cache as coudl as possible. To clean up - around the codes, some codes are separeted to _generate_summary(). - - fix comments and documents. - - strict check of $status code. - - implement get_overview($id, $thread_args). It returns string holding - article short summaries of a thread for this article $id. - - FML::Process::Distribute - article_thread_overview support. - - variables - preliminary definitions for article thread overview. - +article_thread_overview_greeting - +article_thread_overview_greeting_en - +article_thread_overview_greeting_ja - +article_thread_overview_rules - +use_article_thread_overview - -2005/08/31 - - Mail::Message - implement new method prepend(), append() and - whole_message_body_tail(). - fix charset() logic to handle plural header field lines. - - Mail::Message::DB - implement find_head_key(). - add() updates article_summary database, too. - - FML::Article - implement append() and prepend() methods. - - FML::Process::Utils - langinfo_get_charset() uses Content-Type::information as a hint - when Accept-Language::is not specified. - -2005/08/27 - - Mail::Message::DB - define open() and close() - - FML::Filter::TextPlain - use $msg->message_chain_as_array_ref() instead of $mp->{ next } form. - -2005/08/25 - - Mail::Message::Thread ToHTML - renamed::db->analyze() => db->add() - - Mail::Message::DB - renamed methonds: - o analyze -> add - o db_open -> _db_open - o db_close -> _db_close - -2005/08/23 - - IO::Adapter +7.98.05 add reviveml command (to revive a removed ML). add PostgreSQL support. add LDAP support. - IO::Adapter::MySQL - $sql_server -> $sql_servers. - enhanced to handle a list of dsn. - fix comments. - - IO::Adapter::DBI - change dsn to form "DBI:$driver:dbname=$database;host=$host". - always $dbh->commit(); - enhanced to handle a list of dsn and to retry sql servers if needed. - DBI->connect with { AutoCommit => 0 } option. - - FML/Command/Admin::reviveml - revive a removed ML. - - FML::CGI::ML - add & enable reviveml in cgi - - FML::Process::FetchFML - handle $fetchfml_pop_servers - - FML::MUA::POP3 - remove message when the message retrival succeeded. - - FML::Log - $log_syslog_host -> $log_syslog_servers - - variables - $log_syslog_host -> $log_syslog_servers - $sql_server -> $sql_servers - -2005/08/20 - - FML::Filter::MimeComponent - FML::Header::Subject - Mail::Message::Language::Japanese::Subject - Mail::Message::Subject - cut_off -> cutoff - - FML::Config - FML::Config::Menu - merge_to_file -> merge_into_file - - FML::Merge::FML4::config_ph - var_dump -> dump_variable - - FML::Error - deluser() -> remove_address() - -2005/08/19 - - Mail::Message::DB ToHTML Utils - convension::from_to_name -> from_address_to_name - - FML::Filter - convert_to_mail_address($list); -> address_resolve($list); - - FML::Command::Admin::log - $curproc->output_{set,get}_print_style(). - - FML::Header::Subject - bug fixed (forgotten import of module ;-) - - FML::Process::Kernel - FML::Process::CGI::Kernel - set_print_style() -> output_set_print_style() - - FML::Process::Utils - which_map -> map_to_term - which_map_nl -> map_to_term_nl - - convert_to_mail_address -> address_resolve - - set_print_style -> output_set_print_style - get_print_style -> output_get_print_style - - FML::User::Control - which_map -> map_to_term - which_map_nl -> map_to_term_nl - - set_print_style -> output_set_print_style - get_print_style -> output_get_print_style - - FML::Process::FetchFML - FML::MUA::POP3 - FNF::pick_up_queue -> pickup_queue - - FML::Article::Summary - FML::Header - FML::Command::DataCheck - FML::Filter::TextPlain - FML::Header::Subject - FML::Process::Error Kernel State - Mail::Bounce::DSN Exim Postfix19991231 Freeserve GOO Qmail - SimpleMatch Smtpfeed - Mail::Delivery::Queue - Mail::Bounce - Mail::Message::DB Address - XXX_clean_up() -> XXX_cleanup() - -2005/08/18 - - FML::ML::Control - check ::etc::passwd only in the case of default domain. - follow changes of ml_home_dir_removed_path() arguments. - - FML::Process::Utils - change ml_home_dir_removed_path() and - ml_home_dir_find_latest_removed_path() argument order: - e.g. ml_home_dir_removed_path($curproc, $ml_home_prefix, $ml_name); - - removed_path format is changed to $ml_name.YYYYMMDD.COUNT style. - - FML::Header::Subject - exclude explicit code e.g. euc-jp and use - Mail::Message::Charset instead. - - FML::MTA::Control::Postfix - fix typo - -2005/08/17 - - FNF: adjust method naming convension. - - FML::Article::Thread - FML::Command::Admin::thread - FML::Command::HTMLify - FML::Process::Distribute - $curproc->thread_db_args(); -> $curproc->article_thread_init(); - - Mail::Message::Encode - str_dump() -> dump_string() - - FML::CGI::Calendar Thread - FML::CGI::Skin::Base - FML::Command::Admin::log - FML::Command::SendFile - FML::Process::CGI::Kernel - langinfo_XXX() e.g. langinfo_get_charset()... - - FML::Command::Admin::addmoderator addadmin delmoderator deladmin - addrecipient digest off on subscribe unsubscribe - addmember - follow changes of FML::User::Control::userXXX() -> user_XXX() - - FML::User::Info - import_from_mail_header() -> add() with args changed (nuke $curproc). - - FML::User::Control - align methond name user_XXX::changed userXXX() -> user_XXX(). - follow FML::User::Info changes (import_from_mail_header() -> add()). - - FML::MTA::Control::Postfix Procmail Qmail Sendmail - template_files_dir_for_newml() -> newml_command_template_files_dir(); - - FML::Cache::Ring - import_data_from() -> add(). - - FML::ML::Control - template_files_dir_for_newml() -> newml_command_template_files_dir() - removed_ml_home_dir_path() -> ml_home_dir_removed_path() - - FML::Process::Fake - change {set,get}_emul_XXX() to internal use (_method) - - FML::Process::Kernel - follow changes of FML::Cache::Ring. +7.98.04 minor fixes. clean up. + clean up method naming convension. - use langinfo_XXX(). - - moved lang_to_charset() and remove_too_old_files_in_dir() from - FML::Process::Utils to here and change lang_to_charset() and - remove_too_old_files_in_dir() to module internal use. - - FML::Process::Utils - removed_ml_home_dir_path -> ml_home_dir_removed_path - find_latest_removed_ml_home_dir -> ml_home_dir_find_latest_removed_path - template_files_dir_for_newml -> newml_command_template_files_dir - - set_language_hint -> langinfo_set_language_hint - get_language_hint -> langinfo_get_language_hint - set_charset -> langinfo_set_charset - get_charset -> langinfo_get_charset - set_accept_language_list -> langinfo_set_accept_language_list - get_accept_language_list -> langinfo_get_accept_language_list - - thread_db_args -> article_thread_init - - changed to internal use. - language_of_html_file -> _language_of_html_file - - move lang_to_charset() and remove_too_old_files_in_dir() to - FML::Process::Kernel. - -2005/08/15 - - FML::Log - use sprintf instead of "${name}[${pid}]:" to avoid error in - perl 5.6.x. - -2005/08/10 - - FML::Process::CGI::Kernel - FML::Process::Calendar Addr Alias ConfViewer Command - Distribute Configure Digest DocViewer Error HTMLify - Kernel Emulate Utils Fake PGP FetchFML - config_files_XXX() -> config_cf_files_XXX() to clarify the meaning. - - FML::Process::Emulate - FNF: generate_config_cf_from_config_ph -> - config_cf_generate_from_config_ph - - FML::Error - FML::Error::Analyze - FML::Error::Analyze::histgram simple_count - module internal variables are changed. - o summary() -> get_summary() - o removal_address() -> get_address_to_be_removed() - - FML::Config::Menu - FML::Filter::External::clamscan - FML::Filter::MimeComponent - FML::Process::Flow Kernel - s/temp_file_path/tmp_file_path/g; - s/tmp_files_clean_up/tmp_file_cleanup/g; - - FML::Process::Flow Kernel - s/incoming_message_queue_clean_up/incoming_message_cleanup_queue/g; - - FML::Process::State - current_process_ml_name_init() -> current_process_init(). - - IO::Adapter::DBI - $sql_QUERY -> $sql_query_QEURY - - variables - $sql_QUERY -> $sql_query_QEURY - -2005/08/09 - - FML::Filter - FML::Filter::MimeComponent - FNF: rename read_filter_rule_from_file() -> read_filter_rule_file(). - - FML::MUA::POP3 - Mail::Delivery::Queue - FNF: content_dup2() -> dup_content() - - Mail::Message::ToHTML - fixed function name: - o htmlfy_rfc822_message() -> htmlify_rfc822_message(). - o html_begin() -> html_start() - -2005/08/08 - - FML::Process::Kernel - FNF: if (defined $queue) { $queue->open( ... );} - - FML::Header - fix comments. - fix $addr_for_post -> $article_post_address. - enforce use of "return $value" form. - -2005/08/06 - - Mail::Message::Utils - define get_time_from_header() method (moved from Mail::Message::DB). - - Mail::Message::ToHTML - switched to use Mail::Message::Utils::get_time_from_header. - - Mail::Message::DB - overhaul: - [sg]et_db_module_name() -> [sg]et_db_module_class(). - get_time_from_header() -> _get_time_from_header(). - mov get_time_from_header() to Mail::Message::Utils class. - clean up. remove not used variable. - fix db_close(). - fix comments. - - FML::Process::PGP - bug fix: -h -> -l - -2005/08/03 - 7.98.3 English document revised. - -2005/07/01 - - FML::Process::Kernel - garbage collection runs only when valid ml_home_dir found. - -2005/06/27 - 7.98.3 Japanese document revised. - - 日本語のドキュメントをオーバーホールしました。 - -2005/06/04 - - 7.98.2 bug fix method naming convension (FNF). - - FML::MUA::POP3 - bug fix::check queue_id value itself, too - - FML::Process::Kernel - define _get_debug_level(), moved from FML::Process::Utils and - made private. - - FML::Process::Fake - switched to use FML::Process::Switch::NewProcess(). - bug fix pcb handling. - - FML::Process::Kernel QueueManager Error - $curproc->OBJ_METHOD() form (FNF): - [sg]et_event_timeout() -> event_[gs]et_timeout(). - - FML::CGI::User - moved get_address_list(), called only at this module, from - FML::Process::Utils to here. Also, it is changed to the private - method; get_address_list() -> _get_address_list(). - - FML::Process::CGI::Utils - move get_ml_list definition, used only here, to this module. - also it is changed to private. - - FML::Process::Utils - remove get_ml_home_prefix_maps() definition, which is not used. - - move definitions to proper module::get_ml_list(), get_address_list() - and get_debug_level(). - - FML::Mailer - FML::Article::Sequence - FML::Command::SendFile - FML::Config::Menu - FML::Process::Addr Alias Calendar Command ConfViewer - Configure Digest Distribute DocViewer Error FetchFML - Flow HTMLify PGP State Kernel Emulate Fake Utils - FML::Process::CGI::Kernel - method naming fixed to $curproc->OBJ_METHOD() form (FNF). - get_article_id -> article_get_id - set_article_id -> article_set_id - config_files_append_to_list -> config_files_append - append_to_config_files_list -> config_files_append_to_list - get_config_files_list -> config_files_get_list - load_config_files -> config_files_load - set_config_files_list -> config_files_set_list - verify_sender_credential -> credential_verify_sender - get_current_process_ml_name -> current_process_get_ml_name - set_current_process_ml_name -> current_process_set_ml_name - fix_perl_include_path -> env_fix_perl_include_path - parse_exception -> exception_parse - parse_incoming_message -> incoming_message_parse - clean_up_incoming_queue -> incoming_message_queue_clean_up - get_cui_menu -> menu_get_cui_config_file_path - get_gui_menu -> menu_get_gui_config_file_path - resolve_ml_specific_variables -> ml_variables_resolve - outgoing_message_open_channel -> outgoing_message_cache_open - open_outgoing_message_channel -> outgoing_message_open_channel - inform_reply_messages -> reply_message_inform - prepare_file_to_return -> reply_message_prepare_template - clean_up_tmpfiles -> tmp_files_clean_up - reset_umask -> umask_reset - set_umask_as_public -> umask_set_as_public - -2005/06/03 - - 7.98.2 queuing system revised. - - キューイングシステムの微修正 - - POP/IMAP による MTA+ML エミュレーションをサポート (fetchfml)。 - - この実装を試すことで、現在のキューイングおよびキャッシュシステ - ムが妥当かあるかどうかが分かります。基本構造は、そのままですの - で、本質的には変わっていませんが、2、3の拡張が必要でした。 +7.98.03 Japanese/English document overhaul/revised. - FML::PCB - fix dump_variables() for context based switching. - define {set,get}_current_context(). - - fetchfml - FML::Process::FetchFML added. - FML::MUA::POP3 added. - etc/command_line_options modules install.cf.in - add fetchfml definitions. - - variables - define fetchfml related variables. - $fetchfml_*_hook added. - - Mail::Delivery::Queue - fix args and comments of *_dir_path(). - implement local_{dir,file}_path(), content_dup2(), open() and close(). - queue_id = second + microsecond + pid + counter. - now other module can extend class for local use. - - FML::Process::Switch - alloc shared memory area in $args (shared_hash_get() uses). - implement NewProcess(). - - FML::Process::Kernel - incoming queue system revised. - o move some log to logdebug. - o not use queue file directly. instead use $queue->open() method. - o use incoming_message_set_current_queue() instead of - mail_queue_set_incoming_queue(). - o clean up incoming queue removal code. - - FML::Process::Utils - implement helper functions for incoming cache::queue system. - o incoming_message_set_current_queue() - o incoming_message_get_current_queue() - o incoming_message_stack_queue_for_removal() - o incoming_message_remove_queue() - - shared memory for IPC between parent and child $curproc processes. - o shared_hash_get() - - FML::Process::State - remove mail_queue_set_incoming_queue($queue), - mail_queue_get_incoming_queue(). - XXX alternative methods available in FML::Process::Utils. - - FML::Article - switched to use $curproc->incoming_message_get_cache_file_path(); - -2005/06/02 - - MIME-Base64 removed. - -2005/05/31 - - FML::Process::Kernel - "my $path = $obj->cache_file_path();" is wrong. old implementation - saves the FML::Cache::Ring file path for later use. But it is - ambiguous. When many processes (> modules) runs simultaneously, $path - may be overwritten by the next content. Instead, use $queue_file - since $queue_file (queue::incoming::ID) is unique. - - FML::Process::Kernel Utils - FML::Restriction::Post Command - fix naming convension (FNF). - set_incoming_message_cache_file_path -> - incoming_message_set_cache_file_path - get_incoming_message_cache_file_path -> - incoming_message_get_cache_file_path - -2005/05/30 - - Mail::Message::ToHTML - FML::Filter::TextPlain - use Mail::Message::Encode not MIME::Base64. - - Mail::Message::Encode - switch to use MIME::Base64::Perl not MIME::Base64 module. - define raw_decode_{base64,qp}(). - -2005/05/29 - - 投稿制限: PGP/GPG の電子署名を元にしたアクセス制御を可能にする - - variables - o define PGP related variables - pgp_config_dir gpg_config_dir path_gpgv path_gpgsplit - o define editors: vi, ng, mule, emacs, xemacs - - +path_gpgv - +path_gpgsplit - - remove $gpg_config_dir, $pgp_config_dir. - - define $article_post_{auth,encrypt}_{pgp,gpg}_config_dir and - ${admin_,}command_mail_auth_{pgp,gpg}_config_dir. - - add $fmlpgp_*_hook - - etc/command_line_options - etc/modules - etc/install.cf - define fmlpgp fmlpgp5 fmlpgpe fmlpgpk fmlpgps fmlpgpv fmlgpg - fmlgpgv. - - bin/ utilities added. - bin/* - etc/command_line_options modules - etc/install.cf.in - - add fmlgpg fmlgpgv fmlpgp fmlpgp5 fmlpgpe fmlpgpk fmlpgps - fmlpgpv. - - FML::Process::PGP - For convenience, create a conventional named dir (e.g. pgp-admin) and - symlink to the current style dir. - For example::pgp-admin@ -> pgp-admin-command-mail-auth - - FML::Restriction::Post - define check_pgp_signature, which permits article post when the - article has proper PGP::GPG signature. - - For example: - - article_post_restrictions = reject_system_special_accounts - check_pgp_signature - reject - - setup and reset environment more strictly. - etc/{pgp,gpg}-$role style naming ("_" -> "-"). - - FML::Command::User::admin - FML::Restriction::Command - ${admin,}command_mail_restrictions support "check_pgp_signature" rule. - Both restrictions uses same rule name but which needs different - keyring directories. So, we need to handle carefully the context of - two restrictions. - - FML::Process::State - definie command_context_set_try_admin_auth_request(), - command_context_reset_try_admin_auth_request() and - command_context_get_try_admin_auth_request() to handle context of - $*command_restrictions. - -2005/05/26-27 - - fml-devel を fml 7.98.1 とする。 - スレッドシステムを書き直したら 7.99.x の予定。 - - variables - o define $use_article_spool (as ${ues_spool:-yes}). - o log: define syslog related variables - o command: - $use_command_mail_reply_preamble = yes - $use_command_mail_reply_trailor = yes - - ErrorStatus - FML::Filter not use this module. - - FML::Article - use_spool -> use_article_spool - - FML::Log - preliminary syslog extension support. - - FML::Article::Summary - FNF. - $fh -> $rh - - FML::Command::Auth - log errors more. - - FML::Command::User::subscribe unsubscribe - $curproc->allow_reply_message() -> $curproc->is_allow_reply_message(). - - FML::Process::DocViewer - IO::Adapter::AtomicFile - Mail::Message::ToHTML - FML::Command::DirUtils - FML::Config::Convert - FML::Filter::MimeComponent - FML::Config::Tiny - FML::Header::MessageID Subject - FML::MTA::Control::Procmail - FML::Process::DocViewer - IO::Adapter::AtomicFile - Mail::Message::ToHTML - FNF: not use str.str - - FML::Filter::External::clamscan - fixed to work. - - FML::MTA::Control::Postfix - not use str.str. - white space clean up of alias file path. - _remove_postfix_style_virtual() -> remove_postfix_style_virtual(). - - FML::MTA::Control::Sendmail - fix the comment of virtual file. - not use str.str. - _remove_postfix_style_virtual() -> remove_postfix_style_virtual(). - - FML::Process::Configure - fix comments (FNF). - $curproc->allow_reply_message() -> $curproc->is_allow_reply_message(). - - FML::Process::Flow - remove _xxx() methods among modules::rename _XXX() to sysflow_XXX(). +7.98.02 queuing system revised. fetchfml added. + PGP/GPG authentication. + bug fix method naming convension (FNF). + MIME-Base64 removed from cvs tree. - FML::Process::Utils - fix comments (FNF). - remove is_safe_syntax(), which is not used. - rename allow_reply_message() to is_allow_reply_message(). - - Mail::Delivery - fix typo::EMTP -> ESMTP. - - Mail::Bounce::Exim Freeserve GOO Qmail Smtpfeed - clean up. - FNF. - use self->address_clean_up($addr, $addr) to clean up address if could. - - FML::Demo::Calendar - fixed::_Calender -> _calender - - FML::IPC::Queue - set umask(077) in creating a tmp file. - - FML::MTA::Control - rename _remove_postfix_style_virtual() to - remove_postfix_style_virtual(), which is used among plural - modules. - not use str.str form. - - FML::Process::Command - $use_command_mail_reply_preamble toggles off::on to show the preamble - of command reply. $use_command_mail_reply_trailor toggles command - processing summary. - - FML::Process::Distribute - more strict error handling. - more comments. - - FML::Process::Fake - fix comments. - fix error handling. - - FML::Process::CGI::Kernel - remove the duplicated code. - use Mail::Message::Date instead of `date`. - fix comments. - - FML::Restriction::Command - croak() -> logerror(). - fix comments. - - Mail::Delivery::Queue - add randam factor into exponential back off. - back off is upper limited by 4000 sec. - - Mail::Delivery::Net::INET4 - set timeout for socket(2). - - Mail::Message::Encode - use Jcode always. - - Mail::Message::MH - sort the output for a,b,c style input. - - FML::Filter::External Header Size TextPlain - FML::Filter::ErrorStatus - FML::Filter - use FML::Filter::ErrorStatus instead of ErrorStatus. - - FML::Process::Kernel - fml-devel YYYYMMDD -> fml $version (7.9x.y-YYYYMMDD) - - modified to use incoming_message_header(), temp_file_path() et.al, to - avoid raw descrptions. - - bug fix config.cf search algorithm. - - defne sysflow_XXX() methods used in FML::Process::Flow. - - not use str.str form. - - clean up. - - Tie::JournaledDir - fix comments, error messages. - - Tie::JournaledFile - fix comments, error messages. - more defined() checks. - -2005/05/01 - - 現在のソースコードを fml 7.98.1 (cvs tag fml-7-98-1)と定義する。 - なお、スレッドのコードを修正後に fml 7.99.1 とする。 - -2005/01/19 - - FML::Merge::FML4::RULES.txt - FML::Merge::FML4::Rules - - update rules - - FML::Process::QueueManager - logwarn() -> logdebug() for "... try later." message. - -2005/01/01 - - FML::Header - handle X-Stardate::and Precedence: header field - - FML::Process::Error - override Reply-To::and Errors-To: header fields to rewrite the address - the error message sent to in forwarding. - - FML::Process::Kernel - enhanced general reply message system. - o add X-Stardate:, Precedence::and Errors-To: header fields. - o enhance Reply-To::field handling. - - FML::Merge::FML4::config_ph - system_timezone = +0900 - -2004/12/30 - - variables - define $outgoing_mail_header_x_ml_name - - FML::Header - rewrite_errors_to use $outgoing_mail_header_errors_to to rewrite - Errors-To: header field ($maintainer by default). - - FML::Merge - cosmetic changes: $VARIABLE format, "\n". - - FML::Merge::FML4::RULES.txt - FML::Merge::FML4::Rules - fix definitions - - FML::Merge::FML4::config_ph - enhanced to handle variables properly. - o Errors-To: - o time zone. - o handle old definitions e.g. subject tag, old variables in fml 2 age. - o "ignore" operation print out comments. - o fix content of *_dir and *_map variables. - -2004/12/29 - - FML::Process::Kernel - verify config.{cf,ph} existence - - FML::Merge::FML4::config_ph - handle use_fml8_value definitions. - translate outgoing_address. - - FML::Merge::FML4::RULES.txt and FML::Merge::FML4::Rules - convert OUTGOING_ADDRESS - care for a few old configurations - -2004/12/23 - - FML::CGI::Calendar - FML::Process::Calendar - FML::Demo::Calendar - Calendar::Lite is removed. - move Calendar::Lite to FML::Demo::Calendar since this module needs - FML::* class. - -2004/12/19 - - FML::Process::Emulate - emulate fml4's mead.pl and msend.pl - - FML::Process::Kernel - $debug_module_regexp_list restricts debug regions. - -2004/12/18 - - デバッグモードでログの出方が変わるようにしました。 - - variables - define $use_debug to control log messages. - - FML::Process::Kernel - logdebug() works if debug = yes defined. - -2004/12/15 - - Mail::Delivery::Queue - randomize queue list more in fair-queue mode. - implement clean_up() method - - FML::Process::QueueManager - log delay time in success of delivery. - - FML::Process::Utils - implement remove_too_old_files_in_dir() method. - - FML::Process::Kernel - remove too old files in tmp/ and incoming queue. - - FML::Merge::FML4::RULES.txt - fix/update rules - - FML::Merge::FML4::Rules - regen. - - FML::Merge::FML4::config_ph - support more special conversion rules - -2004/12/09 - - FML::Merge - enhance arguments of translate() call to pass $diff. - - FML::Merge::FML4::config_ph - FML::Merge::FML4::Rules based version. - implement fallback mechanism to support complicated cases. - - FML::Merge::FML4::RULES.txt - keywords changed - - FML::Process::Emulate Kernel - run fallback to generate config.cf when config.ph is newer - than config.cf. - - etc/compat/fml4 - use -i option to generate default_config.ph - - FML::Merge::FML4::RULES.txt - fix rules - - FML::Merge::FML4::Rules - rules fixed. - - FML::Merge::FML4::config_ph - enhance special handlings to support more rules - -2004/12/08 - - Mail::Message - implement message_chain_as_array_ref() method. - -2004/12/05 - - FML::Article Digest Error Filter Mailer Merge Parse - FML::Article::Sequence - FML::Command::Auth Filter HTMLify SendFile - FML::Command::User::admin - FML::Error::Analyze - FML::Error::Analyze::histgram - FML::Process::Command Configure Distribute Error Kernel - QueueManager State Utils - FML::Process::CGI::Kernel - FML::Restriction::Command Post - FML::User::Control - define logdebug() to disable log messages. - modified to use proper log$role(). - bug fix log messages if needed. - - -2004/11/25 - - fml4 の fml.pl を fml8 の fml.pl に入れ換え可能とした。 - /usr/sbin/sendmail (sendmail 互換コマンド)みたいな扱いですね。 - - fml.pl (fml8) が起動された時に config.cf が見つからないと、 - MLのホームディレクトリにある config.ph から config.cf を生成し、 - それを使うことで fml8 プロセスとして動作します。 - - 設定ファイルの自動変換が可能な範囲は限られていますが、fml4 の - メニューで設定可能な(単純な)ものなら自動変換して何とかなるよう - になっています。 - - variables - defind $compat_* - - FML::Install - define install_compat_dir() method to install - etc/compat/ dir for fml4 compatibility codes. - - FML::ML::Control - implement install_config_cf() method to install only config.cf. - - FML::Command::Admin::mergeml - clean up around set_target_system() - - FML::Process::Utils - o mkdir()::bug fix defined check for specified mode. - o implement default_config_cf_filepath() method. - - FML::Merge - speculate_default_config_ph_path() returns specified location of - default_config.ph if ::usr::local::fml::default_config.ph not found. - - FML::Process::Emulate Kernel - implement fallback function in resolve_ml_specific_variables(). - - when resolver fails, resolve_ml_specific_variables calls fallback if - specified. - - FML::Process::Emulate uses this fallback mechanism to generate a - config.cf from fml4's config.ph file at the first time. - -2004/11/24 - - FML::Command::Admin::mergeml - generate merge() method by separeting codes. - -2004/11/23 - - FML::Process::Kernel - fix white space cosmetics. - - FML::Process::Emulate - re-implement fml.pl as fml4 emulator which emulates fml8's - article_post or command_mail functions by following the arguments. - - TODO::when config.cf not exists, convert fml4 configurations to fml8 - ones on the fly. - -2004/11/21 - - メニュー形式で設定変更を可能にする - まだ CUI だけしかできていないし、とりあえず使えるけど準備段階 - - variables - define $fml_default_{cui,gui}_menu for configuration interfaces. - - installer - install menu - - FML::Config - dump_variables can return results as HASH_REF if get_diff_as_hash_ref - mode specified. - - implement merge_to_file() method to dump hash values into - configuration file. - - FML::Process::Kernel - import default_{cui,gui}_menu from main.cf name space. - - FML::Process::Utils - implement get_{cui,gui}_menu() methods. - - FML::Config::Menu - fix menu path from testbed one. - -2004/11/14 - - Mail::Message::ToHTML - add monthly thread index - - FML::Restriction::Post - define $article_post_article_thread_lifetime anyway (hmm, valid?) - - variables - article_post_article_thread_lifetime ? - スレッドの続きであれば短時間のあいだ、 - From: に関わらず投稿を許すオプションの”時間”を指定する。 - でも、この変数名でいいかなぁ? - -2004/11/03 - - ちょっとクリーニング中… - - etc/dot_htaccess - add dummy configuration for convenience: - AuthUserFile "/dev/null" by default. - - FML::Process::Distribute - rename private method::_distribute -> _deliver_article_prep - -2004/10/31 - - クリーニング中… - - Mail::Message::Thread - bug fix comment::fixed return value - - FML::Article::Thread - sort, clean up. - -2004/10/28 - - (まだ暫定版ですが)記事の投稿時に、スレッドの続きであれば短時間 - From: に関わらず投稿を許すオプションを追加しました。登録されて - いる以外のアドレスから、たとえば転送先からでも投稿を許すといっ - た場合には便利です。 - - デフォルトでは、もちろん使いません(明示的に設定が必要)。 - - FML::Restriction::Post - implement "check_article_thread" operation. - Itt allows post from someone who reffers articles within one weeks. - - FML::Article - update article message-id cache if article is saved successfully. - - FML::Header - bug fix and enhance reference extranction logic. - -2004/10/27 - - variables - add $article_message_id_cache_dir variable. - allow check_article_thread in $article_post_restrictions. - -2004/10/09 - - CGI skin selection - CGI の見栄えを選べるようにしました。 - いまのところ、menu.cgi は昔風の感じ、config.cgi は - fml8 デフォルトのテーブルベースのものです。 - - FML::Process::CGI::Kernel - show "back to top" menu in old fashion skin case. - - FML::CGI::Menu is removed. - - FML::CGI::Admin::Menu - FML::CGI::MLAdmin::Menu - FML::CGI::Admin::MenuOld - FML::CGI::Skin::Base OldFashion Wizard - implement plural GUI skins. - - create FML::CGI::Skin::* class. remove FML::CGI::Menu. - FML::CGI::Menu -> FML::CGI::Skin::Base and create sub classes - inheriting Base. - - etc/modules - Menu -> MenuOld for *::menu.cgi - -2004/10/06 - - ドキュメントのオーバホール - - libexec/loader.in - chop -> chomp - - FML::Process::Kernel - modify configuration error check: - o validate the value of $maintainer and $ml_address variables. - o disable checks for *.cgi processes. - -2004/10/03 - - newdomain および rmdomain コマンド - newdomain および rmdomain コマンドが作る/操作するファイルの - パーミッションを修正 - - FML::Process::Utils - implement chown() method for convenience. - -2004/09/29 - - インストーラの修正 - - etc/ - define new variable $group_writable_config_dir. make configure - controll $group_writable_config_dir and $primary_ml_home_prefix_map. - - FML::Install - set up $group_writable_config_dir. - -2004/09/06 - - fml 4 から 8 へ変換するコンバータの修正 - - FML::Merge - replace "::tmp::default_config.ph" with - speculate_default_config_ph_path() method. - - FML::Command::Admin::mergeml - launch warning on site_init.ph and site_force.ph if needed. - -2004/09/03-04 - - キューイングシステムの修正 - - FML::Process::Kernel - implement is_process_time_limit() method to warn that end of process - life time comes soon. - - Mail::Delivery::Queue - bug fix queue strategy info file hanling. - implement log(), {set,get}_log_function(). - log more and more. - log messages in removing queue - is_valid_queue() returns ok if the specified queue exists in active or - deferred queue. - - FML::Process::QueueManager - set log function for qmgr. - reset queue list fter rescheduling. - pull up $max_count to 100. - resolve lock confliction in queue manipulation. - fix message::remove too old queue ... - targets cleanup() operatites are non active queues. - - FML::Command::Admin::mailq - print only valid queue - show all entries not only within active queue. - -2004/08/30 - - 2004/08 の主要な変更点はキューイングシステムの拡張/修正です。 - 長いあいだ高負荷下で運用するとか file system full を定期的に起 - こすといった実験を繰り返しています。いまのところ大丈夫そうです。 - - 間違っていると致命的なところなので、おしえてください。 - - [TODO] - もう少し、たまったキューの処理の順番など賢くする必要があります。 - - deferいがいに明示的にdefer/activeを操作するためのholdキューと - 特定のキューを優先制御する仕組み - -2004/08/20 - - Mail::Delivery::Utils - eval q{} - -2004/08/15 - - キューイングシステムの拡張 - e.g. 遅延の場合 exponentail back off をおこなう - - FML::Process::QueueManager - Mail::Delivery::Queue SMTP - implement voluntary sleep::wakeup queue mode switching. - o implement queue management utilities. - o move queue from active to deferred if delivery failed. - o rename *_strategy to *_policy - o overhaul::clean up internal style. - - FML::Process::QueueManager - specify queue strategy to get proper queue list. - currently we use "fair-queue". - bug fix condition that empty queue or not - - Mail::Delivery::SMTP - log $recipient_limit info if limit != 1000 - - Mail::Delivery::Queue - implement basic queue management strategy. - - FML::Article - log more info in failing over. - - FML::Process::Distribute - warn "not queue flush due to MTA fatal error.". - -2004/08/14 - - キューイングシステムをいろいろと微修正 - - FML::Process::Kernel - clean up mail queue periodically. - ensure initial value to be defined. - - FML::Process::QueueManager - process 2 requests in one process (temporary solution). - XXX-TODO::enhance qmgr more cleverly. - - change arguemnts for new() and send(). - implement template of cleanup() method. - - change cleanup() logic: - get all queue id list and remove too old invalid queue. - - Mail::Delivery::Queue - clean up new(). - - list() can take an argument for $class if needed. - - implement is_valid_queue() and get_class_list() methods. - - implement list_all(), last_modified_time(). - remove get_class_list(). - - FML::Filter::External - FML::Process::{Distribute,State} - temporal failure when external filter process timeouts. - - if external filter process timeouts, notify it to $curproc layer, and - distribution process exit(75) for temporal failure. - - implement filter_state_{set,get}_tempfail_request(). - - FML::Command::Admin::mailq - show number of requests if requests > 0 - - IO::Adapter::File - back up sequence file before operation. - rollback file itself in emergency if could. - -2004/08/12 - - FML::Process::Kernel - define default subject used if unspecified - -2004/07/27 - - FML::Install - implement message_nl() and modified to use it. - - FML::Process::Kernel - log error message::exit(EX_TEMPFAIL) to retry later. - -2004/07/25 - - FML::Command::HTMLify - rewritten to use $curproc->thread_db_args() method for code sharing. - - FML::Process::Utils - thread_db_args() returns htmlifier parameters with subject tag hints. - - Mail::Message::ToHTML - handle subject tag separetely in string escaping. - - Mail::Message - implement get_print_mode() - - Mail::Delivery::SMTP - override print mode of Mail::Message object to "raw" in fallbacking. - -2004/07/23 - - OVERHAUL ... - - FML::Confirm - modified to clarify that db is opened. - ensure initialized value. - fix comments (FNF). - - FML::Error - fix comments (FNF). - clarify error messages. - - FML::Filter - fix comments (FNF). - clarify messages. - - FML::Header - fix comments (FNF). - ensure initial value. - defined check more. - - FML::Install - bug fix existence of destination file. - - FML::PCB - use "return ..." always. - - FML::Article::Sequence - fix comments (FNF). - use ::::o if could. - - FML::Article::Spool - $dir -> $entry - fix comments. - - FML::CGI::ML - fix comments. - fix error messages. - - FML::Command::DirUtils - fix typo of error messages. - - FML::Command::Admin::subscribe - fix comments (FNF). - ensure initial value. - - FML::Command::Admin::subscribe - fix comments (FNF). - ensure initial value. - - FML::Command::Admin::unsubscribe - fix comments (FNF). - ensure initial value. - - FML::File::Rotate - remove not used variables. - - FML::Filter::MimeComponent - fix comments. - fix error messages. - - FML::Filter::Size - ensure initial value. - - FML::Filter::TextPlain - fix comments. - use ::::o if could. - - FML::Header::MessageID - fix comments. - use "return ..." always. - - FML::Header::Subject - fix style (FNF). - use ::::o if could. - - FML::IPC::Message - check input data. - - FML::Process::Command - fix comments and error messages. - - FML::Process::Error - fix comments. - ensure initial value. - check $maintainer value. - - FML::Process::QueueManager - add qmgr::prefix to log messages. - - FML::Command::HTMLify - fix comments. - use ::::o if could. - - FML::Command::Admin::changepassword - fix error messages - - FML::Command::Admin::mergeml - fix error messages - - FML::Process::CGI::Param - fix error upcall - - FML::Restriction::Base - fix comments. - - FML::User::Control - fix error messages. - ensure initial value. - - FML::User::Info - fix typo - - Mail::Message::Date - fix comments. - modify variable name to clarify the role. - - Mail::Message::Encode - bug fix arguments. - - FML::Process::CGI::Kernel - fix typo. - show nl error message if could. - - FML::Process::Utils - fix comments, style and add loop label, ... (FNF). - ensure initial value. - - FML::IPC::Queue - change constructor argument (but not used yet). - fix error messages. - fix comments. - -2004/07/18 - - imported im-147. - -2004/07/11 - - オーバホールひきつづき実施中です。 - - Calendar::Lite - fix comments. - fix "a"."b" -> "ab" form. - - IO::Adapter - IO::Adapter::AtomicFile DBI File MySQL - fix comments. - explicitly use "return". - modify error messages. - ensure initialized value. - -2004/07/07 - - Mail::Message::Address - put back initializtion code to 1.3 one. - -2004/07/06 - - FML::Command::User::subscribe unsubscribe - always ignore arguments of {subscribe,unsubscribe} command - mail requests to ensure more correct confirmation. - -2004/07/01 - - FML::Process::Distribute - Mail::Message::ToHTML - reduce error messages - -2004/06/30 - - オーバーホール実施中 (2004/06/27 - ) - - FML::Command::Admin::digest digestoff digeston on spool - IO::Adapter - IO::Adapter::Array ErrorStatus NIS UnixGroup - Mail::Bounce - Mail::Bounce::DSN Exim FixBrokenAddress Freeserve GOO - Postfix19991231 Qmail SimpleMatch Smtpfeed - Mail::Bounce::Language::Japanese - Tie::JournaledDir JournaledFile - overhaul: - fix comments and messages. validate initial value. - -2004/06/29 - - FML::Process::Distribute - mark by stop_this_process() when submission denied. - - オーバーホール - FML::Command::Admin::chaddr off - FML::Command::User::admin digest unsubscribe - Mail::Message::Address - Mail::Delivery - Mail::Delivery::ESMTP ErrorStatus QueueUtils - Mail::Delivery::Net::INET4 INET6 - [overhaul] - o fix comments. - o fix messages/error messages. - o use //o if could. - o specify initial value. - -2004/06/27 - - FML::Filter::External::clamscan - fix typo - - FML::Cache::Journal - overhaul: - o fix comments. - o defined() check. - - FML::Cache::Ring - overhaul: - fix comments. - x.y -> sprintf(format, x, y) - fix return value. - change variable name to be more readable. - - FML::Command - overhaul: - fix comments. - use ::::o if could. - bug fix notice_cc_recipient handling. - reverse command_mode check code. - - FML::Command::Auth - fix comments. - quotemeta search key. - - FML::Command::Syntax - fix comments. - my (@var) = ... style. - - FML::Command::Admin::edit - fix comments. - warn() -> ui_message(). - - FML::Command::Admin::get - fix comments. - bug fix reset of $command_args values. - - FML::Command::Admin::list - fix comments. - change private method name. - modify sanity check a little. - - FML::Command::Admin::log - fix comments. - change default::tail -100 by default. - - FML::Command::User::chaddr - bug fix::implement verify_syntax(). - - FML::User::Control - tune IO::Adapter::close() timing. - - use TERM_NL(map) style not which_map_nl() where TERM_NL() can handle - charset dependent map name translation. - - FML::Process::Utils - re-implement which_map() - - FML::Process::Kernel - TERM_NL() macro support in message translation. - - Mail::Message - Mail::Delivery::Queue SMTP - FML::Process::Distribute - queue system debug::trace number of bytes written. - - Mail::Delivery::Queue - validate if message object supports write_count() method. - - IO::Adapter::AtomicFile - close() allows 0 byte file e.g. in the case so that all content is - removed. - - IO::Adapter::File - bug fix delete(): - o not apply quotemeta() for key. - o autoflush(1) - o check the number of matching, return error if no any matched line. - -2004/06/25 - - FML::Filter::External::{bogofilter spamc clamscan} - FML::Process::Distribute State - preliminary support of build-in virus/spam checker. - - FML::Command::Admin::dir - clean up. - handle CUI case (ok?) - - FML::Process::QMail - nuke old style FML::Log use. - -2004/06/23 - - Mail::Message::Subject - bug fix::delete_dup_reply_tag() runs always. (fml-devel: 711) - -2004/06/17 - - パッケージ化のための変更。ちょっと間違ってた _o_ - FML::Install - fix message of $default_config_dir installation when - install_root specified. - fix install path of $ml_spool_dir when install_root specified. - -2004/06/14 - - メールキューイングの仕組みを、もっと正確にしました。 - - たとえば、ファイルシステムが溢れた時も可能な限り、再送処理を - 行なうようになりました。 - - 処理のどの段階で file system full になったかによって - MTAからfmlを呼ぶ出す際のリトライ、fml自身による再送などが - 適宜、おこなわれます。 - - くわしくは、チュートリアルのトラブルシューティングあたりに - 書いておきます。参照して下さい。 - - - Mail::Message::ToHTML - bugfix @indexs use my $indexs = \@indexs; - - FML::Process::Kernel - defined($header) check before calling update_message_id_cache. - -2004/06/13 - - Mail::Message::ToHTML - set $main::opt_mimedecodequoted at - _print_li_filename(),_format_safe_header() - - Mail::Message::DB - null check $key at _db_set() - - Mail::Message::ToHTML - select index files using @indexs - -2004/06/09 - - FML::Header - FML::Process::Kernel - separate message-id duplication check and cache updating. - cache updating when process ends. - -2004/06/08 - - パッケージシステムのためにインストーラを拡張した - パッケージを作る際に、どこか仮想的なディレクトリに - 一度インストールする必要があるなら、 - - make install install_root=/some/where - - を使って下さい。/ のかわりに /some/where 以下へ - インストールされます。もちろんインストールされる各ファイルに埋 - め込まれているパスは /some/where 部分がない状態のものです。 - - 注意: 他のシステムでは - - make install prefix=/some/where - make install DESTDIR=/some/where (←きっとBSDな人でしょう) - - などが使われることもありますが、パッケージシステムを作る人にし - か関係がないこと、そして configure --prefix とまぎらわしいという - 理由により、prefix ではないキーワードを使っています。 - - install.pl.in - FML::Install - enhanced to enable "make install install_root=::prefix" for - package system. - - install_root is the prefix that is prepended to the pathnames - of installed files. - - [IMPORTANT] - - In a lot of systems, "make install prefix=::prefix" is used. - But it is confusing against usage of othre software e.g. - ".::configure --prefix=::prefix". So, we avoid this confusion - to use other keyword, which is same as Postfix. - -2004/06/02 - - Mail::Bounce::SimpleMatch - add yahoo.co.jp - change ybb.ne.jp end pattern - -2004/05/28 - - FML::Article - When we fail to create article file, we try to save the original - message at least. - -2004/05/25 - - メールキューとエラーリカバリの拡張 - - loader - define global variable $ERROR_EXIT_CODE for emergency handling. - run exit($ERROR_EXIT_CODE) if error. - - FML::Process::Kernel - implement exit_as_tempfail() - - firstly queue in. Secondarly parse it after writing of the queue is - verified. - - implement clean_up_incoming_queue(), which is run at the last of - process. - - FML::Process::QueueManager - modify log message format a little. - $q->valid() changed to $q->valid_active_queue(). - - FML::Process::Flow - call $process->clean_up_incoming_queue(); - - FML::Process::Distribute - exit(EX_TEMPFAIL) when we cannot update article sequence. - - if setrunnable() for the current article queue failed, - try to deliver it on the fly anyway. - - new FML::Filter $curproc; - bug fix my() usage. - change log message around queue id. - - FML::Process::State - fix comments (FNF). - - add methods: - filter_state_set_error() - filter_state_get_error() - mail_queue_set_incoming_queue() - mail_queue_get_incoming_queue() - - FML::Article::Sequence - more strict write error tracking - - FML::Article - more strict write error handling. - - - FML::Cache::Ring - import data from file directly. - Actually, link(2) $src to cache file. - - Mail::Delivery::Queue - check write error more strictly. - - define incoming queue. - implement new method::incoming_file_path(), incoming_dir_path(). - - not set transport (not touch transport info file) by default. - - more rigid write error tracking. - - rename valid() -> valid_active_queue() to clarify the role. - - Mail::Message - \*HANDLE -> *HANDLE{IO}. - imlement error*(). - write error track. - - IO::Adapter::File - more strict write error tracking. - sequence_increment verifies if the value is writtern. - - IO::Adapter::AtomicFile - check temporary file is non-zero. - - variables - define variables around article_spam_filter and article_virus_filter. - - FML::Filter - preliminary external spam::virus checker support. - new() takes $curproc as an argv. - use filter_state_set_error() to save determined action for later use. - - FML::Process::Command - new FML::Filter $curproc; - -2004/05/22 - - HOOKの名前を整理整頓する。 - - variables - error_analyzer_day_limit -> error_mail_analyzer_day_limit - error_analyzer_cache_dir -> error_mail_analyzer_cache_dir - error_analyzer_cache_type -> error_mail_analyzer_cache_type - error_analyzer_cache_mode -> error_mail_analyzer_cache_mode - error_analyzer_cache_size -> error_mail_analyzer_cache_size - error_analyzer_function_select_list -> error_mail_analyzer_function_select_list - error_analyzer_function -> error_mail_analyzer_function - error_analyzer_simple_count_limit -> error_mail_analyzer_simple_count_limit - - FML::Process::Command - add $command_mail_filter_{start,end}_hook hooks. - rename $command_*_hook -> $command_mail_*_hook. - - FML::Error - FML::Command::Admin::error - FML::Error::Analyze::histgram simple_count - FML::Error::Cache - rename variable::$error_* -> $error_mail_* - - FML::Process::Error - rename hooks::$error_*_hook -> $error_mail_analyzer_*_hook - - FML::Process::Distribute - add $article_post_XXX_hook but $distribute_XXX_hook is available too. - add $article_header_rewrite_{start,end}_hook - add $article_filter_{start,end}_hook - - FML::Process::Digest - rename hook::digest_*_hook -> article_digest_*_hook - - -2004/05/21 - - FML::Process::Distribute - shorten lock period in delivery - -2004/05/19 - - FML::Process::Switch - getopts case SENSITIVELY - - FML::Process::Distribute - not process _deliver_article() when error set by stop_this_process(). - - FML::Process::Kernel - -o overwrite options runs twice to ensure overwrite. - - variables - $use_article_delivery = yes - $article_delivery_transport = smtp - - Mail::Delivery::Queue - handle transport infomation. - fix comments. - -2004/05/18 - - 記事の配送システムもキューイングベースへ移行する - これで、すべての配送が一度メールキューに書くパターンになった。 - - FML::Article - bug fix::avoid duplicated initialization. - change $curproc->{ article }->{ KEY } style to method-based. - - FML::Process::Distribute - enable mail queue based delivery - - Mail::Delivery::Queue - support lock({ lock_before_runnable => yes }) extension. - - FML::Process::Distribute needs such option to own the current article - delivery by itself to distinct it from queue flush system on other - processes. - - FML::Process::State - implement set_article_id(), get_article_id(), - smtp_server_state_set_error() and smtp_server_state_get_error(). - -2004/05/17 - - 配送システム オーバーホール、つづき - - Mail::Delivery::Utils - implement {set,get}_map_status() - ensure numeric value - - Mail::Delivery::SMTP - implement fallback when it fails to send the mail to all MTA's. - failed message is inserted into mail queue for later delivery retry. - - Also, shorten retry count $max_loop_count since fallback is - implemented now. - - define {set,get}_last_command(), {set,get}_send_command_status(). - modified to use them. - - rename::socket_is_connected -> is_socket_connected - - FML::Process::Distribute - enable delivery fallback - - FML::Mailer - pass params $smpt_servers and $smtp_recipient_limit into - delivery system - -2004/05/16 - - 配送システム オーバーホール - - FML::User::Control - enhance print_userlist() for command mail. - - Mail::Delivery::SMTP Utils - rollback if DATA error occurs. - rename _get_*() -> get_*(), _set_*() -> set_*() since private methods - should not be shared over modules. - remove private method. - s/_rollback_map_position/rollback_map_position/g; - s/_reset_mapinfo/reset_mapinfo/g; - - Mail::Delivery::Utils - not export _smtplog - - Mail::Delivery::SMTP - clean up message, log. - fix retry logic. - define $MAP_ERR_OPEN. - log status of done or not (log only yet). - - FML::Command::Admin::list - remove is_cgi related codes. - -2004/05/02 - - variables - +html_archive_default_charset - +html_archive_charset_ja - +html_archive_charset_en - +path_bogofilter = @BOGOFILTER@ - +path_clamscan = @CLAMSCAN@ - - FML::Process::Utils - remove language_default(). - language_of_html_file() return $html_archive_default_charset. - - コマンドの追加(対称性、操作をしやすくするため) - admindel - moderatoradd - moderatordel - -2004/05/01 - - 非対称のユーザ制御コマンドを色々追加する。 - add2active - add2actives - add2member - add2members - add2recipient - add2recipients - addactive - addactives - addmember - addmembers - addrecipient - addrecipients - - FML::Header - modify List-* header message and condition a little. - -2004/04/30 - - コマンドのより厳しいエラーチェック - - FML::Command::Admin::{digest,off,on} - more restrict error checks. - - FML::Command::Admin::changepassword - more restrict error checks. - fix rewrite_prompt(). - - FML::Command::User::admin - call command specific rewrite_prompt() if could. - - FML::User::Control - return error messages more. - call croak() if critical error. - -2004/04/27 - - variables - define $etc_dir and fixed to use it. - newml command creates $etc_dir. - - IO::Adapter の検索 API を少し変更する - IO::Adapter 側で quotemeta() の心配をするとかしない。 - 渡された $regexp を信じるので、呼び出す側で考慮しないといけない。 - - IO::Adapter - use $regexp as itself, not quotemeta()-ify. - - FML::Process::Debug - move quotemeta($regexp) from IO::Adapter to here. - compare domains case insensitively. - - FML::ML::HomePrefix - bug fix search logic. - move quotemeta() from IO::Adapter to here. - - FML::Credential - implement is_same_domain(). - move quotemeta() from IO::Adapter to here. - - FML::Process::Utils - method-ify some module internal functions. - bug fix search logic of ml_home_prefix. - move quotemeta() from IO::Adapter to here. - - FML::User::DB - move quotemeta() from IO::Adapter to here. - - FML::Process::Kernel - fix comments. - use $str->charcode_convert_to_external_charset(), remove - hard-coded 'jis'. - - FML::Command::Auth - bug fix search logic. - move quotemeta() from IO::Adapter to here. - - FML::Header::Subject - remove _delete_subject_tag(). - method-ify delete_subject_tag(). - -2004/04/23 - - BUG FIX: パスワードファイルの初期化バグ修正 - - FML::Command::Auth - bug fix: we need to touch etc/passwd-admin file firstly. - -2004/04/22 - - コマンドメールの返事を、もっと静かに - - FML::Command::User::confirm - when unsubscribe command, stop the current process since - no more processing is required. - XXX ? hmm, wrong in some cases e.g. unsubscribe + guide. - XXX but ignore it ;-) - - FML::Process::Command - check $context if it is well defined. if ok, call command. - check value by command_context_get_normal_stop() to stop this - process. - - FML::Process::State - command_context_init() returns empty HASH_REF where it includes valid - command as the first valid argument. - - define command_context_set_normal_stop(), - command_context_get_normal_stop(). - - FML::Article::Sequence - bug fix::need open() before getline() - -2004/04/21 - - FML::Process::Utils - bug fix mkdir()::str to octal handling bug - -2004/04/20 - - FML::Command::Admin::error - -O algorithm= option - - [BUG FIX] makefml でエラーがでるのを直した。 - ごめんなさい、設定ファイルの TYPO が原因です。 - -2004/04/18 - - variable name clean up: - _list -> _select_list - - s/cgi_language_list/cgi_language_select_list/; - s/cgi_menu_address_map_list/cgi_menu_address_map_select_list/; - s/error_analyzer_function_list/error_analyzer_function_select_list/; - s/template_file_charset_list/template_file_charset_select_list/; - - FML::CGI::List - FML::Command::Admin::error - FML::Process::CGI::Kernel Utils - - FML::PCB Config - FML::Process::State - preparation of context switch (preliminary. not yet implemented) - - FML::Restriction::Base - remove regexp() method, which not used. - fix description. - -2004/04/17 - - log rotation が出来るようにした。 - - variables - define $log_ratate variables - - FML::File::Rotate - modified to current fml8 style. - - FML::Process::Utils - implement log_rorate() - - FML::Process::Kernel - run $curproc->log_rorate() lastly - - File::* クラスを一掃する。 - - FML::Process::Kernel - FML::Cache::Ring - File::CacheDir is removed - imported into FML::* once. File::CacheDir -> FML::Cache::Ring - - FML::IPC::Queue - use queue on memory by default. - -2004/04/15 - - Mail::Message - Content-Type case-insensitive in _data_type() - - File::CacheDir - IO::Adapter based sequence operation. - -2004/04/13 - - FML::Article::Sequence - bug fix variable initialization. - - FML::IPC::{Message,Queue} - implement basic handling code of queues on file system. - - FML::IPC::Queue - implement rollback() - -2004/04/11 - - IO::Adapter の拡張 - ロックおよび sequence 取り扱いの機能を IO::Adapter へ移した - - IO::Adapter - IO::Adapter::File - File::SimpleLock - import lock mechanism from File::SimpleLock class. Now IO::Adapter - provides lock() and unlock() metohds though file map only is - supported. - - FML::Article::Spool - FML::MTA::Control::Postfix Procmail Sendmail - FML::Process::Utils - implement copy() and append() methods $curproc provides to remove - File::Utils class. - - FML::Process::Kernel - IO::Adapter based lock system - - IO::Adapter - IO::Adapter::File - implement methods suitable for sequence file operation. - + sequence_increment() - + sequence_replace() - - FML::Article::Sequence - FML::Digest - switch File::Sequence to IO::Adapter based sequence operation - -2004/04/02 - - FML::Process::Utils - define fml_owner_address() - - FML::Process::Error Kernel - fix reply_message() system to handle smtp_sender properly. - moify libexec::error to forward mail which smtp sender is fml_owner(). - - Calendar::Lite - show events with , separator - -2004/03/31 - - 総書き直しをした新しいスレッドシステムへ切替える。 - - etc/modules - switch to FML::CGI::Thread (purge old thread module) - - FML::CGI::Thread - check existence of $ml_name value. - use Japanese title. - - FML::CGI::Menu - FML::Process::CGI::Kernel - move config.cgi specific methods run_*() from - FML::Process::CGI::Kernel to FML::CGI::Menu. - - FML::CGI::Menu - use cgi.config.$key as message translation - - FML::Article::Thread - FML::CGI::Thread - modify message output engine. - enable close operation. - - Mail::ThreadTrack is removed. - Mail::ThreadTrack is obsoleted. - - FML::Command::Admin::thread - FML::Process::Distribute Switch - FML::CGI::ThreadTrack - Mail::ThreadTrack is obsoleted. remove related codes. - -2004/03/29 - - FML::Command::Admin::thread - list sub command do not run print_one_line_summary(). - fix typo. - - FML::Article::Thread - FML::CGI::Thread - preliminary implementation of thread GUI. - -2004/03/28 - - スレッド操作の再構成 - - Mail::Message - implement methods to detect the end of thread: - has_closing_phrase() - set_closing_phrase_rules($rules) - get_closing_phrase_rules() - - implement one_line_summary($params) and summary($params) to return - summarized content. - - Mail::Message::String - implement is_citation(), is_signature(). - - Mail::Message::MH - check if the sequence is positive value. - - Mail::Message::Thread - implement get_thread_data(), get_thread_member_as_array_ref(). - - define new db::thread_status article_status - - implement new methods::set_thread_status(), get_thread_status(), - set_article_status() and get_article_status(). - - Mail::Message::DB - implement get_thread_data() which return thread data around the - specified key. - - define new db::thread_status article_status - - implement new methods::set_thread_status(), get_thread_status(), - set_article_status() and get_article_status(). - - bug fix handling of range expanded by Mail::Message::MH module. - - Mail::Message::{DB,Thread} - define {set,get}_article_summary() and article_summary db to handle - article summary easily. - - FML::Process::Distribute - move details of thread manipulation to FML::Article::Thread as could - as possible. - - FML::Header::Subject - Mail::Message::Subject - fix usage of Mail::Message::Language::Japanese::Subject. - - FML::Article::Thread - re-implemented for further plan to purge Mail::ThreadTrack. - - FML::Command::Admin::thread - re-implemented. currently FML::Article::Thread based one. - -2004/03/24 - - Mail::Message::DB IMPLEMENTATION TODO ToHTML - clean up campaign around thread function. - rename function name: - o thread_summary -> get_thread_summary - o tohtml_thread_summary -> get_tohtml_thread_summary - o msg_time -> get_time_from_header - -2004/03/23 - - etc/command_line_options - FML::Command::Admin::spool - FML::Process::Utils - try to allow -O key=value command line options. Internally each - function uses cui_command_specific_options() to get the command - specific options. - - etc/command_line_options - FML::Command::SendFile - FML::Command::Admin::get - FML::Process::Kernel Utils - allow CUI(fml,makefml) to send messages. - this function disabled by default. - fml and makefml can use --allow-send-message --send-to=ADDRESS - option for it. - - FML::Command::DirUtils - modified for "--allow-send-message --send-to=ADDRESS" option. - - -2004/03/20 - - FML::Merge - FML::Merge::FML4::List - FML::Merge::Config - switched to FML::Merge::Config based coding. - -2004/03/15-17 - - fml4 の設定を fml8 のものへ半自動変換するツールを実装した。 - implement basic fml4 to fml8 converter. - - 注意: 変換ルールは、まだまだ、チューニングが必要。 - - FML::Merge::* - implement preliminary config.cf translator. - - FML::Merge - tune key output order. - postpone some variables e.g. *_HOOK. - - FML::Merge::FML4::config_ph - bug fix article_subject_tag conversion rule - oops, fix missing escapes - - FML::Merge::FML4::Config - install some files to be used continuously e.g. seq, summary, - log, ... - - FML::Command::Admin::newml - implement {set,get}_force_mode(). - modified to use it. - - FML::Command::Admin::merge - disable_include_files() -> disable_old_include_files() - - * several bug fixes - - FML::Credential - run _reconfigure in constructor, too. - delay $config evaluation - - IO::Adapter::File - modify touch() to use FileHandle not IO::File - - FML::Process::Distribute - implement toggle of filter function by $use_article_filter - -2004/03/14 - - コマンドメールまわりを書き直す(その2) - - variables - fix $command_mail_restrictions by using new rules: - permit_anonymous_command, permit_user_command rules. - - FML::Process::Kernel - remove permit_command(). - - FML::Process::State - implement the following methods: - restriction_state_init() - restriction_state_set_deny_reason() - restriction_state_get_deny_reason() - restriction_state_reply_reason() - error_message_set_count() - error_message_get_count() - - change some code to "... if $debug". - - implement command_context_set_ml_name() and - command_context_get_ml_name(). - - This is preliminary codes for more extension so that we need - to care authentication differs among ML's when we enhance - command processor for listserv emulation. - - FML::Process::Distribute - use restriction_state_reply_reason() to shling code size. - clean up. - - FML::Process::Command - modify command analyze logic. currently, apply - $command_mail_restrictions for each command line, if ok, - execute the commmand via FML::Command. - - FML::Restriction::Post - modified to use restriction_state_*(). - move permit_anonymous_command_mail() to FML::Restriction::Command. - - FML::Restriction::Command - implement permit_user_command() and permit_anonymous_command() - methods. - - inherit methods from FML::Restriction::Post class if needed. - - implement permit_admin_member_maps and - check_admin_member_password in FML::Restriction::Command class. - - modify $admin_command_mail_restrictions to switch to use them. - - FML::Command::User::admin - fix comments (FNF). - renamed to _apply_{old,new}_admin_command_mail_restrictions(). - - implement permit_admin_member_maps and - check_admin_member_password in FML::Restriction::Command class. - - modify $admin_command_mail_restrictions to switch to use them. - -2004/03/13 - - makefml/fml extension - makefml --mode=user --allow-send-message $command $ml ... - fml --mode=user --allow-send-message $ml $command ... - - 他のスクリプトや独自のCGIから、subscribeやunsubscribeの - confirmを送りたい時のことを考えて、以下のオプションを追加した。 - - fml --mode=user --allow-send-message $ml subscribe ADDRESS - - これを実行すれば、コマンドメールのsubscribeと同じコードが動き、 - confirmメールを ADDRESS へ送るようになる。 - - fmlコマンドやmakefmlコマンドはadminモードのコマンドを実行する - インターフェイスだが、この拡張のポイントはユーザモードの - subscribe コマンドを実行可能にすることでコマンドメールのエミュ - レーションをしているところにある。 - - なお、デフォルトでは、余計なメールが出ないように、メールでのメッ - セージ配送(例: 登録しました〜)をCUIは無視している。そのため、 - --allow-send-message オプションで明示的に、メールをユーザへ - 送るという指示をする必要があることに注意。 - - command_line_options - fml --allow-send-message --mode=user - makefml --allow-send-message --mode=user - - FML::Process::Digest Error Kernel - prepare credential area more early stage (within constructor). - so remove later object creation. - - FML::Credential - implement set_sender() and get_sender(). - - FML::Process::Utils - implement allow_reply_message() method. - - FML::Process::Kernel - use $curproc->allow_reply_message() to check if we should send back - messages. - - FML::Process::Configure - FML::Command::User::subscribe unsubscribe - fml --allow-send-message allows makefml::fml sends reply messages. - currently user mode "subscribe" and "unsubcribe" support this style. - -2004/03/12 - - variables - rename $reply_message_* -> $report_mail_* - change default vale of $log_command_tail_starting_location - - [*_program -> *_function] - - $use_command_mail_program -> $use_command_mail_function - $use_digest_program -> $use_article_digest_function - $use_distribute_program -> $use_article_post_function - $use_error_analyzer_program -> $use_error_mail_analyzer_function - - [command list] - - $commands_for_stranger -> $anonymous_command_mail_allowed_commands - $commands_for_user -> $user_command_mail_allowed_commands - $commands_for_privileged_user -> $admin_command_mail_allowed_commands - $commands_for_admin_cgi -> $admin_cgi_allowed_commands - - [restrictions] - - $post_restrictions -> $article_post_restrictions - $post_restrictions_reject_notice_data_type - -> $article_post_restrictions_reject_notice_data_type - - $command_restrictions -> $command_mail_restrictions - permit_commands_for_stranger -> permit_anonymous_command_mail - - $admin_command_restrictions -> $admin_command_mail_restrictions - -2004/03/04 - - コマンドメールのコードを全面的に書き直した。 - - new command mail framework - FML::Command - FML::Command::Auth - FML::Command::Admin::password - FML::Command::User::admin - FML::Process::Command - FML::Restriction::Command - FML::Process::State - - FML::Process::Command - fully rewritten. a lot of codes are moved to under - FML::Command:::class. - - FML::Restriction::Command - method-fy. - - syntax check is applied to each entry of space separeted command - string. - - FML::Command - implement verify_syntax(), simple_syntax_check() and - safe_regexp_match(). - - remove auth() method call for FML::Command::$MODE::$COMMAND, - which is not used. - - FML::Command::Auth - show detalis of error messages more. - - FML::Command::Admin::password - implement verify_syntax() method. - - FML::Command::User::admin - now, user mode "admin" command becomes entrance for priviledged - command world. - - The main part of $admin_command_restrictions is moved from - FML::Process::Command to here. - - implement verify_syntax(), which is a wrapper for other admin - commands. - - implemnt need_lock(). - - FML::Article::Summary - charcode_convert() -> charcode_convert_to_external_charset(). - - FML::Restriction::Base Command - prepare and use command mail specific definitions. - -2004/02/29 - - Mail::Message::Language - accept_language_list() return [] not [*] if not found. - -2004/02/27 - - コマンドの返事を返す際に、より正しい言語選択を行なう - 必要なら(というより判断がつかないなら)、複数の言語で返す。 - - FML::Process::Kernel - fix comments on reply_message() around. - reply_message() handles request when the current process runs - under MTA. fix regexp optimization. - - define __convert_message_nl() and use it. - allow loader program uses reply_message() method. - - select proper language for reply message based on Accept-Language, - Content-Type and language preference order. - use plural languages if needed. - - FML::Process::Utils - define lang_to_charset(). - fix return value for some methods. - use "print if $debug" in some cases. - - -2004/02/26 - - variables - define $language_preference_order - - etc/command_line_options - new option -o key=value which overrider configurations. - you can use duplicated -o options e.g. -o key1=value1 -o key2=value2. - - remove not used -params options - - FML::Process::Kernel - new option -o key=value which overrider configurations. - you can use duplicated -o options e.g. -o key1=value1 -o key2=value2. - - more proper charset handling based on Content-Type::field. - - change Mail::Message::Encode to Mail::Message::String in - message handling. - - implement get_preferred_languages() method. - - FML::Process::Utils - get_charset: fix default charset handling - implement set_language_hint(), get_language_hint(). - get_accept_language_list() returns [] not [*] when no data. - - FML::Error::Cache - firstly, constructor() expires too old cache. - - Mail::Message - enhance trap regexp for charset=... - - Mail::Message::Charset - fix comments - - Mail::Message::Language - handle X-Accept-Language: - - Tie::JournaledDir - new() expires too old cache files. - -2004/02/15 - - FML::Article::Spool - check input data more. - - Mail::Message::String - add new methods: - +charcode_convert_to_internal_code(). - +charcode_convert_to_external_charset(). - - we need to ignore original charset in some cases. - So, if "=?sjis=..." is input, we return it as "=?iso-2022-jp...". - - more debug codes. - - FML::Process::Kernel - ui_message() prefers $msg_args->{level} if specified. - -2004/02/13 - - FML::Article::Summary - ensure initial value of $min and $max - -2004/02/06 - - FML::Header - expand special regexp in tag before tag substitution. - - Mail::Message::Subject - update $subject only if subject is rewritten. - - FML::Article::Summary - switch to new Mail::Message::* framework. - - Mail::Message::Charset - implement message_charset_to_language() method. - - Mail::Message::String - use mothod-style more even internally. - speculate in and out code::charset as could as possible. - implement method::charcode_convert(), get_charcode(). - -2004/02/04 - - FML::Command::User::chaddr - vaildate address type variables. - - Mail::Message::String - change in-core internal variables. - implement set(), get(), set_mime_charset(), get_mime_charset - and unfold(). - - Mail::Message::Address - modify on-memory variable naming. - implement as_str(), substr(). - - Mail::Message::Date - new() can handle both unix time and Date::style string. - - implement set(), unixtime(). - speculate_timezone() -> _speculate_timezone(). - - yet another style methods::as_mail_header_style(), - as_YYYYMMDD(), as_YYYYxMMxDD(), as_current_time(), - as_precise_current_time(), as_stardate(), and as_unixtime(). - - FML::Article::Summary - FML::Header - modified to use new Mail::Message::* framekwork. - -2004/02/03 - - IO::Adapter - IO::Adapter::File - fix meta escape needed in finding key. - -2004/02/01 - - variables - add $log_command_tail_starting_location - $article_non_mime_filter_rules = reject_empty_content_type permit - - FML::Config - fix checking code of defined value. - - FML::Article::Sequence - $sequence_file -> $article_sequence_file - use //o if could. - - FML::Command::Admin::log - use $log_command_tail_starting_location. - fix comments. - - FML::Command::Admin::{chaddr,changepassword,digest,subscribe} - validate input address by FML::Restriction::Base. - - FML::Command::Filter - FML::Filter - FML::Filter::Header MimeComponent Size TextPlain - new FML::Command::Filter $curproc; - fix::update comments::messages. - rename method::rules() -> set_rules(). - use ::::o if could. - - fix var name: - $article_none_mime_filter_rules -> $article_non_mime_filter_rules. - - implement reject_empty_content_type rule (non mime filter). - -2004/01/31 - - FML::Error::Cache - validate input address. - - FML::Process::{Addr,Alias,Calendar,Command,ConfViewer,Configure} - FML::Process::{Digest,Distribute,DocViewer,Error,Fake,HTMLify} - FML::Process::CGI::Kernel - not use "$cf_list = $curproc->get_config_files_list();". - $curproc->load_config_files($cf_list); - -> - $curproc->load_config_files(); - - Calendar::Lite - print() -> print_as_html() - -2004/01/22 - *** オーバホールキャンペーン中 *** - - FML::Command - fix comments. - define $default_lock_channel and modified to use it. - - FML::MTA::Control::Procmail - fix $fh->close() usage. - fix comments. - cosmetics. - -2004/01/21 - *** オーバホールキャンペーン中 *** - - FML::Restriction::Base - define $number_regexp , $address_regexp. - modified to use it. - - FML::Process::CGI::Kernel - more todo comments. - remove 'use FML::Log' which is not used. - - FML::Filter::Size TextPlain - check input data type. - more todo comments. - white space cometics. - - FML::Header - cosmetics: spaces, unroll one line to plural ones. - - FML::Command::HTMLify - fix comments. - add missing loop label. - - FML::Filter::Header - fix comments. - check input data type. - cosmetics. - FNF. - - FML::Filter::MimeComponent - define $recursive_max_level in file scope. - fix comments. - cosmtics: sort initialization order, location. - =~ "" -> =~ // - - FML::User::DB - fix comments. - close output channel before exits from within loop. - -2004/01/18 - *** オーバホールキャンペーン中 *** - - FML::Confirm - update comments. - clean up. - if (defined $db) { ...->open::close ... } - - FML::Config - fix comments. - change variable name::$mode -> $op in some cases. - change argument order of __update_config(). - -2004/01/14 - - FML::Process::Calendar - bug fix handling of $args within $curproc for further reference. - - Calendar::Lite - clean up. - show summary next 3 days above calender this month. - - FML::Process::Kernel - load_config_files() not need the argument. - load_config_files() do sanity checks for mta and cgi processes. - -2004/01/01-2004/01/04 - - *** 2003 年末 〜 2004 年初め オーバホールキャンペーン中 *** - - clean up - $curproc とペアになっている $args をほとんどのクラスでは削除した。 - $args へのアクセスは FML::Process::Utils のアクセスメソッド経由 - のみとする。 - - FML::Process::Utils - +set_config_files_list() - +append_to_config_files_list() - +get_config_files_list() - - FML::Digest - fix lock algorithm. - clean up. - fix comments. - -2003/12/31 - - 2003 年末 〜 2004 年初め オーバホールキャンペーン - - 変数 - FML::ML::Control - *_private_dirs -> *_private_directories - - FML::Command::Admin::newdomain newml rmdomain rmml - FML::Process::Addr Alias - FML::ML::Control HomePrefix - FML::MTA::Control - FML::MTA::Control::Postfix Procmail Qmail Sendmail Utils - clean up class hierarchy. - o FML::HomeDir::Prefix -> FML::ML::HomePrefix; - o FML::MTAControl -> FML::MTA::Control - o move main codes in newml and rmml to FML::ML::Control class. - - FML::Process::Switch - bug fix initialization. - update comments. - clarify function role by renaming::ProcessSwitch() -> load_module() - Process::Switch - sort. - - FML::Process::Kernel - save incoming_message cache file path on memory for later use. - import $default_ml_home_prefix from main.cf name space. - - FML::Process::Utils - implement {get,set}_incoming_message_cache_file_path(). - bug fix get_incoming_message_cache_file_path() - - FML::Process::Fake - experimental implementation done. - - Mail::Delivery::Queue - define *_file_path() methods. - bug fix use of *_{dir,file}_path() functions. - validate $value (ARRAY_REF). - update comments. - - Mail::Delivery::Net::INET6 - fix label name - - File::CacheDir - implement cache_file_path() - - FML::Cache::Journal - import $directory_private_mode if could - - FML::Error - update comments. - clean up. - use methods not direct editing of $self as could as possible. - use $curproc->{ credential } - reset address comparison level after main routine. - - FML::Header::MessageID - get() return null string if the value is undefined - - FML::Command::Auth - validate $address input as data. - $cred = $curproc->{ credential }; - update comments. - - FML::Command::Admin::addadmin - update comments. - define and use $maplist. - - FML::Command::Admin::addmoderator - update comments. - define and use $maplist. - - FML::Command::Admin::check - update comments. - implement check_ml_home_dir() and modify rules. - - FML::Command::Admin::edit - update comments. - use $curproc->ml_*() methods if could. - reset $ENV{'PATH'} while running editor. - - FML::Command::Admin::mailq - update comments. - more readable method and variable names. - - FML::Command::Admin::rmml - update comments. - use $curproc->ml_*() methods if could. - modify local variable names to be more readble. - - FML::Command::Admin::list - update comments. - clean up. - modify routine names to be more readable. - remove not used variables. - bug fix cgi_menu() initialization phase. - - FML::Command::User::chaddr confirm digest off on unsubscribe - update comments on $primary_*_map use. - use $curproc->{ credential } not call "use FML::Credential ...". - - FML::Command::User::digest - update comments::messages. - use $curproc->{ credential } - - FML::Command::User::chaddr subscribe - update comments. - use $curproc->{ credential } - reset address comparison level after main routine runs. - -2003/12/25 - - FML::Process::Utils - bugfix default $use_address_mask and $address_mask_type in - thread_db_args() - - Mail::Message::ToHTML - add from-address for not use address_mask in - _print_li_filename() - - FML::Process::Distribute - add log at htmlify article end - -2003/12/24 - - etc/{command_line_options,install.cf.in,modules} - FML::Process::Fake - add and enable libexec::faker - - FML::Process::Utils - implement is_need_ml_name() - - FML::Process::CGI::Kernel - use is_need_ml_name() not $args->{ ... } - - FML::Process::{Addr,Alias,Calendar,ConfViewer,Digest, - Distribute,DocViewer,Kernel} - remove the direct use of $args - instead, use utility methods via $curproc - -2003/12/22 - - Mail::Delivery::Queue - define the following methods and modified to use it: - new_dirpath deferred_dirpath active_dirpath info_dirpath - sender_dir_path recipients_dir_path - *_dirpath() -> *_dir_path(). - -2003/12/21 - - variables - + $list_command_default_maps - + $newml_command_ml_admin_default_address - - etc/install.cf.in - FML::Install - remove hard-coded language dependent information by moving it to - $nl_template_files in install.cf.in. - -2003/12/20 - - FML::Command::Admin::list - use $list_command_default_maps not hard-coded value. - change default map to $recipient_maps not $member_maps. - - FML::Command::Admin::newml - use $newml_command_ml_admin_default_address as $ml-admin value. - if unspecified, use the default fml owner value. - - FML::Command - define get_mode() and set_mode() and modified to use it. - -2003/12/10 - - Mail::Message::DB - quick hack for trouble making html indexs and working - distribute. - -2003/11/30 - - variables - FML::Credential - FML::Command::Auth - FML::Process::{Command,Distribute} - FML::Restriction::Post - rename: $system_accounts -> $system_special_accounts. - -2003/11/29 - - 機械処理(および、その出力形式をカスタマイズ)しやすいログを出力する - オプションを作りこむ。 - - --log-computer-output コマンドラインオプション - $use_log_computer_output と $log_computer_output_engine を定義する。 - フォーマットは $log_computer_output_engine で指定するモジュールで変 - えてくださいな。 - - etc/command_line_options - FML::Process::Kernel - support --log-computer-output option - - FML::Process::{Command,Configure,Distribute,Error,Kernel} - FML::Log::Print::Simple - define $use_log_computer_output. - modify FML::Process::* to use it. - - FML::Process::Kernel supports customization by - $log_computer_output_engine definition. - - $curproc->log_message_init() is called within prepare() method - of each program. - - FML::Process::Debug - implement config() method. - - FML::User::DB - use $curproc->config() to get config object. - - variables - FML::Header - x_ml_name -> outgoing_mail_header_x_ml_name - -2003/11/27 - - FML::User::Control - check if $buf retruned from IO::Adapter is defined. - - IO::Adapter::File - bug fix get_key_values_as_array_ref() - -2003/11/26 - - list コマンドの拡張、あらゆる map を表示可能にした。 - - FML::Command::Admin::list - try to list up arbitorary map if could. - FML::User::Control::{userlist -> print_userlist} - - IO::Adapter::{Array,DBI,File} - implement get_key_values_as_array_ref() to return key and all values - as ARRAY_REF. - - FML::User::Control - rename method::userlist -> print_userlist - - cal get_key_values_as_array_ref() of IO::Adapter to get key and all - values. - - So, print_userlist() print out "key values ...". - - アドレスを比較する関数で大文字小文字を区別する/しないという機能を実装 - また、互換性のため、デフォルトを case insensitive (区別しない)に変更。 - - variabes - address_compare -> address_compare_function - - FML::Credential - bug fix variable overload - -2003/11/25 - - FML::User::Control - remove debug condition - - FML::Credential - variables - implement switch to toggle case sensitive check of mail address. - +use_address_compare = yes - +address_compare_type = user_part_case_insensitive - -2003/11/24 - - FML::Process::Switch - ensure valid exit code - -2003/11/23 - - FML::Confirm - FML::Command::User::{chaddr,confirm,off,on,subscribe,unsubscribe} - FML::Cache::Journal - FML::Data::Deadline - separete database part in FML::Confirm to FML::Cache::Journal - which can be shared between other modules. - - change FML::Confirm::new() to take $curproc. - - FML::Command::Admin::{addadmin,addmoderator,chaddr,deladmin, - delmoderator,digest,list,off,on, - subscribe,unsubscribe} - FML::Process::Utils - create FML::User::* class to manipulate user database. - 1. move FML::Command::UserControl to FML::User::Control class. - 2. implement FML::User::DB (committed later). - - variables - define the folloging variables: - + $primary_user_db_gecos_map - + $primary_user_db_subscribe_date_map - + $user_db_gecos_maps - + $user_db_subscribe_date_maps - - Mail::Message::ToHTML - try to mask raw addresses in signature. - rename::_who_of_address() -> _address_to_gecos() - - FML::User::DB - avoid duplication. - - FML::User::Control - FML::User::Info - run FML::User::Infoal->import_from_mail_header() to save user info - included in the header for further use. - -2003/11/18 - - FML::Confirm - FML::Command::User::confirm - fix argument FML::Confirm::is_expired($id) from time to id. - - FML::Credential - implement is_user_part_case_sensitive() and modified to use it. - we should attach $self internal directly even if within the - same module. - -2003/11/16 - - ドメインの扱い(デフォルトおよびバーチャルドメイン)の拡張(その1終了) - - FML::Command::Admin::newdomain rmdomain - FML::Process::Utils - FML::HomeDir::Prefix - switched to new ml_home_prefix framework, which is enhanced virtual - domain operation. See fml-devel in 2003::10. - - FML::Command::Admin::newdomain rmdomain - FML::Process::Configure - fixed argument handling to support: - o makefml method domain - o fml domain method - - FML::Process::Debug - we use this module as simplified FML::Process::Kernel for debug. - define simplified version of some following methods: - +mkdir - +log - +logwarn - +logerror - +ml_home_prefix - -2003/11/11 - - FML::Header::MessageID - change message-id format to match RFC2822 - -2003/11/08 - - Mail::Message::Encode - disable Encode use even on >= 5.008 since we are not ready. - - perl 5.8 では Encode をつかうべきなんだろうけど、今は Jcode を - 使うコードしかないので、「if 5.8 …」の部分を一旦、使わないこ - とにする。 - - FML::Command::UserControl - call croak() if address to remove not found - -2003/11/07 - - Mail::Message::ToHTML - Mail::Message::ToHTML の拡張 - add $versionid - add new comment tag at html_begin() for file magic - change @header_field remove same information (X-xxx) and add - Message-Id - -2003/11/05 - - ドメインの扱い(デフォルトおよびバーチャルドメイン)の拡張のはじまり - - FML::Process::Kernel - etc/main.cf.in - define $primary_ml_home_prefix_map in main.cf. - FML::Process::Kernel imports it. - -2003/11/02 - - FML::Process::Utils - FML::Process::CGI::Kernel - move safe_cgi_action_name from FML::Process::Utils to - FML::Process::CGI::Utils. - - FML::Process::Kernel Utils - debug_level() -> get_debug_level(). - sort definitions::{set,get}_print_style(). - -2003/11/01 - - 変数体系のクリーニング: 階層構造、命名規則 - - よりシステマティックな変数命名ルールを考えていくと、ここでも、 - 基底クラスと継承という考えを(ある程度)導入する方がよいと思う - ようになりました。 - - が、ものすごく厳密にやると逆にわけ分からないので程ほどに。 - - 例: - mail_何とか - mail_default_何とか - - use_incoming_mail_何とか - incoming_mail_何とか - - use_outgoing_mail_何とか - outgoing_mail_何とか - - use_report_mail_何とか - report_mail_何とか - - この例でも、厳密には outgoing_report_mail とかするべきなんでしょ - うけど、そこまではやらないのがほどほどってところでしょうね。 - -2003/10/30 - - variables - FML::Process::Kernel - header_loop_check_rules -> incoming_mail_header_loop_check_rules - use_header_loop_check -> use_incoming_mail_header_loop_check - body_loop_check_rules -> incoming_mail_body_loop_check_rules - use_body_loop_check -> use_incoming_mail_body_loop_check - body_cksum_cache_dir -> incoming_mail_body_cksum_cache_dir - - variables - has_* -> system_has_* - -2003/10/29 - - import im-146. - -2003/10/26 - - FML::Install - etc/install.cf.in - To remove hard-coded file list to install as sample, - define $sample_cf_files in install.cf and use it. - - FML::Process::Kernel Switch - etc/main.cf.in - define $site_default_config_cf to remove hard-coded - site_default_config.cf. sort entries in main.cf. - -2003/10/22 - - variables - FML::CGI::User - change address list shown on the cgi menu from member to - recipient. - -2003/10/17 - - 変数名の変更 - command_prompt -> command_mail_reply_prompt - cgi_menu_map_list -> cgi_menu_address_map_list - cgi_menu_default_map -> cgi_menu_default_address_map - - command_prompt -> command_mail_reply_prompt - - summary_file -> article_summary_file - summary_format_style -> article_summary_file_format_style - summary_format_address_length -> article_summary_file_format_address_length - - default_file_mode -> file_default_mode - default_directory_mode -> directory_default_mode - - move *_mode definitions from basic.cf to file.cf. - - remove duplicated $default_directory_mode. - - FML::Process::CGI::Kernel - Mail::Message::Charset - Mail::Message::Charset has tables on code, charset and languge. - FML::Process::CGI::Kernel is modified to use it. - - FML::Command::Admin::log - define log_file_*_charset and modify log module to use it. - -2003/10/16 - - charset の取り扱いを拡張した。 - resutructure/enhance charset definitions: - ${category}_default_charset and ${category}_charset_{ja,en,...} - - FML::Process::CGI::Utils - cgi_var_language() returns '' not 'japanese' if language info - not found. - - FML::Process::CGI::Kernel - bug fix _cgi_resolve_ml_specific_variables() for correct ml_* - handling. - - follow HTTP_ACCEPT_LANGUAGE information. - fix log_file when admin::*.cgi runs. - add $domain_local_log_file - add $domain_local_log_file - - FML::Process::CGI::Kernel - FML::CGI::ThreadTrack Calendar Menu - FML::Command::Admin::log - language_of_cgi_message() -> get_charset("cgi") - - FML::Process::Kernel - Mail::Message - Mail::Message::Language - consider Accept-Language::(but not used yet now ;-). - - FML::Process::CGI::Utils - FNF::add comments - - FML::Process::CGI::Kernel - bug fix charset handling. - - FML::Command::SendFile - FML::Digest - messager::rfc822 part not need charset ;) - - FML::Process::Utils - bug fix masking variable definition - - remove language_of_cgi_message() - - implement set_accept_language_list() and - get_accept_language_list(). - - remove obsolete language_of_reply_message(). - - get_charset() can handle accpet-language::and charset requested by - other module via PCB. - -2003/10/15 - - FML::Digest - FML::Command::SendFile - FML::Process::Kernel Utils - implement get_charset() and set_charset(). modified to use it to - treat current charset changed dynamically on the fly. - - FML::Process::CGI::Kernel - enable languge change function - - variables - define $default_cgi_language, $cgi_language_list - -2003/10/14 - - fml/share/message/ is translated to English. - euc-jp/* is translated to corresponding us-ascii/*. - - FML::Process::Kernel - if (defined $pcb) { ...} - - FML::Process::CGI::Kernel Utils - define cgi_var_language() and use it - - Mail::Message::DB - oops, remove debug message output - - FML::Filter::MimeComponent - recursive multipart checks - - FML::Process::CGI::Kernel - FML::CGI::List ML Menu User - implement cgi_hidden_info_language() and modified to use it. - It holds language info within CGI operations. - -2003/10/07 - - FML::Command::Admin::log - fix html style: - <pre>str1<::pre> <pre>str2<::pre> ... -> <pre>str1\nstr2 ... <::pre> - -2003/10/06 - - FML::Process::Distribute - Mail::Message::DB ToHTML - handle article subject specilly where the key in db is - "article_subject". - - FML::Command::Admin::log - - fix printing_style value::cgi -> html - -2003/09/30 - - Mail::Message::DB - create article_$header db too. - - FML::Restriction::Base - define language regexp - -2003/09/29 - - FML::Process::Distribute - disable _old_thread_check() - -2003/09/27 - - natural language extension in cgi menu. - - FML::CGI::Admin::{List,ML,User} -> FML::CGI::{List,ML,User} - - FML::Process::CGI::Utils - FML::CGI::List ML User - define new methods::cgi_var_address_map() cgi_var_address_map_list() - cgi_var_action() cgi_var_frame_target() - - switched to use cgi_var_*(). - - sort::cleanup initialization parts in each cgi_menu(). - - FML::CGI::ML - cgi_var_ml_name_list($ml_domain) -> cgi_var_ml_name_list() - - FML::CGI::User - fix selected_key name - - FML::CGI::List - add reset button - - FML::Config - bug fix expand_variable_in_buffer() to match as many as could. - - FML::Process::Kernel - make message_nl() handle enable language translation - - FML::Process::CGI::Utils - define methods::cgi_var_navigator_title(), cgi_var_fml_project_url(). - -2003/09/26 - - ml-admin/*/*.cgi を利用可能にする - - variables - define $commands_for_ml_admin_cgi - - FML::Process::CGI::Kernel - FML::CGI::Admin::Menu - FML::Command::Admin::newml - FML::CGI::Menu - FML::CGI::MLAdmin::Menu - FML::Process::CGI::Utils - change *::CGI:::class architecture. - - FML::CGI::*Admin::Menu inherits FML::CGI::Menu. - - methods in FML::Process::CGI::* returns the value by checking the - current cgi mode (admin or ml-admin). - - FML::CGI::Admin::ML - FML::CGI::Admin::User - FML::Command::Admin::list - FML::Process::Utils - change arguments of get_ml_list() to remove $args. - - FML::Process::CGI::Kernel - use cgi.*.top for top level help - -2003/09/20 - - FML::Process::Switch - define _find_longest_matched_entry() function and use it to - find more specific entry for getopt parameters and module - definitons. - -2003/09/19 - - FML::Process::Switch - implement _filespec_splitdir() which split filename to - @filepath but it uses File::Spec only in > perl 5.6.1. - - more specific match for $0 to resolve module we should use. - - FML::Process::Utils - fixed to avoid uninitialized ... - - etc/command_line_options - define --log-dup anyway - - FML::Header - FML::Header::MessageID - FML::Process::Kernel - new Header->add_message_id() - change Header::MessageID->gen_id() Args - change in Process::Kernel->_add_info_on_header() add add_message_id() - -2003/09/16 - - update CPAN - updated to File-Spec-0.85_03. - Jcode updated to 0.83 - -2003/09/14 - - FML::MTAControl::Procmail - typo - - FML::Process::{Flow,Kernel,Switch} - Process::Flow and Process::Switch classes need to know $curproc - pointer each other. - - fix log message duplication mechanism. - - define global_tmp_dir_path(), be_quiet() in FML::Process::Kernel. - -2003/09/13 - - etc/modules - FML::Process::Switch - extension: compare $0 against entry etc::modules by - considering subdir. - - FML::Process::Switch - fix $0 handling for *.cgi: - program_fullname => $ENV{ 'SCRIPT_FILENAME' } || $0 - - FML::Process::CGI::Kernel - use $curproc->config_cf_filepath(). - - FML::Process::Kernel - implement ui_message(). - change label of log() from ok to info. - - FML::MTAControl - FML::Command::Admin::{edit mailq newml rmml} - FML::MTAControl::{Postfix,Procmail,Qmail,Sendmail} - use $curproc->ui_message() instead of "print STDERR ...". - - FML::Filter::MimeComponent3 - Mail::Message - fix variable initialization to avoid undefined reference warning. - - FML::Process::Configure - remove close_stderr_channel_if_quiet_option_specified(). - - FML::Process::Utils - implement is_cgi_process(), is_under_mta_process(). - - -2003/09/11 - - FML::Command::Admin::newml - clarify error messages more. - - FML::MTAControl::Postfix - handle default::virtual domain properly. - -2003/09/08 - - Mail::Message - Mail::Message::{ToHTML,Encode} - =?shift_jis? ... メールの取り扱いを修正 - 各オブジェクトにおける charset と encoding の扱いを修正 - -2003/09/06 - - MLの消去方法の拡張 - MLを消した際、ディレクトリを日付名つきのものにする。 - これで、何度、消しても大丈夫#って、そんなに何度も消すかな? - - /var/spool/ml/elena - -> - /var/spool/ml/@elena.20030906 - - FML::Command::Admin::rmml - FML::Process::Utils - use removed_ml_home_dir_path() method to determine the dir - path used as the removed $ml_home_dir. - -2003/09/05 - - FML::Process::Utils - escape $curproc in eval - - FML::Process::Kernel - bug fix::we should not use $main_cf in this module. - clean up. - more comments. - -2003/09/04 - - FML::Command::Admin::get newml rmml - use $curproc->config() - -2003/09/02 - - FML::Process::Calendar - bug fix wrong lvalue - -2003/08/30 - - use $curproc->config(), pcb() not { config }, { pcb } respectively. - - FML::Process::Kernel - add simple log message queue logic as a prototype. - -2003/08/24 - - Mail::Message::ToHTML - print STDERR ... if $debug. - - FML::Config - print STDERR ... -> carp(...) - - File::Rotate - IO::Adapter::DBI File - remove debug::print STDERR .. - - FML::Process::CGI::Param - remove debug - - FML::Process::ConfViewer - save $@ via logwarn() not print STDERR .. - -2003/08/23 - - use log*() methods - define $curproc->log, logwarn, logerror and log_message() methods. - modified to use $curproc->log*() interface. - - Mail::Message::Checksum - use croak() not FML::Log() - - FML::Process::Kernel - sort function definitions. - - FML::Process::QueueManager - FML::Mailer - new FML::Mailer $curproc; - - FML::{Article,Digest,Error,Filter,Header,Mailer} - FML::Article::{Sequence,Summary,Thread} - FML::Error::Cache - FML::Filter::MimeComponent3 - FML::Process::Utils - FML::Restriction::Post - modified to use $curproc->log*() methods. - -2003/08/20 - - FML::Process::Utils - Mail::Message::ToHTML - define the detail of address masking against spammers. - $use_html_archive_address_mask = yes - $html_archive_address_mask_type = all - - new variables - use_html_archive_address_mask = yes - phtml_archive_address_mask_type = all - -2003/08/18 - - --quiet オプション創設 (fml と makefml コマンドだけ) - - FML::Process::Configure Kernel - support --quiet options for makefml and fml. - It closes STDERR before the main routine begins. - - define close_stderr_channel_if_quiet_option_specified(). - - etc/command_line_options - --quite option for fml and makefml. - clean up. - -2003/08/16 - - FML::Process::Kernel - check whether $ml_home_dir not exists in _init_lock(). - - Mail::Message - modify logic to find the start point of multipart. - correct handling of the first dash-boundary. - XXX this logic is effective but wrong. - -2003/08/15 - - FML::Process::Utils - Mail::Message::ToHTML - test html_archive_address_mask mask or nomask - address_mask use To and Cc - -2003/08/06 - - Mail::Bounce::Freeserve - Mail::Bounce::Language::Japanese - moved Japanese contnet to Mail::Bounce::Language::Japanese. - bugfix regexp - - Mail::Bounce - enable freeserve.en.jp - - FML::Process::Distribute - clarify old::new thread engine routines. - rename htmlify() to _htmlify() to clarify it is private. - -2003/08/05 - - Mail::Bounce::Freeserve - -2003/08/03 - - FML::Process::Distribute - fix arguments used in the case of key - "error.reject_notice_preamble" (PR by fml-devel:503). - -2003/08/02 - - Document translation to English completed up to 70 % ? - - Mail::Message::ToHTML - reduce warning if missing from or subject at sub - _print_li_filename() - -2003/08/01 - - FML::Restriction::Post - deny_reason not over write - -2003/07/24 - - Document translation to English completed up to 40 % ? - - etc/default_config.cf and etc/config.cf are translated. - -2003/07/23 - - Document translation to English starts - -2003/07/22 - - Mail::Message::Language::Japanese::Subject - nuke todo::method-ify done. - - Mail::Message::Date - implement speculate_timezone() to remove hard-coded timezone - +0900 :-). - - FML::Process::Kernel - use our own Date::field when we use Mail::Message::Compose - (MIME::Lite). - - Mail::Message::Encode - detect_code() should not call croak() but return 'unknown'. - we can handle Japanes and English, so fixed comments. - -2003/07/21 - - import Time-modules-2003.0211 to use Time::Timezone. - - clean up ... - - Tie::JournaledDir JournaledFile - clean up. - - change the match conditoin parameter name to "match_condition". You - should specify "first" or "last" as match_condition in - Tie::JournaledFile::new() method. - - Tie::JournaledFile::change default match condition to "last match". - - Mail::ThreadTrack::Analyze - FML::Article::Summary - Mail::Message::Date - method-ify date_to_unixtime() of Mail::Message::Date. - - Mail::Message::Checksum Utils - import search_program() into Mail::Message::Utils module. - modified Checksum to use it. - - FML::Header::Subject - Mail::Message::Language::Japanese::Subject - method-ify cut_off_reply_tag() - -2003/07/20 - - Mail::Message::DB - comment on analyze() - - restrict demand copying only for the previous messages before - the current one. - - Mail::Message::ToHTML - Mail::Message::Thread - moved analyzer dispatcher to ::Thread module to use analyzer - independetly. - - Mail::Message::Thread - analyze() accpets $id if specified. - - FML::Process::{Distribute,Utils} - separete thread_db_args() routine prepares thread information. - pass $aritcle_id to analyze(). - -2003/07/19 - - Mail::Message - merge udb branch to switch to the new thread engine - fixed to co-work with udb well. - - variables - defined $udb_base_dir - -2003/07/03 - - Mail::Message::ToHTML - change regexp $url$trailor - -2003/06/29 - - FML::Command - FML::Command::SendFile - FML::Command::User::get - check the number of request in get commands. - - update messages - -2003/06/26 - - FML::Header Filter - add $debug for debug message to Log at only debug-mode - -2003/06/24 - - Mail::Message[udb]::ToHTML - pass $old_db_base_dir to DB module - - Mail::Message[udb]::DB - save all values of fields. - - for filtering system, save other header fields::return_path posted - x_posted sender x_sender received x_received. - - demand copying from old db to udb if needed(demaned) when _ - db_get() called. - - bug fix negative cache handling et.al. - -2003/06/23 - - variables - remove $system_message_charset and $system_message_subject, - which are not used. - - Mail::Message::ToHTML - bugfix at debug - -2003/06/21 - - Mail::Message - bug fixed::message_text() should be able to handle differenct - type $data. - -2003/06/15 - - variables - add check_date to $article_header_filter_rules (PR by - fml-devel:478). - -2003/06/14 - - Mail::Message::DB [udb] - implement separete method _save_header_info() to handle header info. - - implement get_as_array_ref() and get_table_as_hash_ref(). - fixed to cooperate with ToHTML module. - add more print debug codes. - - thread_summary() return more info::id, html_* - move thread_summary generator wrapper from ToHTML to DB - - Mail::Message::ToHTML [udb] - modified to use Mail::Message::Encode::decode_mime_string(). - rewritten based on new DB module. - remove ndb_key(), which is not used. - fix filename to use db value. - fix filepath of thread links. - add a lot of printf debug. - move thread_summary generator wrapper from ToHTML to DB. - remove __str2array(). - $self->{ _thread_list }->{ $id } (STR) changed to - $self->{ _hint_ref_key_list }->{ $id } (ARRAY_REF). - - Mail::Message::{DB,ToHTML,Utils} [udb] - implement Mail::Message::Utils::from_to_name() and modified modules to - use it. - - Mail::Message::Utils [udb] - fixed to use Mail::Message::Encode - -2003/06/11 - - FML::Filter::Header - add check_date() for missing date field - -2003/06/06 - - Mail::Message::MH - against longloop for underrun and overrun - -2003/06/04 - - import im-145 - -2003/06/03 - - Mail::Message[udb]::DB - monthly_to_key_list -> month_to_key_list - - Mail::Message[udb]::ToHTML - remove _address_clean_up(), which is not used. - -2003/06/02 - - Mail::Message::IMPLEMENTATION [udb branch] - update idea::sync with current implementation - - Mail::Message::ToHTML [udb branch] - modified to use DB::thread_summary($id). - rename method to be more easy for eyes. - remove not used variables. - FNF a little. - -2003/06/01 - - スレッドデータベースの再設計 - 別ブランチでやってるので source-changes ML にしか動きが見えな - いとは思う。 - - Mail::Message::ToHTML [udb branch] - Mail::Message::DB [udb branch] - move main db manipulation code from ToHTML to DB. - XXX caution::but the index generator not works now. - - Mail::Message::DB [udb branch] - implement thread_summary(). - -2003/05/28 - - variables - error_analyzer_function::error_continuity -> histgram - define $error_analyzer_function_list - - FML::Error - FML::Error::{Analyze,Cache} - FML::Error::Analyze::{histgram,simple_count} - restructuring under FML::Error class to be more extensible. - - move main part of print() to FML::Error::Analyzer::* modules. - So, print() format depends on FML::Error::Analyzer::* class. - - FML::Command::Admin::error - list up summary for each algorithm defined in - $error_analyzer_function_list. - -2003/05/27 - - Mail::Message::ToHTML - print text in "unknown MIME encoding" case. - try to validate key and value in hash operation but ... (?) - -2003/05/26 - - IO::Adapter::{Array,DBI,File} - remove not used method: - - get_value_as_str() - - get_value_as_array_ref() - -2003/05/20 - - FML::Command::Admin::error - disable lock since FML::Error locks itself if needed. - - FML::Command::Admin::error - FML::Error - move the status dump code from FML::Command::Admin:error to - FML::Error. - -2003/05/16 - - Mail::Message::ToHTML - bug fix masking of raw From::address - -2003/05/14 - - FML::Filter - FML::Process::Command - FML::Filter::Size - implement size limit filter for both article and command mail. - - 入力に対するサイズ制限フィルタを実装しました。 - -2003/05/13 - - FML::Filter - FML::Process::Distribute - use $_arg_address not $_arg_sender - - use "reject_notice_preamble" in filter rejection notice. - it describes: - o the reason why we do not use mime::multipart. - o this message is not from you but somebody forged. - - フィルタが弾いた時に注意書きをつける。 - - FML::MTAControl::Postfix Sendmail - check the existence of path_* programs - -2003/05/12 - - FML::Command::Auth - FML::Command::Admin::chaddr changepassword deladmin delmoderator - digest off on unsubscribe - we should operate only $primary_*_map not $*_maps in deleting the user - address. - - メールアドレスを削除するコードの修正 - 常に primary_*_map にのみ追加/削除を行なう。 - -2003/05/08 - - FML::Filter - add $msg_args at article_filter_reject_notice() - - Mail::Message - whole_message_as_str(): - o indent is null by default. - o fix the trailing indent replace. - -2003/05/05 - - variables and configure - search spamassassin, spamd and spamc, and set path_${it} for further - extension. - -2003/05/04 - - Mail::Bounce::SimpleMatch - E500 SMTP Mail Service ? - -2003/05/03 - - FML::Process::Error - fix comments (FNF). - - FML::Header - style, aligned with FNF. - -2003/05/01 - - variables - define article_filter_reject_notice_data_type - - FML::Process::Utils - fix typo::maitainer->maintainer - - FML::Filter - forward the rejected message by string or multipart? - It is determined by $article_filter_reject_notice_data_type. - - Mail::Message - implement whole_message_header_as_str() - - remove whole_message_as_string_ref(). - - implement whole_message_as_str() to extract the first part of this - message as a string. - -2003/04/29 - - FML::Restriction::Base - permit user+ext@domain - - libexec/error がエラーメッセージを再転送可能にした。 - 転送先は $maintainer_recipient_maps に従う。デフォルトは未定義 - - variables - define $maintainer_recipient_maps - - FML::Process::Error - define sender as $maintainer as a dummy sender to avoid - unexpected error. - - if $maintainer_recipient_maps defined, forward error message - to it. - - FML::Process::Kernel - permit use of reply_message() for libexec::error - - FML::Command::Admin::mailq - modify format to be more similar to usual mailq output. - -2003/04/21 - - FML::Header - obsolete mime_boundary() (same Mail::Message - _header_mime_boundary()) - -2003/04/20 - - FML::Article - not *path() method but spool_in() creates subdir if needed. - -2003/04/19 - - etc/default_config.cf.ja.in - etc/src/config.cf.ja/acl.cf - FML::Error - we should handle addresses used by fml such as elena@fml.org, - elena-ctl@fml.org et.al. exceptionally in handling errors. - - MLが使うアドレス( elena とか elena-ctl )は無視しないとね - - Mail::Bounce - enhance smtp32 rules - - FML::Command::Admin::newml - FML::Config::Convert - etc/aliases - etc/postfix_virtual - fix virtual domain handling (fml-devel:417) - - バーチャルドメインのテンプレートが間違ってたので修正。 - 今まで作っていた postfix の virtual テンプレートと - うまくいくようにした。 - -2003/04/18 - - etc/command_line_options - define menu.cgi - - FML::Command::Admin::newml - mkdir $ml_home_prefix if not found - - Mail::Message - _header_mime_boundary() boundary detect no quote string case - -2003/04/16 - - article_filter_reject_notice_recipients - change attribute names of recipient used in filter rejection - notice: admin -> maintainer - - FML::Header - rewrite_received() outside loop $header->delete($org) for bad - count - -2003/04/15 - - Mail::Delivery::Queue - reset alarm after flock() - - FML::Header - mime_boundary() boundary detect change short match and add no - quote string - -2003/04/09 - - FML::Header - add rewrite_received() for replace Received::to X-Received: - -2003/04/07 - - Mail::Bounce::SimpleMatch - add analize ybb.ne.jp and Webshield - -2003/04/04 - - フィルタが弾いた時のメッセージの返り先が微妙に間違ってるのを修正 - FML::Process::Kernel - reply_message_add_header_info() should pass $msg_args to - reply_message(). - -2003/03/28 - - rename method: article_id_max() -> article_max_id() - -2003/03/24 - - img/ is updated to im-144. - -2003/03/18 - - 【重要】 giant lock をなくす。粒度の細かいロックへ移行した。 - - FML::Command::Admin::edit get mailq - FML::Command::User::deny guide help objective - not need lock - - FML::Process::Kernel - more logs around locks. - add deadlock warning. - reuse lock object if could. - - FML::Command::UserControl - modify chaddr algorithm::"del() and add()" -> "add() and del()". - -2003/03/17 - - 特定のデータ構造を操作する関数をできるだけ集約するべく改造する - →ロックの粒度を細かくするため - - FML::Process::Kernel - Mail::Delivery::Queue - fix that setrunnable() of Mail::Deliver::Queue returns the - correct value and FML::Process::Kernel logs the value. - - FML::Process::Distribute - use new lock channel article_spool_modify to exclusive lock for both - sequence updating and spool writing. In addition, locks at channel - article_sequence and article_spool are also done in each critical - section. - - FML::Command::Admin::chaddr - move the main code to FML::Command::UserControl. - modified to use FML::Command::UserControl. - - FML::Command::Admin::changepassword - move the main code to FML::Command::Auth. - - FML::Command::Auth - implement change_password(). - - FML::Process::Utils - get_address_list() uses get_user_list() in FML::Command::UserControl. - - FML::Command::UserControl - implement user_chaddr() and get_user_list(). - -2003/03/16 - - removed "fmlthread". - instead of these, use the following commands: - makefml thread $ml [options] - - FML::Article - FML::Article::Sequence - define new lock channel::article_spool - move id related functions to FML::Article::Sequence - - FML::Article::Thread - fixe to meethod style. - FNF::fix comments. - - FML::Command::SendFile - use $curproc->article_id_max() to get the last article id. - - FML::Command::Admin::spool - need no giant lock. - FML::Spool -> FML::Article::Spool - fix argument handling. - - FML::Digest - define lock channel for digest_sequence_*. - use $curproc->article_id_max() if could. - clean up handling of digest_sequenc_file. - - FML::Error - FML::Process::Error - clean up lock on error cache. - move lock mechanism into only FML::Error module. - XXX lock channel name is changed but hard-coded yet now. - - FML::Error - fix lock channel name - - FML::Process::Utils - article_id_max() is just a wrapper for FML::Article::id(). - -2003/03/15 - - removed "fmlspool". - instead of these, use the following commands: - makefml spool $ml - - File::Sequence - return 0 if sequence file not found - - FML::Process::Command - specify the definition on $command_args HASH STRUCTURE. - -2003/03/14 - - removed "fmlerror", "fmlsummary" and "fmlsuper". - instead of these, use the following commands: - makefml error $ml - makefml summary $ml - makefml mailq $ml - - FML::Process::Utils - imlement debug_level() - - FML::Process::{Flow,Kernel} - define finalize() at the last of flow. - finalize() is only used for debug now. - - FML::Header::Subject - Mail::Message::Date - validate input - - FML::Article::Summary - validate input. - implement dump() method to show the whole summary_file. - -2003/03/11 - - FML::Sys::Alias - basic functions to deal with aliases file - - FML::Process::Switch - FML::Config::Tiny - main.cf のデフォルト(バージョン依存)と /etc/fml/main.cf を - マージして評価する。そうしないと新変数が未定義になるなど - 不都合がいろいろ出てくる。 - - we use FML::Config::Tiny, which just reads and parses the file. - It is a tiny version of FML::Config module. - - /etc/fml/ - install main.cf at $default_config_dir/ - -2003/03/09 - - Mail::ThreadTrack::Print::HTML - $action = $curproc->safe_cgi_action_name() - -2003/03/06 - - variables - $use_article_filter_reject_notice - $article_filter_reject_notice_recipients - - etc/main.cf, etc/install.cf - define $default_module_config - define $default_command_line_option_config - - FML::Process::Distribute - - FML::Process::Distribute - enable switch by $use_article_filter_reject_notice - FNF: use get_as_array_ref() - - FML::Process::Addr - switched to use FML::Sys::User - - FML::Restriction::Command - nuke is_valid_mail_address() which is not used. - - FML::Process::Kernel - validate From::syntax in credential updating. - FNF: use get_as_array_ref() - - FML::Process::Kernel - FML::Restriction::Post - moved main codes of _check_restrions() to methods defined in new - FML::Restriction::Post module. - switched to use FML::Restriction::Post. - - FML::Process::Scheduler - remove dummy modules::queue_in() and exits() - - FML::Error::Cache - modified not to use _new(). - removed _new(). - - FML::MTAControl::Procmail - clarify *virtual* functoins are dummy. - These module do not need to handle virtual issue since - ml_name@ml_domain is explicitly written in procmailrc. - - FML::Process::Switch - remove hard-coded module specific configuraitons. - resolve module name and the options based on etc::modules. - - use $default_config_dir/modules to resolv map between prorame - name and class (+ options). - - use etc::command_line_options to resolve getopts() parameters. - default_module_maps -> default_module_config. - - FML::Filter - FML::Process::Utils - implment new method convert_to_mail_address() and use it - to expand {admin, sender, ...} to the corresponding mail address. - -2003/03/05 - - FML::Header - do not show List-Help::unless $use_command_mail_program specified. - implement rewrite_errors_to() - - FML::Process::Command Distribute - return header for debug in error - - FML::Process::Kernel - implement reply_message_add_header_info(). - - disable reply_message() in _check_restrictions(). - - add "$curproc->caller_info($msg, caller) if $debug;" at a few places. - implement caller_info(). - - FML::Filter - 「フィルタに弾かれたぞ」とメッセージを返す (プロトタイプ) - - messages - 「メンバーじゃない」時のメッセージを改良 - ウィルスかもよ?などとヒントも解説する。 - -2003/03/03 - - FML::Article - bug fix::try to mkdir $dir ($subdir) when $use_subdir enabled. - - Mail::Message::Spool - bug fix::check value not by defined() - -2003/02/18 - - FML::Error - FML::Process::Error - use FML::Error->db_open() not FML::Error::Cache for cache db open. - - FML::Filter - fix typo - -2003/02/16 - - clean up campaign of codes - - variables - +summary_format_address_length - +cgi_menu_map_list - +cgi_menu_default_map - - FML::Config - check the existence in load_file() - nuke ^\s* and \s*$ in array expantion. - yes() and no() compares the value case insensitively - bug fixed to work both FIRSTKEY() and NEXTKEY(). - add debug code. - - FML::CGI::Calendar ThreadTrack - FML::CGI::Admin::Menu - FML::Command::HTMLify - FML::Command::Admin::log - FML::Process::Distribute - use language_*() method to determine $charset - - FML::Article::Summary - modified to use $summary_format_address_length. - it determines address length in summary file. - - FML::Command::User::get - update comments and nuke todo. - - FML::Process::CGI::Kernel - use language_*() to determine $charset. - remove hard-coded. - we ensure cgi_try_*() returns safe value. - - FML::CGI::Admin::List - nuke hard-coded and use config basd value. - add more syntax checks before main work. - - FML::Process::Utils - implemente the following methods: - is_safe_syntax() - language_default() - language_of_cgi_message() - language_of_reply_message() - language_of_html_file() - -2003/02/15 - - FML::Command::UserControl - use FML::Restriction::Base - - FML::Process::Utils - implement safe_cgi_action_name() - - FML::CGI::ThreadTrack - FML::CGI::Admin::List ML Menu User - FML::Process::CGI::Kernel - switched to use safe_cgi_action_name() - -2003/02/14 - - FML::MTAControl::Procmail - fix code to find ml_name in procmailrc - -2003/02/13 - - Mail::Message - use module global print_mode parameter not private one within - object. - - FML::Command::Admin::off - fixed to use $config->get_as_array_ref(). - - FML::Command::UserControl - FML::Command::Admin::{digest,off,on,subscribe,unsubscribe} - user{add,del}() checks input $address. - nuke the corresponding TODO. - - FML::Command::Admin::check - validate $ml_name existence firstly. - -2003/02/11 - - switch INSTALL.sh to install.pl - インストーラを shell script から perl script へ変更しました! - - FML::Install - define default value (null) for md5 checksum result - - FML::MTAControl - FML::MTAControl::{Postfix,Procmail} - Mail::ThreadTrack::Print::{HTML,Text} - Mail::Delivery::Queue - Mail::ThreadTrack::Print::Message - Mail::Message::ToHTML - FNF: not use $_ - -2003/02/10 - - solaris 9 でもうごいたよ (^^) - -2003/02/08 - - variables - $command_run_*_hook added - - etc/dot-qmail* - change args::ml_home_dir -> ml_name@ml_domain - -2003/02/07 - - Mail::Message::ToHTML - quick hack at sub sub _print_inline_object_link() URL Link - -2003/02/05 - - FML::Process::Command - add $command_run_{start,end}_hook - -2003/02/03 - - FML::Process::Command - FML::Process::Error - stop_this_process() メソッドが意味をなすように修正 - おもに hook のため - -2003/02/01 - - 返事の返し方を変更 (お試し) - 宛先の組ではなく、宛先ベースでメッセージをまとめる - - FML::Process::Utils - implement unique() - - FML::Process::Kernel - unique recipient array before queuing. - implement another strategy of recipient based ququeing (for test). - - FML::Command::UserControl - FML::Command::Admin::chaddr - FML::Command::User::{chaddr,subscribe,unsubscribe} - try exact matching just before changing user. - - IO::Adapter - IO::Adapter::{Array,DBI,MySQL} - remove get_next_value() method. - add todo for get_value_as_* if needed. - update document. - - IO::Adapter - get_next_value() メソッドを削除 - - FML::Command::Admin::chaddr - remove address matched by FML::Credential - in the case of $old_address - - FML::Config - FNF - bug fix wrong argument for chomp(). - - FML::Credential - implement matched_address() method - - FML::Command::UserControl - try to remove address matched by $cred->has_address_in_map(), not - address specified by the function argument. - - FML::Command::Auth - use FML::Crypt not Crypt::UnixCrypt directly. - - variables - enable changepassword, chpass, initpass and passwd as admin - command. - -2003/01/31 - - fix typo: rename Calender to Calendar ;) - -2003/01/29 - - FNF-ify (update/clean up documents, coding style ...) - FML::Install - File::CacheDir Utils.pm - IO::Adapter::AtomicFile - - FML::Command::Admin::newml - FML::MTAControl::Utils - in newml, we should check if $ml_name already exists as a user - name or not. - - FML::MTAControl - add FML::MTAControl::Utils into @ISA - - FML::Process::Calender - prepare() loads default configuration to use $path_* info. - w3m -> $path_w3m - cat -> $curproc->cat() method (XXX temporary use). - - FML::Process::Utils - implement cat() method for convenience - - FML::Command::Admin::unsubscribe - use $config->get_as_array_ref() method. - - install.pl.in - FML::Install - implement is_run_as_root(). - we verify install.pl runs as root. - -2003/01/28 - - FML::Config - expand ${variable} - - FML::Header::Subject - decode() returns tag info, too - - FML::Install - At the first time, do not ask if upgrade or not loader. - bug fix checks in copy_dir(). - copy_dir() install files by preserving [am]time. - - installer perl version - fml/etc/install.cf.in - install.pl.in - -2003/01/27 - - FML::Command::Admin::{deladmin,byeadmin} - mv real codes from byeadmin to deladmin module. - now, byeadmin is a forwarder to deladmin. - - FML::Command::Admin::delmoderator - sync with deladmin codes - -2003/01/26 - - FNF-ify (update/clean up documents, coding style ...) - - FML::Command::DirUtils - use FML::Restriction::Base::regexp_match() to check command - line options. - FNF: remove $_ - - FML::Restriction::Base - define 'command_line_options' regexp. - - FML::Command::Admin::byeadmin - bug fix target maps to handle. - -2003/01/25 - - FNF-ify (update/clean up documents, coding style ...) - - FML::Command::Utils - removed since it is not used. - - FML::Process::Utils - get_ml_list() checks arguments matched with regxp provided by - FML::Restriction::Base. - - FML::Error - FML::Command::DirUtils FileUtils.pm - FML::Command::Admin::dir file.pm - FML::Process::Kernel - FML::Restriction::Base - implement FML::Restriction::Base::regexp_match() and - switched to use it. - - Calender::Lite - FML::Restriction::Base - implement FML::Restriction::Base::regexp_match() can handle special - class "fullpath" not based on regexp. - - switch Calender::Lite to use this method for checking of fully path-ed - directory. - -2003/01/10 - - mime component filter に次の機能を仕込みました。 - - 1) multipart のメッセージの中身がないなら、 - そのパートは切り捨てる - - 2) もし、すべてのパートが無効なら、reject する - - 例: こういうメールの場合を想定したものです。 - text/plain (空) - application/ms-word (virus つき) - - application/ms-word は content filter のルールで削除され、 - 無意味な text/plain は今回の機能で削除され、 - 結局有効なパートがないので reject する(配送しない)。 - - とりあえず、この機能はデフォルトで on です。 - - Mail::Message - fix next/prev link of object chain - implemenet is_multipart() method - - FML::Filter::MimeComponent3 - when $opt_cut_off_empty_part is non zero, we cut off empty part. - Also, reject this message if no effective part in multipart. - - XXX $opt_cut_off_empty_part = 1; by default now. - -2003/01/09 - - FML::Filter::MimeComponent3 - fix wrong logic of handling determined $action vs default_action. - corerct messages. - -2003/01/08 - - FML::Filter::MimeComponent3 - sync default rule w/ etc/mime_component_filter - -2003/01/07 - - variables - postfix_verp_delimiters = += - qmail_verp_delimiters = -= - - FML::Command::UserControl - shorten log messages - - FML::Process::Spool - change argument style - -2003/01/05 - - add new utility - fmlerror - fml - - variables - $fmlerror_*hook added - - FML::Process::Switch - add fmlerror, fix fmlsuper getopt - - FML::Error - FML::Error::Analyze - - implement get_data_detail() - -2003/01/04 - - FML::MTAControl - add && enable FML::MTAControl::Sendmail. - - implement _remove_postfix_style_virtual(), which moved from - FML::MTAControl::Postfix. - - FML::MTAControl::Postfix - postfix_find_key_in_alias_maps()::find system aliases and fml defined - aliases irrespective of the result by postconf. This search uses newly - implemented _find_key_in_file() but it is a bug since it handles file - search only. - - modified to use _remove_postfix_style_virtual(). - - FML::Error::Analyze - add analize day limit - - change day checkpoint at simple_count - add simple_count2() error_continuity2() for error type 4xx - - bugfix missing my at day check values - -2003/01/03 - - variables - add admin_member_maps into member_maps - - FML::Command - define $debug. - more error messages. - - FML::Restriction::Base - implement regexp() method. - FNF-ify. - - FML::Error - modified use FML::Restriction::Base->regexp(). - - FML::Command::{DirUtils,FileUtils} - FML::Command::Admin::{dir,file} - modified to use FML::Restriction::Base->regexp(). - modify messages. - - FML::Command::Admin::{newml,rmml} - get_as_array_ref() to get $newml_command_mta_config_list values. - - FML::Process::Command - FML::Command::Auth - modify log messages. - hide messages for debug mode. - - FML::Process::{Addr,Alias} - fix help message. - nuke not used variables. - -2003/01/02 - - fmlsuper コマンドを追加する。 - キュー管理のための、ちょっとしたコマンドにするつもり。 - - update configure - add fmlsuper - - variables - add $fmlsuper_*hook - - FML::Process::Switch - enable fmlsuper using FML::Process::Super - - FML::Process::Spool - fix description - -2002/12 - - オーバーホール・キャンペーンでした。 - - -2002/12/31 - - Mail::Bounce::SimpleMatch - bug fix trap pattern for more accuracy. - - variables - +path_sum = @SUM@ - +path_gzcat = @GZCAT@ - +path_makemap = @MAKEMAP@ - - define $newml_command_mta_config_list - define $rmml_command_mta_config_list - define $sendmail_virtual_map_file - - change $domain_sendmail_config_dir - $domain_mail_config_dir -> $domain_config_base_dir::sendmail - - FML::MTAControl::Postfix - remove duplicated call "postmap virtual" - - update configure - search sum, digest, gzcat and makemap, too. - -2002/12/30 - - Mail::Delivery::SMTP - Mail::Message - enhance Mail::Message::set_log_function() to override the global log - function within Mail::Message name space. Thie enables all objects - within the current Mail::Message space uses the same log function. - - We need this function to enforce all objects in a chain to use the - same log output channel. - - So, Mail::Delivery enhanced to use this function to fix the lack of - log messages for multipart messages. - -2002/12/26 - - FML::Article - bug fix: defined check for $sfh - - FML::Mailer - not set smtp_log_handle to avoid duplication - - FML::Log - create log file with mode 0600 if could. - it seems o.k. by "Principle of Least Surprise". - -2002/12/25 - - FML::Process::Distribute - not use smtp_log_handle to avoid duplication in - var/mail/outgoing/ (PR fml-devel:345). - - FML::Process::Command - fix comments. - rename::_allow_command() -> _config_allow_command() - -2002/12/24 - - *オーバホール・キャンペーン実施中 - - FML::Process::Command - rename: - o _is_valid_command() -> _config_permit_command() - o _is_valid_syntax() -> _is_safe_syntax() - o _auth_admin() -> _try_admin_auth() - - fix changes. - more log of level exceptions. - -2002/12/23 - - *オーバホール・キャンペーン実施中 - - File::CacheDir - fix comments. - check defined() more. - chop -> chomp. - - File::Sequence - fix comments. - clean up the return value by removing \s*.. - - FML::Command::HTMLify - fix comments. - aggrege duplicated code. - - FML::Command::SendFile - fix comments. - rename: _is_valid_argument() -> _get_valid_article_list(). - sort. - - FML::Command::User::digest - fix comments. - clean up (sort) codes. - - FML::Process::Kernel - clean up. - fix comments. - fix label name. - check address pattern by FML::Restriction. - //o if could. - - IO::Adapter::AtomicFile - bug fix: $fh->close() -> $fh->SUPER::close(). - -2002/12/22 - - FML::MTAControl::Postfix - PR (fml-devel:343) - check the existence of virtual file. - - *オーバホール・キャンペーン実施中 - - IO::Adapter::AtomicFile - cometics. fix comments. - defined() check before $fh->close(). - - Mail::ThreadTrack::Print::Text - fix comments. - add loop label. - - Mail::ThreadTrack::Print::Message - fix comments. - //o - modify variable to be more readable::$h -> header - - Mail::ThreadTrack::Analyze - fix comments. - //o - defined() check more. - - Tie::JournaledDir JournaledFile.pm - fix comments. - clean up variable names. - inform error by croak() more. - - FML::Config Confirm.pm - fix comments. - add todo(s) as comments. - //o - -2002/12/19 - - *オーバホール・キャンペーン実施中 - clean up. - + define label or rename label to more appropriate one for loop. - + use return(). - + use qw() if could. - use ::::o if could. - fix comments. - - FML::Header - s/rerply-to/Reply-To/ - more defiend() check. - - FML::Command::Admin::log - fix comments. - fix typo. - bug fix the usage of _show_log() method. - - FML::Filter::TextPlain - fix comments. add todo(s). - rename $m -> $first_msg to clarify variable function. - remove not used declaration. - -2002/12/18 - - *オーバホール・キャンペーン実施中 - - FML::Header - clean up comments. - require() -> use() - - FML::Log - clean up commnets. - croak() if loading Mail::Message::Date fails. - - FML::MTAControl::Procmail - fix comments and documents. - use $fh->close() not close($fh). - - FML::MTAControl::Postfix Qmail.pm - fix comments - - FML::MTAControl - clean up comments. - define is_valid_mta-type() and modified to use it. - - FML::Header::MessageID - define dummy db_close() - - FML::Process::Addr - clean up comments. - $fh->close() - - FML::Command::DirUtils - clean up comments. - modified to define $variable to describe arguments to execute - and run system($exec). - -2002/12/15 - - *オーバホール・キャンペーン実施中 - - FML::Article - id() returns data on memory or in sequence_file if not found - on memory. - clean up comments. - use $curproc->config(), $curproc->pcb(). - - FML::Article::Summary - redireced to STDOUT if output channel cannot be opened. - add todo(s) as comments. - - ErrorStatus - clean up comments. - defined() check. - forward method::errstr() -> error(). - - FML::Command::Admin::edit - print informational mesage - - FML::Command::Admin::dir - fix comments. - not pass $du_args->{options} to FML::Command::DirUtils module. - - FML::Command::Admin::byeadmin - care for primary_admin_recipient_map - XXX we should handle *_maps not primary_*_map. - - FML::Restriction::CGI Command.pm - clean up comments - - FML::Restriction::Base - clean up comments. - define ${file,dir,command}_regexp. modified to use these regexp(s). - enhance $command_regexp to include [0-9]. - -2002/12/13 - - File::SimpleLock - need write permission for flock on solaris (PR fml-devel:331,332) - -2002/12/12 - - Calender::Lite - cosmetic changes. - fix comments. - fix tag (FILE -> LINE). - - FML::Error::Analyze - defined() - -2002/12/10 - - updated IM modules to im-142 - Thank Tatsuya Kinoshita <tats@mbf.nifty.com>. - -2002/12/09 - - update CPAN modules - import File-MMagic 1.16 - import MIME-Types 1.004 - update MailTools 1.15 -> 1.52 - -2002/12/01 - - FML::Article::Summary - FML::Process::Distribute - bug fix article object handling: - we should not initialize article object under - libexec::distribute runs. pass $article object to $summary - object by append($article, $id). - - FML::Article::Summary - summary date should be sync-ed with article date - -2002/11/26 - - implement fmlsummary program - - new variables - define $fmlsummary*hook - define $summary_file, $summary_format_type - - FML::Article::Summary - FNF-ify. - clean up. - nuke debug. - implement rebuild() to enable "fmlsummary rebuild $ml_name". - make jcode of summary file "jis-jp". - implement append($id). - - FML::Process::Summary - newly added as a main module to run fmlsummary program. - implement rebuild() to enable "fmlsummary rebuild $ml_name". - fix help and conditions to show help - - FML::Process::Distribute - update summary file by calling $summary->append($id) - - FML::Process::Kernel - enable fmlsummary $command $ml_name ... - more defined() check - - FML::Header::Subject - define clean_up(), decode(), delete_subject_tag() to separete - functions. - -2002/11/24 - - variables - $commands_for_privileged_user += digest - - define $commands_for_admin = $commands_for_privileged_user for - conveninence. - XXX remove either in the future. - - FML::Command::Admin::digest - clean up - - FML::Command::Admin::{dir,file} - basic_variables() -> basic_variable() for FML::Restriction::Base - - FML::Process::Utils - enable to handle digest_recipient in which_map_nl(). - -2002/11/20 - - FML::Error::Cache - mkdir $error_analyzer_cache_dir if not exists - - variables - mkdir $error_analyzer_cache_dir in initialization phase - -2002/11/19 - - FML::Command::Admin::digest - init digest on off for admin - - FML::Process::Kernel - bug fix queue identifier generation - - Mail::Delivery::Queue - input of recipients can be duplicated - - Mail::Message::ToHTML - bug fix function call::f() => $obj->f() - -2002/11/18 - - FML::Process::Digest - correct start id calculation - enable queue flush to send digest. - - FML::Digest - FML::Process::Kernel - digest routine can customizes header. - XXX preliminary support. needs overhaul? - -2002/11/17 - - new variables - define $digest_*hook - $primary_digest_member_map = $primary_member_map - $digest_member_maps = $primary_member_maps - $primary_digest_recipient_map = file:$ml_home_dir::recipients-digest - $digest_recipient_maps = $primary_recipient_map - $article_sequence_file (= $sequence_file) for symmetry - $use_digest_program - $digest_sequence_file - $article_sequence_file - - FML::Process::Switch - enable libexec/digest - - File::Sequence - fix get_id(); not use chomp() but use s::[\s\r\n]*$::::. - define set_id($id) to update value in the sequence file. - - FML::Process::Digest - newly created for digest delivery program. - implement _digest(), which is the real function to process digest - message creation. - - XXX mail queue operation is not yet implemented. - - FML::Digest - FML::Process::Digest Kernel.pm - Mail::Delivery::Queue - enabled passing of recipient_maps (ARRAY_REF) into mail queue. - By this, we can now pass $digest_recipient_maps as digest recipients - to mail queue system. - -2002/11/09 - - I-D を消去し、www.fml.org I-D コレクションを見るようにした。 - -2002/11/07 - - FML::MTAControl::Postfix - postconf -d -> postconf (postfix version dependent ?) - - FML::Process::Switch - FML::Process::Addr - INSTALL.sh configure configure.in - fml/bin/fmladdr.in - implement fmladdr command, which shows all users and aliases. - -2002/10/31 - - add configura option: --with/without-mime-component-filter - configure.in - fml/etc/site_default_config.cf.in - configure --with/without-mime-component-filter - -2002/10/29 - - FML::Process::Utils - fix escape of Log(...) in eval q{} - - FML::Command::Admin::newml - prinf "a b c" -> a, b, c - - Mail::Message::ToHTML - umask escaping like splx(): - mask = umask(); - umask( ...) ; # set up umask here - do something ... - uamsk($mask); - - FML::Process::Utils - ensure umask escape in _mkpath_*() - - FML::Command::Admin::newml - handle both public and private directories in initialization phase. - create variables: - $newml_command_init_public_dirs $newml_command_init_private_dirs - - changed newml codes to use them. - -2002/10/28 - - FML::Header::Subject - you can use \U$ml_name\$ in subject tag configuration:) - - FML::Process::ThreadTrack - fix db_update cannot get last_id from _speculate_last_id() use seqfile - - File::Sequence - use chomp at get_id()'s return value - -2002/10/27 - - FML::Filter::MimeComponent3 - bug fix interface between FML::Filter and MimeComponent3 - -2002/10/26 - - FML::Filter::MimeComponent3 - fix initianlization bug - - FML::Filter - use MimeComponent3 as a test - -2002/10/23 - - Mail::ThreadTrack::DB - typofix filepath value at sub db_mkdb() - -2002/10/22 - - FML::Process::Kernel - handle fmlthread $argv same as makefml one - -2002/10/21 - - MIME component フィルタの描き直し - - FML::Filter - re-enable mime component filter based on - Filter::MimeComponent2 - - FML::Filter::MimeComponent2 - - fix rule appling algorithm: - for rule (rules) { - for mp (message) { - check mp by $rule - } - } - - enable to read filter rules from the specified file (-c file). - - show more debug info. - - clean up debug info. debug info changes with debug level - - implement "cutoff" action - - clarify reason in log message - - enhance filter rule to use the reverse condition. - e.g. (whole_type, !type, action). - -2002/10/12 - - Mail::Message::ToHTML - rename index.html to index_all.html - add sub create_top_index() - -2002/10/06 - - Mail::Message::ToHTML - add index reverse code at _update_id_monthly_index() - -2002/10/04 - - variables - define $html_archive_index_order_type - - FML::Command::HTMLify - FML::Process::Distribute - Mail::Message::ToHTML - enabled to handle order in index.html by - $html_archive_index_order_type. - - Mail::Message::ToHTML - o htmlify_{file,dir}() is changted to normal methods for passing - arguments. - - FML::Filter - add prototype for $use_article_non_mime_filter - - FML::Header::Subject - workaround to re-encode subject after subject tag handling - -2002/09/30 - - フィルタリングの再構成 - - FNF-ify - - rename: _load_function() -> _apply_function() - - module name renamed: - o ContentCheck -> MimeComponent - o HeaderCheck -> Header - o BodyCheck -> TextPlain - -2002/09/29 - - フィルタリングの再構成 - - 変数 - reconstruct filter system. create a new file "article.cf", - and gather article_*_filter definitions in it. - - FML::Process::Distribute - sync w:::FML::Filter reconstruction. rename function name - - FML::Filter - following new variable $article_filter_functions, - call the following function sequentially. - o article_header_filter - o article_non_mime_filter - o article_mime_component_filter - o article_text_plain_filter - -2002/09/29 - - FML::Process::ConfViewer - "fmlconf $ml $varname" shows "$varname = $value". - unless $varname specified, dump all variables. - - FML::Config::Convert - hold file mode. set $dst mode same as $src mode - - FML::Confirm - FML::Header::MessageID - File::CacheDir - Mail::ThreadTrack - Mail::Delivery::Queue - Mail::Message::ToHTML - Mail::ThreadTrack::DB - we should not use hard-coded file::dir mode - - FML::Article - care subdir case more - -2002/09/28 - - variables - enable off/on for user use - -2002/09/24 - - variables - $article_body_filter_rules add permit as the last resort - $article_header_filter_rules append permit rule - - FML::Filter::BodyCheck - FML::Filter::HeaderCheck - define permit rule - -2002/09/23 - - FML::Filter::BodyCheck - should not import STR2EUC from Mail::Message::Encode - bug fixed to use Mail::Message::Encode->convert() - -2002/09/14 - - FML::Filter::BodyCheck - add use Mail::Message::Encode at reject_japanese_command_syntax() - because rejected by filter due to Undefined subroutine - &FML::Filter::BodyCheck::STR2EUC called - - variables - define $default_umask and $timezone - -2002/09/11 - - FML::Log - not use /dev/stderr - -2002/09/09 - - INSTALL.sh - not use "id -p" (PR by fml-devel:241) - -2002/08/29 - - INSTALL.sh - add a cheap diag: check the existence of $owner and $group - - FML::Command::Admin::newml - validate $ml_home_prefix before main - -2002/08/28 - - FML/Process/Kernel - proper handling of "$program /var/spool/ml/elena" case - -2002/08/26 - - IO::Adapter::File - ensure rollback in calling get_value_*() - - FML::Error::Analyze - error_continuity::in summation, bad if $v >= 2 - - FML::Credential - is_same_address() validate input data more - - FML::Process::Kernel - bug fix my ml_name (+ ml_domain) detection code: - - [back ground detail] "fmlconf -n elena@fml.org" works but - "fmlconf -n elena" not works since we ignore the latter case. - Regaredless of poorman's strategy but we pick up the first non - /^-/ string as a $ml_name and set $ml_domain to the default - domain. - -2002/08/21 - - IO::Adapter - enhance add() to add($address, [$argv]) - - IO::Adapter::File - enhance add() - implement get_next_value() - define get_value_as_str($key), get_value_as_array_ref($key) - - IO::Adapter::AtomicFile - more unique temp filename - -2002/08/20 - - FML::Process::Distribute - modify error message - - FML::Command::SendFile - message key change - command.get.invalid.args -> command.get_invalid_args - - IO::Adapter::File - remove fml 4 specific ignore rules such as m=.. option - delete(KEY) not (REGEXP) - -2002/08/19 - - FML::Process::Error - rename::$use_error_analyzer -> $use_error_analyzer_program - use default $log_format_type now - - FML::Process::Command - enable process if $use_command_mail_program is defined. - - FML::Process::Distribute - enable process if $use_distribute_program is defined. - - variables - define $use_command_mail_program ("yes" by default). - rename $use_error_analyzer to $use_error_analyzer_program - - message key reconstructuring - -2002/08/18 - - FML::Command::SendFile - more debug info. - - send_user_xxx_message() - set $command_args->{ _filename_to_send } before calling send_file(). - - FML::Command::User::confirm - send back welcome file in subscribe case - -2002/08/16 - - FML::Error::Analyze - error_continuity::sum up time sequence with not point but mountain - with some width. - rename::simple_count_by_day -> error_continuity - - Mail::Message::Encode - add is_iso2022jp_string() - - FML::Command::Admin::log - FML::Filter::BodyCheck - FML::Process::Kernel - switch FML::Language to Mail::Message::Encode - - FML::Language::ISO2022JP - FML::Language::Japanese::{String,Utils} - Removed - -2002/08/15 - - new variables - $error_analyzer_function - $error_analyzer_simple_count_limit - - FML::Error - count up address with status=5* - move analyzer function() to FML::Error::Analyze - rename: *_timeout -> *_event_timeout - - FML::Process::Kernel - check if $maintainer differs $ml_address - rename: *_timeout -> *_event_timeout - -2002/08/14 - - FML::Process::Kernel - use $config->get_as_array_ref( 'header_loop_check_rules' ) to get list. - rename: refuse_further_processing() -> stop_this_process() - define do_nothing($reason), same as stop_this_process() - - FML::Process::Alias Command ConfViewer Configure Distribute - DocViewer Error HTMLify Kernel Spool ThreadTrack - FML::Process::CGI::Kernel - apply fix_perl_include_path(); after load_config_files() runs to add - ml local library path to @INC. - This is used for ml specific extention e.g. command extension. - - FML::Process::Kernel - enable ml local message template handling - - variables - define $ml_local_* for ml specific customize - + ml_local_dir = $ml_home_dir::local - + ml_local_lib_dir = $ml_local_dir::lib - + ml_local_share_dir = $ml_local_dir::share - + ml_local_message_template_dir = $ml_local_share_dir::message - - change definition for $message_template_dir: - $fml_share_dir::message::$template_file_charset -> - $fml_share_dir::message - -2002/08/13 - - fml.org を 4.0 から fml-devel ベースへ移行開始 - - etc/include* - __ml_home_prefix__::__ml_name__ -> __ml_name__@__ml_domain__ - - etc/config.cf* - comment out $ml_name, $ml_domain - - FML::MTAControl::Postfix - bug fix $fh-close() under defined($fh) is confirmed - use "postconf -d" to expand variables - - Mail::Message::Encode - remove FML::Encode and Mail::Message::Decode - merge FML::Encode Mail::Message::Decode into Mail::Message::Encode - - FML::Header::Subject - switched to use of Mail::Message::Encode - -2002/08/11 - - FML::Encode - プロトタイプを作ってみる。 - XXX このモジュールは fml 4.0 でも使う - -2002/08/09 - - libexec/error - エラーアドレスの自動削除機能一通り完成 - - FML::Process::Error - change lock granuality - - FML::Error - validate syntax for target address to remove - check if the target address is a ML member before deluser() runs - -2002/08/08 - - FML::Error - enable real deluser() - - FML::Credential - FML::Command::{Auth,UserControl} - FML::Command::Admin::chaddr - FML::Command::User::{chaddr,off,on,subscribe,unsubscribe} - FML::Process::{Command,Error,Kernel} - change arguments of credential functions to clarify the target address: - e.g. is_member($curproc, $args) -> is_member(addr) - - modified functions: - o is_member() - o is_privileged_member() - o is_recipient() - o match_system_accounts() - -2002/08/07 - - libexec/error - エラーアドレスの自動削除機能を実装 - - FML::Error::Cache - FML::Process::Error - FML::Error - enable automatic user removing (prototype) - - FML::Process::{Kernel,Utils} - define $curproc->{ scheduler } not _scheduler - define access method scheduler(). - please use it e.g. $curproc->scheduler(). - - FML::Process::Kernel - lock() and unlock() accepts channel as the argument if needed. - - implemented - o is_timeout( $channel ) - o get_timeout( $channel ) - o set_timeout( $channel, $time ) - - FML::Process::Error - FML::ErrorAnalyze (removed) - create FML::Error:::with separate clesses for cache manipulation and - analyzer. - modified to FML::Error::Cache for cache writing. - - FML::Process::Scheduler - $scheduler_queue_dir -> $event_queue_dir - - Tie::JournaledFile - check the file existence - - Tie::JournaledDir - bug fix the default day type handling - -2002/08/03 - - 変数 - define $scheduler_queue_dir - - FML::Process::Kernel Command Distribute Error - FML::Process::Scheduler - scheduler_init() - - Tie::JournaledFile - enhance find: find(key, [mode]) where mode = scalar, array, array_ref - implement get_all_values_as_hash_ref() - bug fix FIRSTKEY() and NEXTKEY(), modified to use hash on memory - - Tie::JournaledDir - bug fix keys() and each(), modified to use hash on memory. - implement EXISTS(), DELETE(), CLEAR() - implement get_all_values_as_hash_ref() - - FML::Header::MessageID - modified to sync w:::Tie::JournaledDir usage - - FML::Article - FML::Header - FML::Process::Distribute Kernel - use LogError() if appropriate - -2002/07/31 - - ログファイル - ログファイルフォーマットのデフォルトを変更 - - FML::Header - FML::Header::MessageID - disable some debug codes. - switch DB from File::CacheDir to Tie::JournaledDir - - FML::Log - use File::Basename; - - FML::Article - s/Article/article/ - - Mail::Delivery::SMTP - recipients::total=\d+ - - FML::Process::Distribute - Mail::ThreadTrack::Analyze - disable some debug messages - -2002/07/30 - - 変数 - +error_analyzer_cache_type = File::CacheDir - +error_analyzer_cache_mode = temporal - +error_analyzer_cache_size = 14 - - libexec/error を書き上げよう! - FML::Process::Error - FML::ErrorAnalyze - move error analyzer core functions to FML::ErrorAnalyze - - FML::Process::Kernel - libexec::error not need reply_message() - -2002/07/29 - - 変数 - nuke database_* sql_* - - FML::Process::Error - bug fix::resolve_ml_specific_variables() and load_config_files() - add a few function prototypes - -2002/07/28 - - 変数 - $newml_command_init_dirs - rename::init_config_dir_list -> newml_command_init_dirs - - added $shared_db_dir $var_dir $db_dir $lock_dir - $tmp_dir $spool_dir - - member_maps = $primary_member_map (nuke members-admin) - -2002/07/26 - - モデレータモードの予備作業 - moderator の maps を定義する。 - members-moderator - recipients-moderator - - {add,del}moderator コマンドを作成 - - FML::Command::Admin::{add,del}admin - members-admin - recipients-admin - の両方をアップデートする(けど、recipients の方は使わない)。 - -2002/07/25 - - FML::Config - File::Sequence Utils - IO::Adapter::File - IO::Adapter::AtomicFile - IO::File::Atomic - rename::IO::File::Atomic -> IO::Adapter::AtomicFile - - IO::Adapter の改良継続中 - - FML::Process::Command - improve error messages - - FML::Process::Kernel - improve log messages - - IO::Adapter::File - bug fix so that getline() returns undef if not opened - -2002/07/24 - - IO::Adapter - clean up - remove AUTOLOAD() - removed replace() - - IO::Adapter::DBI - add missing open(), close() - removed replace() - implement getline() - - IO::Adapter::File - removed replace() - clean up comments - - IO::Adapter::SQL::toymodel - removed since we discard sql model based framework - - FML::Credential - FML::Command::UserControl - FML::Command::Admin::chaddr - change argv of FML::Credential::has_address_in_map(): - ($map, $address) -> ($map, $config, $address) - -2002/07/23 - - IO::Adapter の SQL コードを大改定 - - FML::Mailer - FML::Command::Auth UserControl - FML::Command::Admin::chaddr - FML::Process::Distribute Utils - Mail::Delivery::SMTP - reconstruct SQL functions in IO::Adapter - new IO::Adapter $map, $config; - - IO::Adapter - IO::Adapter::DBI MySQL - reconstruct MySQL functions - o get_next_key() works now. - o disable some functions once. - - FML::Config - .ini sytle extension. for example - - [mysql:id] - key = value - - So, we have the 2nd level hash value such as - $config->{ key1 }->{ key2 } = $value - and read::write it. - - bug fix {+,-}= operation in the second level. - - -2002/07/22 - - 変数 - READ_ONLY($admin_member_maps) - mysql 設定の例を追加 - - FML::Config - expand READ_ONLY($array) -> an array of READ_ONLY($array[$i]) - - IO::Adapter - accept READ_ONLY($map) - prohibit add/delete/replace call for read only maps. - - FML::Credential - add is_recipient() for sender is an ML recipient or not. - - off/on command prototype - FML::Command::User::confirm - FML::Command::Admin::on - FML::Command::Admin::off - FML::Command::User::on - FML::Command::User::off - prototype on and off mode for recipient map - -2002/07/20 - - FML::Command::Admin::unsubscribe - member_map use config primary_member_map to member_maps - recipient_map use config primary_recipient_map to recipient_maps - -2002/07/19 - - FML::Process::Kernel - repyl_message() handles makefml and *.cgi as special cases. - - FML::Process::CGI::Kernel - cgi_execute_command() checks the command is allowed in - commands_for_admin_cgi. - XXX "commands_for_admin_cgi" is hard-coded. - XXX we should enhance this for ml-admin::*.cgi et.al. - - FML::Restriction::Command - enhance command syntax regexp - - FML::Command::Auth - check user matching - - FML::Restriction::Command - bug fix wrong command regexp - - FML::Process::Command - remove not used variable - check whether this command is allowed in this $level - -2002/07/17 - - Mail::Message::MH - add debug - define new() - bug fix first:\d+ - handle a,b,c pattern - - FML::Command::SendFile - use Mail::Message::MH - - FML::Command::UserControl - FML::Command::Admin::log - FML::Process::Kernel Utils - FML::Process::CGI::Kernel - define printing style format such as 'text', 'html', ... - you can control it by the following access methods, - get_print_style() and set_print_style(mode) - - FML::Command::Admin::dir file - use FML::Restriction:: - - FML::MTAControl::Procmail - remove garbage definitions - - FML::MTAControl::Postfix - search only hash:, dbm::types in postfix alias_maps - - FML::Credential - optionally, we accept case insensitive comparison of user part - of the mail address. - -2002/07/15 - - FML::Process::Utils - define the following access methods: - config() - pcb() - incoming_message_header() - incoming_message_body() - incoming_message() - article_header() - article_body() - article_message() - - FML::Command::DataCheck - FML::Filter::BodyCheck - FML::Process::Command Distribute Error Kernel Utils - modified to use access methods above. - - FML::Command - use "$myname eq" not "$0 =~" - - FML::Config - nuke debug::... if $0 =~ ::loader:: - -2002/07/14 - - いくつかのコマンドの結果やエラーメールは管理者へも送るようにする - 登録/削除についてのログ - メンバー以外からの投稿/コマンドメールなど - - FML::Process::Utils - implement which_message_nl() - - FML::Command - FML::Command::UserControl - FML::Command::User::confirm - FML::Process::Command Distribute Kernel - copy message and send it to $maintainer too - use reply_message*() with $msg_args to copy the message if needed where - $msg_args = { always_cc => $maintainer } or - $msg_args = { recipient => $maintinaer } pertinently. - - FML::Command::UserControl - use message_nl( {add,del}_{ok,fail} ... ) as a reply - - FML::Process::Kernel - disabled makefml NOT TO USE reply_message() now - -2002/07/13 - - コマンドシンタックスの見直し - CGI もこれに合わせて修正 - - admin adduser - admin useradd - admin addadmin - admin adminadd - admin deluser - admin userdel - admin deladmin - admin admindel - - FML::MTAControl - FML::MTAControl::Procmail - FML::Command::Admin::newml rmml - newml 時に procmail の設定のテンプレートを作る。 - rmml 時には消す。 - - FML::Process::Kernel - check defined($ml_name) in ml_* variable handlings - -2002/07/12 - - procmailrc のサンプルもつくってみやう - newml/rmml コマンドが procmailrc のテンプレートを生成/削除する - ようにする - -2002/07/11 - - FML::MTAControl::Qmail - remove ~fml::.qmail-* when the ML is removed. - -2002/07/10 - - CPAN modules - import Unicode::Japanese 0.09 - - CPAN documents - catch up (2002::07::10) - -2002/06/30-2002/07/30 - - ドキュメントクリーニング きゃんぺーん - -2002/06/30 - - FML::Command::HTMLify - more check of input - - FML::Process::ThreadTrack - fix ISA for ->speculate_max_id() - - FML::Process::ConfViewer Spool - fix the condition to show help - - FML::Process::Error - $self -> $curproc - -2002/06/28 - - FML::CGI::Admin::Menu - FML::Process::CGI::Kernel - separate execution of the command and the menu pop up. - Firstly execute run_cgi_main() and show tables after that. - - CGI の情報更新をきちんとするために、CGI の関数呼びだしの基本構 - 造を修正 - -2002/06/27 - - バーチャルドメインサポートの修正、全面的オーバホール - - FML::MTAControl - FML::Command::Admin::newml rmml - FML::MTAControl::Postfix Qmail - major overhaul - o reconstruct architecture - o bug fix virtual domain support - o sync w:::FML::Process overhaul to bug fix virtual domain support - - FML::Process::Alias Command ConfViewer - Configure Distribute - DocViewer Error HTMLify - Kernel Spool Switch - ThreadTrack Utils - FML::Process::CGI::Kernel - major overhaul::delayed loading of *.cf files. The loading is done - within prepare() method now to handle virtual domains properly. - - FML::Command::HTMLify - not need to validate ml existence - -2002/06/25 - - clean up CGI ... - - FML::CGI::Admin::List - scroll size is set by the length of maps - - FML::Command::Admin::rmml - fix virtual domain handling. sync w:::newml logic - clean up (white spaces) - clean up. nuke _get_domain_info (not used) - -2002/06/24 - - CGI の見栄えを大改良中 - - FML::Process::Utils - get_ml_list()::check $ml_home_prefix, bug fix default domain handling - bug fix ml_home_prefix() args, more defined() checks - - FML::Config - FML::Process::Kernel - FML::Process::CGI::Kernel - more defined() checks and sanity check if could - - FML::CGI::Admin::ML Menu User - FML::Process::CGI::Kernel - clean up menu, bug fix run_cgi_menu() args - -2002/06/23 - - バーチャルドメインのサポート - bug fix - postfix および qmail は makefml newml を実行するだけで - バーチャルドメインの設定まで全自動 - # 最初の一回はちょっとだけ MTA の設定が必要だけどね - - FML::Command::Admin::newml - insert "$ml_domain $ml_domain" to the file "virtual" at the - first time since $ml_domain is one of $mydestination. - install a template for qmail::control::virtualdomains - -2002/06/22 - - bug fix domain/virtual domain handling (specially in CGI) - - FML::Process::CGI::Kernel - use $curproc->ml_XXX() as could as possible in new() - clean up table configuration: - define tables for function and <td> attributes - - FML::Log - eval Log(warn ...) || print stderr it - - FML::Restriction::Base - define navi_command as the same as command - - FML::Config - defined() check more - - FML::Command::Admin::newml - fix args of ml_home_xxx() - - FML::CGI::Admin::ML - change get_ml_list() args - - FML::CGI::Admin::Menu - classify the command in the navigation and main - - FML::Process::Utils - define ml_name() method - ml_domain() returns the current process's domain not default one. - ml_home_prefix() and get_ml_list() behave more properly to reflect the - current situation. - fix ml_domain handling of rewrite_config_if_needed(). - -2002/06/21 - - CGI bug fixes - - FML::Process::Utils - FML::Process::CGI::Kernel - move get_ml_list() and get_recipient_list() - from Process::CGI::Kernel to Process::Utils. - - FML::CGI::Admin::Menu - FML::Command::Admin::newml - set up $ml_name dynamically - - FML::Command::UserControl - ignore non-existed files, not croak() - - IO::Adapter::File - close write handle and read handle after the write one. - - FML::Command::UserControl - use IO::Adapter->get_next_key() not getline() for member list up - -2002/06/01 - - major variable naming overhaul - - relocating variable definitions in etc/src/ - - align convention: for example, - use_XXX - XXX_rules - XXX_dir - XXX_cache_dir - - rename: - $recipient_limit -> $smtp_recipient_limit - $incoming_mail_dir -> $incoming_mail_cache_dir - $outgoing_mail_dir -> $outgoing_mail_cache_dir - $qmail_control_virtualdomains_file -> $qmail_virtualdomains_file - - s/header_filter/article_header_filter/ - s/header_rewrite/article_header_rewrite/ - s/body_filter/article_body_filter/ - - s/subject_tag/article_subject_tag/ - - verify_XXX_* -> check_XXX - - newly defined: - $use_digest_header_rewrite - - removed: - $smtp_log_dir - $smtp_log_file - - overhaul - variable naming convention - defined check - FNF-ify - fix argument declarations - - FML::Command::Auth - permit_admin_member_maps() return 0 if not match - - FML::Process::Kernel - temp_file_path() ensures temp file name uniqueness by counting the - number of times this function is called. - -2002/05/31 - - FML::Header - add rewrite_date() for header rewrite Date::to X-Date: - -2002/05/29 - - FML::Command::Admin::chaddr - bug fix::error_set() -> croak() - - FML::Process::Switch - try to save the critical error message at $ml_home_prefix/ if could - -2002/05/28 - - rename/reconstruct variables - clarify prefixes in caution. - define or rename sysconf_dir et.al. to $domain_XXX_config_dir - define $path_postmap - - FML::Command::Admin::newml - mkdir @$init_config_dir_list - run "postmap virtual" - mainconf_dir -> domain_mail_config_dir - - FML::Credential - $config->get_as_array_ref - - FML::Command::Auth - implement permit_admin_member_maps() - -2002/05/27 - - new variable naming convention - add caution - - define terms on "mail" and "message" - change::_message_ -> _mail_ - - define $postfix_virtual_map_file - - add $admin_member_maps to $member_maps - - change attribute names: - o permit_members_only -> permit_member_maps - o check_command -> check_admin_member_password - - FML::Mailer - FML::Process::Distribute - Mail::Delivery::{SMTP,Utils} - pass smtp log file handle to Mail::Delivery - - FML::Process::Distribute - permit_members_only -> permit_member_maps - - FML::Command::Admin::newml - FML::MTAControl - FML::MTAControl::{Postfix,Qmail} - set up virtual map if needed - - FML::Process::Kernel - only user "fml" should read lock files. - define terms on "mail" and "message"::_message_ -> _mail_ - permit_members_only -> permit_member_maps - - FML::Process::Command - FML::Command::Auth - rearrange admin command authentication to sync w/ new variable names - - FML::Process::Utils - implement is_default_domain() - -2002/05/25 - - FML::Command::Admin::newml - fix $templ_files be ARRAY_REF - - FML::MTAControl::Qmail - install .qmail-do:ma:-$ml for .qmail-do.ma.in-$ml - - FML::Command::Admin::newml - FML::Process::Configure Utils - at the first stage of makefml, care $config and rewrite it, if needed, - when we handle virtual domain. - implement $curproc->rewrite_config_if_needed() for it. - -2002/05/24 - - variables - reconstruct $newml_command_*_template_files - - FML::Config::Convert - implement convert_file(srcfile, dstfile, params) - - FML::Log - print STDERR $msg if Log() fails - - FML::MTAControl - FML::Command::Admin::newml - use FML::MTAControl ACAP - -2002/05/23 - - FML::Header::Subject - add mime decode for subject - - Mail::Message::Decode Encode - FNF-ify, fix documents and @EXPORTS - -2002/05/22 - - FML::Mailer - save smtp log at var/mail/outgoing/ - -2002/05/21 - - variables - define $error_cache_dir - define $newml_command_postfix_template_files - define $newml_command_qmail_template_files - define $incoming_message_dir - define $outgoing_message_dir - var/mail/{incoming,outgoing,queue}/ - - define $use_outgoing_message_cache = yes - define $outgoing_message_cache_size = 128 - - etc/aliases - enable auto error analyzer by default - - FML::Process::Kernel - implement $curproc->open_outgoing_message_channel() - $mincoming_dir -> $incoming_message_dir - - FML::Process::Distribute - use $curproc->open_outgoing_message_channel() not _smtplog to save - SMTP transaction logs. - - FML::Command::Admin::newml - $newml_command_template_files -> - $newml_command_postfix_template_files - - Mail::Bounce::Postfix19991231 - validate input data - - FML::Process::Error - implement a prototype to cache error data - -2002/05/19 - - add/enable a prototype of libexe::fml::error (mead) - - variables - define $use_error_analyzer - define $subscribe_command_auth_type - define $listinfo_base_dir - $command_prompot -> $command_prompt - $command_chaddr_type -> $chaddr_command_auth_type - $command_unsubscribe_type -> $unsubscribe_command_auth_type - - FML::Process::Error - work if $use_error_analyzer is 'yes' - add hooks - finish() checks if this error message is effective or not. - fix typo and missing definition - - FML::Process::Command - fix building logic of $command_args and $options to make admin - command work again. - fix $admin_prefix trap - rearrange structure - FNF-ify - clarify the current context is under confirmation or not. - ignorance of commands are dependent on this context. - nuke mode=special which is not used. - send back statistics and original message - - FML::Command::DataCheck - fix parse_command_arguments() arguments - - Mail::Message::MH - fix wrong last:\d+ counting logic - -2002/05/18 - - FML::Process::Command - reconstruct command check logic (1) - - Mail::Message - implement message_text_as_array_ref() - - updated IM to im-141 + local patch (tats20020413.diff) - - FML::Filter::BodyCheck - add reject_uuencode() - -2002/05/17 - - FML::Process::Kernel - check whether $use_incoming_message_cache is yes - use $mincoming_cache_size as cache modulus - save incoming message at $ml_home_dir/var/mincoming/ - - File::CacheDir - update document on new() arguments - bug fix eval{} should do eval { use()&&new() } - - new variables: (etc/) - use_incoming_message_cache = yes - incoming_message_cache_size = 128 - -2002/05/16 - - FML::Process::CGI::Kernel - pick up address_selected not address - - Mail::Message::ToHTML - not reset @AnyDBM_File::ISA. - It is better for us to use the default @ISA - -2002/05/13 - - FML::Process::Utils - implement - config_cf_filepath($ml, $domain) - is_config_cf_exist($ml, $domain) - - FML::Command::HTMLify - validate if config.cf exists - -2002/05/11 - - FML::Filter::ContentCheck - add Log deteled mimetype at only_plaintext() and typo fix - fix wrong log message (but is it correct fix ?). - FNF-ify - - FML::Language::Japanese::Utils - _look_not_iso2022jp_string::add trivial check - - Mail::Message - fix::parser() should handle header only message. - no no no, not reset $data_ptr unless body - nuke \s*$ - -2002/05/10 - - FML::Filter::ContentCheck - add function permit_mimetype() and reject_mimetype() - add function permit_rules() and reject_rules() - -2002/04/30 - - FML::Command::Admin::check - add prototype for diagnostics - -2002/04/28 - - FML::Process::Kernel - check $curproc->is_refused() more before action at each step - - Mail::Message - fix comment. - add loop label. - FNF. - more checks by defined() and whether the content is not empty. - new() not need $InComingMessage here - remove module global variable $InComingMessage - check invalid multipart format - -2002/04/27 - - FML::Process::Kernel - kern.not_member -> error.not_member - - FML::Process::Kernel - disable debug message - - Mail::Message - check more data by defined() - - FML::Process::Kernel - modified to not using FileHandle::pipe() - add methods to prepare and clean up temporary files - implement parse_exception() - implement message_nl() to separete message converter into natural - language and message handling parts - - FML::Process::CGI::Kernel Param - convert exception syntax into the new style. See FNF - convert message to natual language if could - -2002/04/26 - - FML::Process::Flow - run clean_up_tmpfiles() finally - - FML::Process::Kernel - fix typo - define "permit_commands_for_stranger" (only define not implemented :) - - FML::Process::Command - FML::Command::DataCheck - permit_commands_for_stranger works - - variables - add rule permit_commands_for_stranger for $command_restrictions - -2002/04/25 - - variables - rename variable::available_commands_for_xxx -> commands_for_xxx - - FML::Command::Admin::htmlify - check $use_html_archive value before action - - FML::MTAControl - implement get_aliases_as_hash_ref() - new() accepts { mta_type => ... } argument - - FML::Process::Switch - FML::Process::Alias - new utility::fmlalias e.g. shows not only fml but all alias entries - - Mail::Message - check defined($InComingMessage) before $body_size estimation - -2002/04/24 - - FML::Header::Subject - replace subject to Subject - - define $path_postconf - - File::Utils - define append() - - FML::Command::Admin::{newml, rmml} - use File::Utils and FML::MTAControl to share codes. - - FML::Command::Admin::newml - check $ml_name duplication over all $alias_maps (postfix case) - - FML::Filter::ContentCheck - bugfix object argument - -2002/04/23 - - FML::Process::Distribute Kernel - fix errro message and enable the rejected message forwarding - - FML::Command::Admin::newml - check alias duplication - enable cgi - - FML::Restriction::Base - define $ml_name_specified - - FML::CGI::Admin::Menu - FML::Process::CGI::Kernel - FML::CGI::Admin::ML - define cgi_try_get_ml_name() - enabled newml and rmml on CGI. - -2002/04/22 - - FML::Process::CGI::Kernel - sort ml list - - FML::Command::HTMLify - bug fix subdirs sorting algorithm - - Mail::Message::Spool - check value of $args->{ use_subdir } - - FML::Article - error if the article already exists - -2002/04/21 - - FML::Command::Admin::newml - install .htaccess only for the first time - - Mail::Message::ToHTML - you can specify $ENV{MAX} - - Mail::Message::ToHTML - for () { fork() && call htmlify_file() } - - Mail::Message::ToHTML - htmlify_dir() accepts options::$has_fork and $max (for debug) - - Mail::Message::ToHTML - sort years in monthly.index - bug fix the scan range for each subdir - - FML::Command::HTMLify - sort -n subdirs list - -2002/04/20 - - FML::Filter::BodyCheck - comment out "local($*) = 0;" - - FML::Filter::TrafficMonitor - disable almost all codes imported from fml 4.0 once anyway - - configure - add --with-warning - - FML::Command::HTMLify - FML::Process::HTMLify - bug fix subdir checking - - use FML::Command::HTMLify to share htmlify code between - fmlhtmlify and "makefml htmlify". - - FML::Command::Admin::htmlify - remove $options - - FML::Process::Configure - log raw error message - -2002/04/19 - - FML::Process::Spool - check argument and show help if invalid - - FML::Process::Switch - stop $ml_home_dir search when we can get it. - - Mail::Message::ToHTML - bug fix::check the source file existence more severely - -2002/04/18 - - Mail::Message::ToHTML - check $args->{ file } more severely in _update_relation() - - FML::Process::Distribute - eval htmlify_file() to avoid unknown error ;) - - FML::Process::Distribute - eval filtering - -2002/04/16 - - FML::Process::Switch - fmlspool --srcdir not --dstdir - - FML::Process::Spool - fix conversion algorithm - -2002/04/15 - - FML::Process::Switch - fmlspool --srcdir not --dstdir - - FML::Process::Spool - fix conversion algorithm - - add a new utility "fmlspool" - add a new utility::fmlspool to handle spool directory - - FML::Process::Utils - implement ml_home_dir() - - FML::Process::Switch - enable fmlspool - - FML::Article - implement subdirpath(). - check $curproc->{'incoming_message'}->{ message } in new() data input. - - FML::Process::Kernel - implement set_umask_as_public(), reset_umask() for umask control. - - FML::Process::Distribute - umask and permission control for html archives - - Mail::Message::ToHTML - BEGIN { @AnyDBM_File::ISA = qw(DB_File GDBM_File NDBM_File); } - - FML::Process::HTMLify - consider spool:::may has subdir(s) - -2002/04/14 - - Mail::Message::ToHTML - fix $subdir handling on month boundary - validate $curid ($self->{ _current_id}) - validate or warn input into Jcode - set $code for Jcode if needed - - CPAN modules - updated Jcode to 0.79 - -2002/04/13 - - FML::Command::User::unsubscribe - use FML::Confirm not via eval{ use ..} - - FML::Process::Command - select the error message by the $xxx_restrictions error reason - - Mail::Message - implement whole_message_as_string_ref() - - FML::Process::Command - reply_message( OBJ(Mail::Message) ) when the message is rejected by - $command_restrictions. - - FML::Process::Kernel - o reply_message() can handle OBJ(Mail::Message). - o save error reason at pcb area when the message is rejected by - xxx_restrictions. - -2002/04/12 - - FML::Process::Distribute - send back mesg "we deny requests from system accounts" - - FML::Process::Command - check by permit_command() before command execution ;) - send back mesg "we deny requests from system accounts" - - FML::CGI::Calender - switched to the current style - -2002/04/11 - - FML::Config - has_attribute() should look up %_fml_config_result - - FML::Process::Command - accept commands, e.g. subscribe, allowed for not members - -2002/04/10 - - 2002/03 分クリーンアップおわり - - FML::Filter クラスによるフィンルタリングを有効にする - FML::Filter:: のバグ修正 - - FML::Process::Distribute Kernel - enable filtering. - implement access methods to control filtering. - o $curproc->refuse_further_processing() - o $curproc->is_refused() - -2002/04/07 - - variables - define $primary_admin_member_password_map - rename $admin_member_passwd_maps -> $admin_member_password_maps - - FML::Command::Admin::chaddr - chaddr over all maps - - FML::Command::Admin::get - clean up variable names to be easy for your eyes - - FML::Command::Admin::htmlify - doc::remove makefml description - add --dstdir=DIR - FNF-ify - - FML::Command::Admin::list - show all maps in $xxx_maps - - FML::Command::Admin::log - fix::add comments - use HTML::FromText class to espace metchars - - FML::Process::Calender - clean up documents, comments - use $curproc not $self if appropriate - - FML::Process::DocViewer - remove AUTOLOAD() - clean up - -2002/04/06 - - remove "recipients" file from default $recipient_maps - - Mail::Message::Spool - define dirpath() - - FML::Article - mkdir subdir if needed - -2002/04/05 - - spool (記事のスプール)の階層化構造をオプションにする - 変数 $use_spool_subdir を創設する - -2002/04/03 - - clean up, audit campaign - 春だからお掃除しましょう(意味不明) - -2002/04/01 - - 実際に構築しつつテストしてみる。 - configure はもっといろいろチェックするべし - 不便なものを実装する。e.g. makefml list - - more check and expansion by configure - we should use values speculated by configure if could. - default_ml_home_prefix = @mlspooldir@ - - FML::Command::Admin::newml - not install CVS - - expand default_domain by config.status - - FML::Command::UserControl - FML::Command::Admin::list - enable "admin list" command - admin list $ml {members,actives,recipients} - - FML::Process::Switch - warn() if $ml_name not specified - -2002/03/31 - - "makefml newml" set up ~fml/fml/listinfo/$domain/$ml/ - MLの作成時に WWW ページを用意する( listinfo を作る)。 - FML::Command::Admin::newml - - variables - + remove $message_message_dir - + change $message_template_dir - + change $html_archive_dir - + add $listinfo_dir - - 階層化構造を取れるようにする - HTML 化記事を置くディレクトリ - スプールディレクトリ - - FML::Process::Kernel - $message_message_dir -> $message_template_dir - FML::Command::Admin::htmlify - FML::Process::{Distribute,HTMLify} - Mail::Message::ToHTML - Mail::HTML::Lite - rename class::Mail::HTML::Lite -> Mail::Message::ToHTML - change .ht* database names - - FML::Article - Mail::Message::Spool - Mail::ThreadTrack - Mail::ThreadTrack::DB Print.pm - Mail::ThreadTrack::Print::HTML Text.pm - use Mail::Message::Spool::filepath() for the article file path. - use $self->filepath() which is based on Mail::Message::Spool - Mail::Message::Spool::spool arg changes::$spool_dir -> $base_dir - - Mail::HTML::Lite - rename message_file*() -> html_file*() - html file path is YYYYMM/msg$id.html by default - -2002/03/30 - - FML::Article - FML::Command::SendFile - FML::Process::Distribute - FML::Article::filepath() determines the article file path. - - admin {delete,unlink} -> admin file $subcommand - コマンド名が衝突する可能性があるため - admin コマンドのシンタックスの拡張をはじめる。 - -2002/03/25 - - enable admin {delete,unlink} - - FML::Restriction::Base - define file - - FML::Command::DirUtils - fix to use FML::Restriction::Base not CGI - -2002/03/24 - - FML::Restriction::Base - define directory regexp as [-a-zA-Z0-9]+ - permit . in "user" part in e.g. "address" - - variables - define $path_ls for admin {dir,ls} - - enhance dommands - enable admin {ls,dir,delete,unlink} - -2002/03/23 - - FML::Command::Auth - admin コマンドのパスワード認証を有効にする - - FML::Command - implement rewrite_prompt(). It is used to hide password et. al. - - FML::Process::Command - clean up - use rewrite_prompt() by FML::Command to hide admin password. - - variables - define $admin_member_passwd_maps. - admin password - admin pass - - new modules from CPAN - import Crypt-UnixCrypt-1.0, perl-only implementation of the - crypt(3). - -2002/03/21 - - コマンドの認証について改良 - - FML::Credential - reconstruct is*member() functions - implement primitive is_privileged_member() - - FML::Process::Command - clean up :::clarify the logic: - o valid command syntax - o command mode for a user, admin and stranger - o add prototype of admin command auth - - variable: - define $admin_command_restrictions - - FML::Command::Auth - add prototype of admin command auth - -2002/03/20 - - CGI の再構成: clean up's - - loader - prepare a hook to inform some hints via $main_cf - - FML::Process::Utils - implement hints() - - FML::Command::Admin::newml - setup admin::{thread,config,menu}.cgi based on libexec::loader - and hints - - FML::Config::Convert - replace __hints_for_fml_process__ - - FML::Process::Switch - enable config.cgi , remove makefml.cgi - - FML::CGI::ThreadTrack - vertical align of menus - - FML::Process::CGI::Kernel - change layout in table a little. - define run_cgi_title() and run_cgi_help() - add options bar to switch the language (dummy yet :-) - - FML::CGI::Admin::Menu - remove run_cgi_help() once - -2002/03/19 - - CGI の再構成: FML::CGI と FML::Command 間のトランポリン機構 - コマンド依存の機能を FML::Command クラスへ委任する - - FML::Process::CGI::Param - accpet empty value even if it not matches filter:) - - FML::Command::Admin::subscribe unsubscribe.pm - implement cgi_menu() to show command specific menu in CGI screen - - FML::CGI::Admin::Menu - FML::Process::CGI::Kernel - o prepend cgi_ or run_cgi to function name. - o implement trampoline mechanism using FML::Command::class. - o change::pop_menu -> scrolling_list - - FML::Command::UserControl - define FML::Command::UserControl class to share user control codes. - modified Admin::{subscribe,unsubscribe} commands to use it. - - new commands - これらの admin コマンドが新たに使えるようになりました。 - admin addadmin - admin addpriv - admin byeadmin - admin byepriv - admin log - - new variables - $primary_admin_member_map - $admin_member_maps - -2002/03/18 - - CGI の再構成をはじめる - - FML::CGI::* - FML::Process::CGI::* - reconstruct CGI around structure phase 1: - o table not frame based menu support (similar style to www.netbsd.org) - o prepare method for each location in the screen. - for example, - + run_cgi_main() to show main menu at the center in the screen. - + run_cgi_navigator() to show navigation bar at the left. - o longjmp() by eval::croak when we encounter insecure conditions. - - FML::CGI::Admin::Menu - FML::Process::CGI::Kernel - cosmetics - FNF - define cgi_execute_command() and try_get_address() into - FML::Process::CGI::Kernel and remove them from FML::CGI::Admin::Menu - - FML::Process::Utils - define ml_domain() but same as default_domain() yet - - new variables (for CGI) - $cgi_main_menu_color - $cgi_navigation_bar_color - -2002/03/17 - - chaddr コマンドが動くようになった! - chaddr - admin chaddr - makefml chaddr - この3つ全部です。 - - FML::Command::User::chaddr - works again! - if either old or new addresses in chaddr arguments is an ML member, - try to confirm this request irrespective of "From:" address. - - FML::Command::Admin::subscribe unsubscribe.pm - FML::Command::User::chaddr confirm.pm - change $command_args argument: - $command_args->{ adddress } => $command_args->{ command_data } - - FML::Process::Kernel - reply_message::append \n to message if \n$ is missing - - reconstruct message queue subsystem internal. - we can handle output styles for message queue input properly. - - メッセージキューイングシステム再構築 - 受信者ベースでのまとめあげ処理などを正しく処理する - XXX これで chaddr コマンドが書けます。 - -2002/03/16 - - FML::Process::Kernel - new message queue handling. sync with reply-message branch - - clean up logic to handle messages queue. - for $recipient ( queue ) { - apply the following rules for messages returned to - specified $recipient. - - 1. pick up text messages and put them into the first part. - 2. append non text messages - } - -2002/03/06 - - variables - define directory for cgi and HTML article archive - define $newml_command_template_files - define $available_commands_for_admin_cgi - - FML::Config - implement get_as_array_ref() - - FML::Process::Switch - makefml --force $command $ml ... - -2002/02/24 - - update /etc: define the following variables - $fml_owner $fml_group $syscon_dir $mailconf_dir - $mail_aliases_file - - FML::Process::Utils - define fml_owner(), fml_group() and mail_aliases(). - - FML::Config::Convert - replace $fml_owner and $ml_home_dir. - - FML::Config - set(key, value) and update() informs FML::Config to expand variables. - - FML::Command::Admin::newml - install aliases when makefml newml runs. - -2002/02/23 - - FML::Command::SendFile - FML::Command::Admin::get - fix filename in mime header - - FML::Process::Command and etc/ - validate if the requested admin command is permited or not. - define $available_commands_for_privileged_user - rename $available_commands -> $available_commands_for_user - -2002/02/20 - - File::Sequence - add function _search_max_id_from_top() - - clean up commands - 多くのコマンドを動くようにした(微修正だが:-)。 - - update $available_commands_for_stranger and $available_commands - fix path::$message_template_dir -> $ml_home_dir - o $guide_file - o $help_file - o $objective_file - o $summary_file - - FML::Process::Kernel - add Reply-To::into our reply message - -2002/02/19 - - FML::Command - remove require_lock() due to obsolete - -2002/02/18 - - clean up FML::Command::{User,Admin}::* - remove FML::Command::Utils and ErroStatus - we should not inherit anything as could as possible. - - enhance xxx_restrictions: - enable "permit_anyone" can be used in {post,command}_restrictions. - -2002/02/17 - - FML::Config - implement hook extension. For example, - $config->is_hook_defined( 'START_HOOK' ); - $config->get_hook( 'START_HOOK' ); - - FML::Process::Command ConfViewer Configure Distribute - DocViewer HTMLify ThreadTrack - implement several hooks - - import HTML-Template-2.5 from CPAN - - change variables - $confirm_keyword -> $confirm_command_prefix - add $admin_command_prefix - - FML::Command::Admin::htmlify - makefml htmlify elena --srcdir=.. --outdir=... - - Mail::Delivery::ESMTP - fix argument - - admin コマンドを動くようにする - まだ認証してないけど :) - - FML::Command::User::confirm - remove ErrorStatus, FML::Command::Utils; - define new() - call User::Command::XXX without lock since already locked now. - - FML::Config - fix return value by FETCH() to be without \s*$ - - FML::Command - change use() and new(). - not use ErrorStatus. - check $command_args->{ override_need_no_lock } to control lock. - - FML::Process::Distribute - bug fix definitions on hooks - - FML::Process::Kernel - fix file name in searching message template - -2002/02/13 - - define access method need_lock(). - each command module determins whether it needs lock or not. - - FML::Command と FML::Command::* 以下の変更いろいろ - 各コマンドは各自 need_lock() というアクセスメソッドで - ロックが必要かどうかを FML::Command に教えるべし - XXX 拡張を考慮の上、こうしてみた - - FML::Command::SendFile - remove import of ErrorStatus - - rename module::TinyScheduler -> Calender::Lite - FML::Process::Switch - FML::CGI::Scheduler -> FML::CGI::Calender - FML::Process::Scheduler -> FML::Process::Calender - -2002/02/11 - - create FML::Restriction::Command class - - FML::Command::SendFile - FML::Command::User::{guide,help,deny,objective} - send back file file in $ml_home_dir if found. - return the default message if not found. - "guide", "help", "objective" commands use this logic. - - ユーザ用のコマンドの送り返し方を変更 - 1. (4.0 風にいえば) $DIR の help ファイルを送り返す - 2. help ファイルがないなら、デフォルトのメッセージを使う - - 1. は 4.0 との互換性のためで、 - fml-devel では 2. がデフォルト( help ファイルは作らない ) - -2002/02/04 - - FML::Process::ThreadTrack - determine the max sequence id by considering last mofieid time - among the sequence file and thread databases. - - Mail::ThreadTrack::DB - implement db_last_modified() - It return the last modified time of "date" DB in dateabase as - unix time. - -2002/02/03 - - main.cf.in - $ml_home_prefix -> $default_ml_home_prefix - - FML::Command::Admin::newml - FML::Process::Utils - ml_home_prefix() can recognize virtual domain. - modified to use it. - - we should not use $curproc->{ main_cf } directrly in modules out of FML::Process:: - we implement the following methods in FML::Process::Utils and use them. - o $curproc->executable_prefix() - o $curproc->template_files_dir_for_newml() - -2002/02/02 - - FML::Process::Utils - define access methods::default_domain(), ml_home_prefix() - (prototype) - - FML::Process::Switch - FML::Process::CGI::Kernel - use FML::Process::Utils::__ml_home_prefix_from_main_cf() to - get $ml_home_prefix. - - TinyScheduler - Mail::ThreadTrack::DB - use File::Spec - -2002/02/01 - - remove $ENV{debug} based toggle flag - -2002/01/27 - - FML::Command::Admin::newml - "makefml newml" virtual domain support. For exmaple, - - % makefml newml elena@nuinui.net - - The ml_home_dir is speculated from $virtual_maps in main.cf. - - - IO::Adapter clean up campaign ?:) - - Mail::Delivery::SMTP - IO::Adapter - IO::Adapter::{Array,DBI,File,MySQL} - clarify IO::Adapter definition and clean up get_XXX() functions. - remove get_member(), get_active() and get_recipient() - define get_next_key() and get_next_value() and clarify thier definitions. - add IMPLEMENTATION.jp - - FML::Credential - IO::Adapter - IO::Adapter::DBI - clarify IO::Adapter::find() usage. - find() returns "key value" by default and "key" if requested. - add want option e.g. find(key, { want => $what } ). - - File::Sequence - search_max_id() searches all keys if full_search option specified - - FML::Command::SendFile - clarify function acl, arguments more - - FML::Command::User::get - clarify function arguments more - -2002/01/20 - - /etc/fml/main.cf - define $virtual_maps - - FML::Process::Utils - implement get_virtual_maps() - - FML::Process::Kernel - fix module loading of Mail::Delivery::Queue - - FML::Command - FML::Command::SendFile - fixed to call up error to FML::Process::Command layer - - FML::Process::Command - more comments, log. - fix message handling to use object to get command string returned by - find_first_plaintext_message(). - -2002/01/16 - - change Mail::Message naming convention. - FML::Article Parse - FML::Filter::BodyCheck HeaderCheck TrafficMonitor - FML::Process::Command Distribute Kernel - Mail::Bounce Message - Mail::Bounce::DSN Exim GOO Postfix19991231 SimpleMatch - Mail::Delivery::SMTP - Mail::HTML::Lite - Mail::ThreadTrack::Analyze HeaderRewrite - - public -> private: - o head_message - o last_message - o next_message - o prev_message - - prefix change: - o rfc822_message_ -> whole_message_ - o get_first_plaintext_message() -> find_first_plaintext_message() - o get_encoding_mechanism() -> encoding_mechanism() - o get_data_type() -> data_type() - o get_data_type_list() -> data_type_list() - - renamed: - o get_offset() - >offset_pair() - o header_in_body_part() -> message_fields() - o data_in_body_part() -> message_text() - where we use RFC822 flabour naming convention. - rfc822 says "message = fields + text" and rfc2047 says "message" as - defined in RFC 822, with all header fields optional. - -2002/01/14 - - Mail::HTML::Lite - define default value. - delayed loading by eval q{ use .. }. - validate defined( $db->{ _thread_list }->{ $id } ). - - _head_thread()::fix head_thread search algorithm. - - rename __search_default_next_thread_id() to - __search_default_next_id_in_thread(). - - __sort_yyyymm()::validate value is not null. - -2002/01/13, 01/12, ... - - final clean up campaign in 2001 - クリーニングキャンペーン 2001 final はいまだに続いているぞ;-) - - Mail::Message - FML::parse - rfc822_message_FUNCTION() - - メッセージ全体( Mail::Message の chain 全体)に対する - メソッドには rfc822_message_ を頭につけるように名前をあわせる - - File::SimpleLock - Mail::Delivery::Queue - - use Fcntl qw(:DEFAULT :flock), remove LOCK_XX() definitions. - -2001/12/25 - - Mail::HTML::Lite - bug fix::_print_li_filename() check is too restricted - -2001/12/22,23,24,25 - - final clean up campaign in 2001 - クリーニングキャンペーン 2001 ファイナル:) - FNF-ify - コメントおよびドキュメントの更新 - 空白の削除 \s*$ - 使っていないので削除したモジュール - FML::Messages - FML::MIME - FML::Language::Japanese::Subject - - FML::MIME は Mail::Message::Decode および - Mail::Message::Encode の2つにわかれたよ - - renamed - FML::Checksum -> Mail::Message::Checksum - -2001/12/22 - - FML::Process::Kernel - remove FML::Messages - - TinyScheduler - define get_mode() for symmetric definition. - -2001/12/18 - - 記事の HTML 化を可能にする(デフォルトで ON) - - use_html_archive = yes (デフォルト) - - ~fml/public_html/mlarchive/ML名/ - - FML::Process::Kernel - define $fml_owner_home_dir by process $uid - - FML::Process::Distribute - htlmify article - -2001/12/16 - - FML::Messages - IO::Adapter::LDAP - Mail::Message::Date - Mail::Message::Language::Japanese::Subject - nuke "require Exporter, which is not needed - - INSTALL.sh - warn you should update loader if needed - - loader.in - use $fmlconfdir not $sysconfdir - use IO::File not FileHandle - -2001/12/11 - - FML::Command::Admin::newml - ensure installed file mode to be 0644 - - TinyScheduler - speculate $user by $$ unless defined $user - - ./configure の拡張 - メッセージをいろいろつけたす - --with-fml-group=$GROUP - --with-fmlconfdir=$prefix/etc/fml - -2001/12/09 - - インストーラのバグをとる - makefml の引数チェックのバグを修正 - fml/etc/ 以下の構成を変更する - makefml newml は config.cf 生成時にML名の変更をする - -2001/12/08 - - TinyScheduler - more proper error messages - - FML::Process::Configure - fix error handling, define finish() to avoid loading error - - FML::Process::DocViewer - add path for perl executatbles e.g. ::usr::local::bin - -2001/11/27 - - FML::Log - Tie::JournaledDir - FML::Date -> Mail::Message::Date - - Mail::Message::Date - remove MTI.. message - - update comments - clean up - FNF-ify - - Mail::ThreadTrack::Analyze - run prepare_history_info($msg) if $self->{ _is_rewrite_header } - - configure - @sysconfdir@ -> @sysconfdir@/fml - modify message - - FML::Process::Switch - modified not to use Standalone - loader has Standalone by itself now. - - config.sh.in - etc/main.cf.in - @sysconfdir@ -> @sysconfdir@::fml - - FML::Process::Switch - libexec/loader.in - modified not to use Standalone - loader has Standalone by itself now. - -2001/11/26 - - FML::Process::Kernel - bug fix missing mkdir() argument - - FML::Process::Distribute - Mail::ThreadTrack - Mail::ThreadTrack::Analyze - toggle header rewriting (subject) to add thread id. off by default - - config.cf - define $use_thread_subject_tag to toggle header rewrite - -2001/11/25 - - more tainted safe - (but needs more consideration, may be use of FML::Restriction class) - TinyScheduler - FML::Process::ConfViewer, FML::Process::Scheduler - - FML::Filter::BodyCheck - validate get_first_plaintext_message() return value - - libexec/loader.in - we should not use @INC derived from $0 - reset PATH in the early stage - - FML::Process::* - implement help() method - enable --help for all command line programs - verify_request() checks @ARGV and show help() if needed - - FML::Process::Switch - enable distribute and command - check whether getopt() options are given or not. - enable --help for all command line programs - xxx.cgi SHOULD NOT ACCPET the same options as command line program xxx - does. - - FML::Process::Kernel - trap --help in new() to show and exit asap - - FML::Process::ConfViewer - fmlconf and makefml are separete now - - FML::Process::CGI::Kernel - change defualt target to _top - - FML::Process::CGI::Param - FML::Restriction - reconstructured safe parameter definitions - -2001/11/21 - - FML::Process::Switch - fmlsch -h to show help - - FML::Process::Scheduler - TinyScheduler - clean up fmlsch - FNF-ify - handle options by getopt() in Process::Scheduler not TinySchedule - make "fmlsch help" work - fix entry duplication bug in parser - print_specific_month() can handle (month, year) pair - define set_mode() - use env var BROWSER ("w3m" by default) - -2001/11/20 - - File::Sequence - implement search_max_id() in hash key - more debug - - Mail::ThreadTrack::DB - db_hash( $type ) to return hash reference for $type - - Mail::ThreadTrack::HeaderRewrite - validate variables - - FML::Process::ThreadTrack - update database for latest not-yet-analyzed articles. - -2001/11/19 - - Mail::ThreadTrack - implement set_fd(), get_fd() - implemente set_order() - - FML::Process::ThreadTrack - Mail::ThreadTrack::Print - split functions for list and summary. - "list" shows thread summary but "summary" shows thread summary + - article summary. - - enhance fmlthread to provide CUI, oh this is useful ! - - Mail::ThreadTrack::Print - enable --reverse for summary, list command - check reverse_order value ;-) - - Mail::ThreadTrack::Print::Message - check value of header fields, which is undefined in some cases - - Mail::ThreadTrack::Print::Text - implement show_articles_in_thread() - - FML::CGI::ThreadTrack - summary listing on CGI is normal order by default - -2001/11/18 - - FML::Article - implement speculate_max_id() - - FML::Process::ThreadTrack - change max_id speculation strategy: - 1. check the max_id is given or not, use it if given - 2. try max_id() of FML::Article; - 3. speculate_max_id($spool_dir) in FML::Article - - fml/etc/paths.cf - ./configure が paths.cf を作る。 - -2001/11/17 - - FML::Process::HTMLify - Mail::HTML::Lite - disable debug code, enable it when $ENV{debug} is defined - - FML::CGI::Configure ThreadTrack.pm - FML::Process::Switch - Mail::ThreadTrack - Mail::ThreadTrack::Print::HTML - change default target to _top - use $msg_base_url to show link to article - -2001/11/16 - - Mail::ThreadTrack - new()::save $args as _saved_args in $self - - Mail::ThreadTrack::DB - fix _status but in unpolite way. XXX fix it ! - -2001/11/13 - - CGI 新スタイルへ変更他、 - - Problem 追跡システム、スケジューラ、makefml CGI 版 (プロトタイプ) - すべて動くようにした - - FML::Process::CGI::Kernel - some cgi may need no ml_name - - FML::Process::CGI::Param - fix address regexp, define $command, modify error return way - - FML::Process::CGI::Kernel - move get_ml_list() to FML::Process::CGI::Kernel - from FML::CGI::ThreadTrack - -2001/11/12 - - use autoconf - いろいろ改造する。そういうわけで - - # useradd fml - # ./configure; make install - - というインストール方式になりました。 - - loader - loader generated from loader.in (autoconf) - - Standalone - expand ${variable} - - FML::CGI::ThreadTrack - fix typo, $myname resolved by $curproc->myname() - - FML::Process::Switch - fix to introduce $config_dir (etc::fml) from main.cf - default_config -> default_config_cf - - FML::CGI::ThreadTrack - FML::Process::CGI::Kernel Param.pm - move "function to get paramlist" to FML::Process::CGI::Param module - implement safe_pramlist\d+_\S+() via AUTOLOAD() - -2001/11/11 - - Mail::ThreadTrack::Print::Sort - change cost evaluation logic (numeric now) - - Mail::ThreadTrack::Print - Mail::ThreadTrack::Print::HTML Message.pm - clean up summary() mode for both text and html modes. - print() method knows what should it do for text::html mode. - - Mail::ThreadTrack::HeaderRewrite - defined $rh->{ _articles }->{ $thread_id } - - Mail::ThreadTrack::Print - Mail::ThreadTrack::Print::HTML Text.pm - dynamic binding accoding to mode::text or html - - Mail::ThreadTrack - change article_summary_lines to 5 by default - - FML::Process::CGI::Param - define article_id, method -> action - - FML::Process::CGI::Kernel - header( -charset => $charset) - - FML::CGI::ThreadTrack - modified to fit FML::Process::CGI structure. - enable 'close' operation - reset button - - FML::Process::CGI::Kernel - workaround::header( -target => "ResultsWindow" ) anyway - - FML::Process::CGI::Param - allow action =~ ::^[-a-z_]+$:: - - FML::CGI::ThreadTrack - Mail::ThreadTrack - Mail::ThreadTrack::Print - Mail::ThreadTrack::Print::HTML - enable "show" and "change_status" to work - - FML::CGI::ThreadTrack - FML::Process::{Distribute,Switch,ThreadTrack} - Mail::ThreadTrack - Mail::ThreadTrack::Print::HTML - ThreadTrack switches acconding to myname ($0). - threadview is view only and cannot change status. - -2001/11/10 - - loader - FML::Process::Switch - bug fix::format $reason - - FML::Process::CGI::Kernel - remove makefml issue. - modify run() which now executes: - $curproc->html_start($args); - $curproc->run_cgi($args); - $curproc->html_end($args); - -2001/11/08 - - Mail::Message::Language::Japanese::Subject - nuke new(), not used - - Mail::ThreadTrack - restructure hierarchy - clean up inheritence for further refactoring - modify method names - clean up - nuke some "*cost*" indicator codes - closed -> close for some cases - - Mail::ThreadTrack::Analyze - avoid duplicated commit to articles DB { thread_id => [ id1 id2 ... ] } - Mail::ThreadTrack::Print::Message - ignore ^= line in message summary - - Mail::Message::Date - validate $in $shift_m - - Mail::ThreadTrack - list_up_thread_id()::remove db_*() operation - - Mail::ThreadTrack::Analyze - speculate date from header's Date: - - loader - least error infomation by default OR raw $@ if debug - - FML::Process::Switch - least error infomation by default OR raw $@ if debug - - Mail::ThreadTrack::Print - bug fix trap pattern of _valid_buf() and - _delete_subject_tag_like_string() - - FML::Process::CGI - use FML::Process::CGI::{Kernel,Param} - - FML::Command - defined() check for $command_args - - FML::Process::Switch - modify error message - -2001/11/07 - - FML::Process::Switch ThreadTrack.pm - Mail::ThreadTrack - Mail::ThreadTrack::Print - - enable fmlthread options: - --article_id_max=\d+ to override ::var::spool::ml::$ml::seq - --reverse to reverse time order in showing "review" - - Mail::ThreadTrack::DB - - remove not used variables - - FML::Process::Switch ThreadTrack.pm - Mail::ThreadTrack::Analyze - - fmlthread -f filterlist ... - - Mail::ThreadTrack::DB - - show ... when processing - - Mail::ThreadTrack::Print - - check -f article_file - - FML::Process::Utils - - command_line_argv_find() - - FML::Process::ThreadTrack - - fmlthread review ML RANGE srcdir=::some::where - XXX srcdir=\S+ overwrites config->{ spool_dir } variable - - Mail::ThreadTrack - - define add_filter() method - - FML::Process::Switch ThreadTrack.pm - - we should use long line options since we support it :) - o define --spool_dir for fmlthread. for example: - % fmlthread db_clear fml-help - % fmlthread --spool_dir=::some::where -f ::tmp::filter db_rebuild fml-help - % fmlthread --spool_dir=::some::where review fml-help last:100 - - - -2001/11/06 - - スレッド review と再生成をリモートでできるようにするとちょっと便利 - - fmlthread db_clear fml-help - fmlthread --spool_dir=/some/where -f /tmp/filter db_rebuild fml-help - fmlthread --spool_dir=/some/where review fml-help last:100 - -2001/11/05 - - fmlthread review - review() mode to show summary for articles in each thread - - FML::Process::Utils - implement command_line_options() - - fmlhtmlify [-I dir] src_dir dst_dir - new utility for convenience - Affected Files: - INSTALL.sh - fml/bin/fmlhtmlify - FML::Process::Switch - FML::Process::HTMLify - -2001/11/04 - - プログラム全域で ticket -> thread - - FML::Process::Switch - eval FML::Process::Flow::ProcessStart($obj, $args); - and trap error. - If error traped and $obj has help() method, run $obj->help(). - also upcall the $@ by croak($@) - - FML::Process:: - save $args at $curproc->{ __parent_args } - $curproc provides convenient functions FML::Process::Utils has. - fml_version() - myname() - command_line_raw_argv() - command_line_argv() - article_id_max() - - my $myname = $curproc->myname(); - my $argv = $curproc->command_line_argv(); - - FML::Process::ThreadTrack - enable db_clear, db_mkdb, summary, help - - Mail::ThreadTrack - implement exist() and close() - implemente db_clear(), db_mkdb() - -2001/11/03 - - remove fmlticket, create fmlthread - - FML::Process:: を Mail::ThreadTrack ベースに切替える - FML::Process::TicketSystem は削除し、 - FML::Process::ThreadTrack が作られた。 - - Mail::ThreadTrack を CVS へ入れる。 - これはスレッドを追跡するためのツールであり、 - call tracking system の概念のごく一部をなしているといってよい - - Mail::ThreadTrack - change new() parameters - nuke pcb - $config->{ db_type } = 'AnyDBM_File'; by default - $self->{ _index_db } = $db_base_dir::"index" - moved set_status() into this module - - Mail::ThreadTrack::Analyze - nuke pcb - bug fix $article_id handling - Log() to $self->log() - assign()::clean up function names and arguments - define {get,set}_thread_id() and modified to use them - add commentes for FNF style - clarify assign() and rewrite_header() roles - define {set,get}_thread_status() and modified to use them - message-id is <addr-spec> (RFC822), we use this format also in DB. - correct handling of $config->{ thread_subject_tag_location } - remove _address_clean_up(), which is not used now. - remove set_status() - - Mail::ThreadTrack::HeaderRewrite - prepare_history_info() - - Mail::ThreadTrack::DB - make index database in db_base_dir not db_dir - - Mail::ThreadTrack::Print - build-in decode_mime_string() - tune up alignment in printing - EUC-ify output - define STR2EUC() for convenience - -2001/10/29 - - Mail::Message - _get_mime_header() checks offset boundary - return default pair if overrun. - - Mail::HTML::Lite - nuke $ENV{DEBUG}, check input data more - - rename key: - prev_thread -> prev_thread_id - next_thread -> next_thread_id - - count up $self->{ _num_attachment } for child process - attachment file name $id.$count.html - parent passes the id to child (processing attachment) - - ignore type if type is ::^multipart:: - - check $idp pattern - -2001/10/28 - - Mail::HTML::Lite - change method to speculate thread link - - rename functions - implement _create_temporary_filename() - reorder $type check - - consider case of text::* with encoded content - save content to file once and rewrite it by _rewrite_html_file() - - consider encoding style of quoted-printable, 7bit also - - _format_safe_header() and print it in raw mode to enable - <SPAN> tag use. - - define _sprintf_safe_str() and __sprintf_safe_str() for convenience - - define _separete_url() to help incomplete regexp of - HTML::FromText::text2html() - -2001/10/27 - - Mail::HTML::Lite - use _PRINT_DEBUG(), define _print_safe_{str,buf}() to be easy for eyes - _print() -> _print_raw_str() - - Mail::Message - oops, should be s::::::mi to trap encodinge - - FML::Filter::BodyCheck - Mail::Message - Mail::Bounce::DSN - Mail::HTML::Lite - change method: data() -> data_in_body_part() - -2001/10/22 - - FML::Ticket::System (clean up campaign) - remove obsolete functions:_quote_space(), _dequote_space(), AUTOLOAD() - remove not used _pcb_[sg]et_id() - $self->_pcb_set_id($curproc, $id) -> $pcb->set('article', 'id', $id) - - Mail::HTML::Lite - add (X-ML-Name X-Mail-Count X-Sequence) into @header_field (default - header to show) - - defined() check before calling Jcode::XXX() - - FML::Command::Admin::htmlify - accept command line option::srcdir=$srcdir - -2001/10/21 - - makefml htmlify $ml_name outdir=$out_dir - - スプールを HTML 化するコマンド - もちろん Mail::HTML::Lite を利用する。 - # fml 4 の spool2html に対応するものといえよう - - Mail::HTML::Lite - 月ごとの ID インデックスも作る (TABLE)。 - make monthly index always - monthly_index.html - month.YYYYMM.html - - prepare top level entrance functions: - htmlify_file() for file - htmlify_dir() for directory - - clean up codes, documents - - implement _print_index_{begin,end}() and modified to use them - - sort location of function definition - rename functin name: - _print_attachment -> _print_inline_object - _raw_text_print -> _text_print_by_raw_mode - - oops, fix untie() operation to be ensured - - check target html is already processed or not - - bug fix _address_clean_up() syntax check - - check already processed or not - you can know it by $self->is_ignore($id) method. - - move a lot of debug code to "if $debug > 3" in cache_message_info() - -2001/10/20 - - Mail::HTML::Lite - メールを HTML 化するモジュール - mhonarc のように凝ってはいないが必要十分な最低限の機能は持つ - (だから Lite なんだよん) - - cache information in .ht_hml_* in html article directory - rewrite links using these data among articles needed to rewrite. - links contains prev::next by ID (article ID) and prev::next by Thread. - - bug fix target lists to update, modified to use the result by - evaluation_relation() - - clean up debug code - more debug information - - show <META> and <LINK> information in <HEAD> if could - new() takes charset as argument - change _decode_mime_string() to method - modify ifdef in_chaset_to_code() to be more suitable - - we can make index.html and thread.html - - Mail::HTML::Lite::new() accepts - { db_type => "DB_TYPE", attachment => 0::1 } - - change html_begin argument::($wh, { message => $msg }); - we can specify title in <HEAD> - several minior changes - - bug fix::_address_clean_up() should check return value, which is - address or not more rigolously. - - bug fix::check parent::child (attachment) process or not - - more and more debug info - - Mail::Message - - bug fix::$InComingMessage should not local scope. modify it to - SCALAR REF - - bug fix::data_in_body_part() returns whole data not the first - 512 bytes. if $size is specified as argument, return the first - $size bytes. - - feature::get_data_type_list() returns ARRAY of xxx::yyy by - default for other method use. If under $debug mdoe, it shows - verbose output. - -2001/10/19 - - import HTML::FromText 1.005 - - Mail::Bounce - Mail::Message::get_data_type_list() is changed. To sync with it, - use $msg->get_data_type_list( { debug => 1 } ) for debug. - -2001/10/18 - - Tie::JournaledDir - change default unit to "day" not number (unix time). - -2001/10/17 - - variables - add $confirm_keyword to $available_commands_for_stranger - add $available_commands_for_stranger to $available_commands - - FML::Command - modified FML::Command uses get_attribute() in FML::Command::Attribute - - FML::Command::Attribute - renamed FML::Command::ACL -> FML::Command::Attribute.pm - - FML::Command::SendFile - support MH style arg::first, last, cur, first:\d+ and last:\d+ - - FML::Command::User::bye - fix typo - - File::Sequence - implemente get_id() method to return the latest article id - update document - -2001/10/15 - - フィルタリングを有効にする - - FML::Filter::BodyCheck - FML::Filter::HeaderCheck.pm - define @default_rules and use it if rules not specified - rules() method to overwrite filtering rules - - variables - define the following variables for filtering (FML::Filter) - body_cksum_cache_dir - body_filter_rules - body_loop_check_rules - header_filter_rules - use_body_filter - use_body_loop_check - use_header_filter - -2001/10/14 - - FML::Process::Kernel - bug fix::we should pay attention to implisit $_ use - - FML::Process::Configure - sync style w:::Process::Command - - FML::Process::Command - make argument vector from $command - relocate _parse_command_options() - implemt _get_command_name() - clean up - fix typo - - FML::Command::Admin::get - prototype to use FML::Command::SendFile - - FML::Command - FML::Command::* - FML::Process::Configure - FML::Process::Command - $optargs -> $command_args - -2001/10/13 - - FML::Process::Command - pass $comname in $optargs - - FML::Command::SendFile - fix duplicatoin for $charset - - FML::Config - avoid infinite loop - - FML::Command::SendFile is added - This module provides basic file sending functions - - implement command: get help summary guide - FML::Command::SendFile based command - -2001/10/12 - - FML::Command - remove error_nl() - - FML::Command::Admin::resign - ->SUPER::process() - - FML::Command::Admin::subscribe - clean up log message, LogError() -> croak() - - FML::Command::User::subscribe - use reply_message_nl() - - FML::Command::User::unsubscribe - confirm version - - FML::Config - expand_variable_in_buffer can take optional $args - - FML::Credential - bug fix variable name - - FML::Process::Kernel - implement search template mechanism in reply_message_nl() - $config->expand_variable_in_buffer() takes optional $args - - FML::Process::Command - use reply_message_nl() - remove exception mechanism by $obj->error_nl(); - - etc/ - define $message_message_dir - add chaddr to $available_commands - - メッセージ - テンプレートは euc-jp を使う - - FML::Config - expand_variable_in_buffer() - expand $varname to $config->{ varname } - - FML::Process::Command - - add _pre_scan() - even not member need to use $confirm_keyword. - for example, 'guide', 'subscribe', 'confirm' - - add _can_accpet_command() - 1. simple command syntax check - 2. use of this command is allowed in FML::Config or not ? - 3. Even new comer need to use commands [ guide, subscirbe, confirm ]. - - enable confirmation - FML::Confirm module を利用します - 変数 $available_commands_for_stranger を定義する。 - FML::Confirm provides basic functions needed for confirmation - + FML::Command::User::subscribe - + FML::Command::User::confirm - + FML::Confirm - - FML::Command::Admin::subscribe - check address is specified or not - - FML::Command::User::help - clean up - expand_variables_in_file() -> prepare_file_to_return() - - FML::Process::Kernel - define prepare_file_to_return(): - expand $xxx variables in template (e.g. $help_file). - 1. in Japanese case, convert kanji code::iso-2022-jp -> euc - 2. expand variables::$ml_name -> elena - 3. back kanji code::euc -> iso-2022-jp - 4. return the new created template - -2001/10/11 - - FML::Filter::Utils - it provides utility functions - is_secure_command_string() - is_valid_mail_address() - - FML::Process::Command - it checks input by FML::Filter::Utils::is_secure_command_string() - -2001/10/10 - - コマンド - get mget help などが動くようになった。 - - FML::Config - check defined() more - - FML::Credential - implement is_same_address() completely. - is_member() accpepts $args->{ address } - define set_compare_level(), get_compare_level() - - add variables - command_prompot = >>> - help_file = $message_template_dir/help - message_template_dir = $fml_share_dir/template/$template_file_charset - template_file_charset = $default_charset - - Mail::Delivery::SMTP - old IO::Socket has no connected() method. modified to use our - own socket_is_connected() method or remove connected() check. - - Mail::Delivery::SMTP - + bug fix: ensure we handle IPv6 case more restrictly - - Mail::Delivery::Net::INET6 - + bug fix: clear error counter - + check more defined($socket) or not, socket is connected - + more debug log - - FML::Process::Kernel - define prototype for reply_message_nl() for natural language - check more defined() or not - more debug info - define expand_variables_in_file() - + expand $xxx variables in template (e.g. $help_file). - - FML::Process::Command - bug fix: $obj->$command where $command is a command name not line. - modified to use reply_meessage_nl() - - FML::Command - define error_nl(), but a dummy yet now - + get natural language information - -2001/10/09 - - libexec/Standalone.pm - check $config->{ $x } is defined() or not - - Ticket System - consider $ticket_subject_tag_location in regexp - change ticket_id_syntax to "$ml_name/%d" by default - define ticket_subject_tag_location as "appended" - change default ticket syntax - etc/default_config.cf.ja - etc/defaults/tickets.cf.ja - - FML::Header::Subject - change regexp_compile(). - quotemeta() firstly, and hack a few - - FML::Process::Command - catch up the modification in FML::Process::Distribute. - make command function work with replying request mail. - disable lock()/unlock() since each command module lock/unlock - by itself. - - FML::Process::Distribute - modified finish() to use queue_flush() - - -2001/10/08 - - メールでのコマンドの応答を可能にした(プロトタイプ) - add a lot of debug messages - - * Affcted modules: - FML::Command - FML::Process::Command - FML::Process::Distribute - FML::Process::Kernel - FML::Process::Switch - - * newly added: - FML::Command::User::help - - * test tools: - regress/simulation/test-ctl.sh - regress/testmails/text=plain.command - - FML::Command - FML::Process::Kernel - more debug info - - FML::Process::Distribute - log ACL error - - FML::Process::Switch - enable "loader --ctladdr" behaves as libexec/command - more debug messages - modify style e.g. eval q## -> eval q{} et. al. - - regress/simulation/test-ctl.sh - added simple command mode emulator - - regress/simulation/perlcheck - add -I ../../fml/libexec - - libexec/loader - die() -> croak() - define missing default value in initialization - remove obsolete variable: $libexec_dir - eval()-fiy more - fix error message - show $@ in error - fix typo - - fix: more severe initialization check - FML::Credential - - -2001/09/23 - - Mail::Message - implement get_encoding_mechanism() in Mail::Message. - - implement get_offset(): return offset information in the data. - return value is ARRAY. - - return encoding type for specified Mail::Message not whole mail. - The return value is one of base64, quoted-printable or undef. - - Modified Files: - fml/lib/Mail/Message.pm - fml/doc/ja/tutorial/module/Mail::Message.sgml - regress/message/dump.pl - - チュートリアル - module に関する新パートの創設 - module/ ディレクトリを創設 - Mail::Message - IO::Adapter - のプロトタイプを用意する。 - このディレクトリでは各モジュールの詳細な使い方について - 記述するもの。 - - FML::Filter - fml 4.0.x 相当の機能をきちんと実装する。 - # ただし、ウィルスチェックは除く - XXX これで、おおむね、いつでも入れ換え可能か? - - Utils を削除し、関数は適当なモジュールへ移動 - move clean_up_buffer() and compare_euc_string() to - FML::Filter::BodyCheck and FML::Language::Japanese::Utils - respectively to remove FML::Filter::Utils. - - MS GUID を判別するルーチンも実装した - -2001/09/22 - - FML/Config.pm - if ($ENV{'debug'}) { ... debug ...;} - - TinyScheduler.pm - FML/Command/Admin/edit.pm - modified to use File::Spec - -2001/09/18 - - errormail collection - add netscape messaging server 3.54 sample - thanks PR for Toshimi Aoki <toshi@kinotrope.co.jp> - -2001/09/17 - - IO::Adapter - - * IO::Adapter::{DBI,MySQL,RDBMS}.pm - rename: $self->{ _driver } -> $self->{ _model_specific_driver } - dynamically load DBD:mysql - - move replace(), getline() and get_nextvalue() to DBI.pm - since these functions are MI (Map Independent). - - implement setpos(), getpos() and eof() in MySQL.pm - since these functions is dependent on map type (MD). - - RDBMS.pm is not used now, so removed. - - * IO/Adapter.pm - change replace() - o fix typo: s/regexp/replace/ - o fix case insensitive search when $show_all is on - o call md_find (md == map dependent, function) if defined - o enabled to call md_XXX() - define AUTOLOAD() to hook up md_XXX() functions - XXX For example, md_XXX() should be implemented at - XXX IO::Adapter::SQL::toymodel.pm - - * IO/Adapter/SQL/toymodel.pm - rename: fetch_and_cache_address_list -> fetch_all - implement md_find() - - -2001/09/13 - - FML::Process::QueueManager - send() can take queue id as the argument - - FML::Process::Kernel - more friendly error message - - implement queue_flush($queue): This flush C<$queue>, that is, - send mail specified by C<$queue>. It uses - FML::Process::QueueManager module. - - FML::Config.pm - define FIRSTKEY and NEXTKEY for complete hash emulation - - FML::Command::Admin ユーザ用コマンド群 - commit prototype - makefml uses this class - -2001/08/26 - - FML::Credential - implement has_address_in_map() method and is_member() uses this. - has_address_in_map() searches the address in the specified map. - - IO::Adapter クラス - touch() メソッドを追加 - XXX file タイプ以外では無意味。ダミー - - FML::Command:: クラスの再構成 - - FML::Command.pm FML::Command クラス以下への入口 - FML::Command::ACL ACL - FML::Command::Utils よもやまの定義 - FML::Command::User ユーザ用コマンド群 - FML::Command::Admin ユーザ用コマンド群 - - newml edit などは Admin のみ - -2001/08/24 - - regress/ - add&enable FML::Config {+,-}= overload test tools - -2001/08/23 - - FML::Config の拡張 - postfix style のさらなる拡張 - - 変数名 += 値 - 変数名 -= 値 - で、特定の値の足し引きができます。 - - 例: - x = a b c d - x -= b - は - x = a c d - - x = a b c d - x += e - は - x = a b c d e - などとなる。 - -2001/08/22 - - clean up - File::Spec を使うように変更 - - -2001/08/21 - - Tie::JournaledDir クラスの創設 - Tie::JournaledFile の clean up - - Tie::JournaledDir クラスはキャッシュとしてあるディレクトリを使い、 - その中の複数個のファイルを順番に使います。 - それぞれのファイルは Tie::JournaledFile を使ってアクセスします。 - - これにより auto expiration をする Journaled 型キャッシュを実現 - します。 - - add Tie::JournaledDir which wraps Tie::JournaledFile and uses some - directory as cache area. - - add/update test tools for Tie::Journaled{File,Dir} modules. - - clean up Tie::JournaledFile - o remove header in the cache file - o $self->{ 'key' } - o $debug is on if $ENV{'debug'} is defined. - o more carefull check of whether the value is defined or not. - o quotemeta() for pre search key in find() - o rename grep() to find() - -2001/08/19 - - フィルタコードの改良 - 一行メールか否か?の判定コードをきれいにする - - そのために signature や引用か?を判定するコード他を書く - Utils.pm もきれいにし、いらないコードを消した。 - - -2001/08/06 - - フィルタ - clean up - - fml/lib/ - fml/etc/ - 変数名の変更をする。s/header_check/header_loop_check/ - ループチェックの設定であることを変数名自体ではっきりさせる - - IO::Adapter - - IO::Adapter - set @ISA = qw(IO::Adapter::ErrorStatus) to call error_set() - check $@ before call configure() - add more debug codes - - IO::Adapter::MySQL - メインの部分を IO::Adapter::SQL:: 以下へ移す - IO::Adapter::MySQL は単なるフロントエンドにする - -2001/08/02 - - Mail::Message - bug fix wrong handling of "\n" at the last of part - -2001/07/31 - - rename FML::NL to FML::Language - - Mail::Bounce class - - 以下のパターンを解析できるようになったはずです。 - Lotus Notes - pakeo.ne.jp - jp-r.ne.jp (ほんとか?) - - Mail::Bounce::Language::Japanese - 日本語依存パーサを作成する - - Mail::Bounce::DSN - - call again $self->address_clean_up($addr, $addr) - gives $addr itself as a hint of fixing broken address - domain part of $addr may match someting e.g. nifty.ne.jp, webtv.ne.jp. - - Mail::Bounce.pm - Mail::Bounce::FixBrokenAddress.pm - - use Mail::Bounce::FixBrokenAddress to clean up address - - Mail::Bounce::FixBrokenAddress class provides irrgular - address handlings, so handles domain/MTA specific addresses. - For example, nifty.ne.jp, webtv.ne.jp, ... - -2001/07/30 - - Mail::Bounce class - - pick up Reporting-MTA and Received-From-MTA in DSN - - clean up documentation - add error examples - - modify Mail::Bounce::$module return "hints" to caller - (Mail::Bounce class). - -2001/07/19 - - add errormail samples - - freeserve.ne.jp - webtv.ne.jp - -2001/07/15 - - 設定変数 - - pid を _pid へ変更 - - FML::Config - - enable read and write configuration file - - コメントを保存しつつ postfix スタイルの設定ファイルの - 読み書きを可能にするように - -2001/07/15 - - このファイルを創設する:) - - ----------------------------------------------------------------- -Appendix - - 7.98.17 update modules: cpan modules, IM et.al (to be planned). - 7.98.16 FML::Install is enhanced. - 7.98.15 IM updated to IM-150. - fix wrong ID incrementation in article to html conversion. - 7.98.14 www interface for anonymous users. - Anyone can submit a subscribe/unsubscribe request via - www interface. - 7.98.13 "isolate" instead of "reject" spam or unknown messages - by default. - 7.98.12 delivery system error handling fixed. - 7.98.11 ignore in restrictions supported. - 7.98.10 delivery system overhaul sequal. - 7.98.09 delivery system overhaul - 7.98.08 correct context switch. - address validation in smtp transaction. - 7.98.07 confirmation + manual subscribe/chaddr/unsubscribe - manual subscribe/chaddr/unsubscribe - 7.98.06 fundamentals of moderator mode implemented. - 7.98.05 add reviveml command (to revive a removed ML). - add PostgreSQL support. - add LDAP support. - 7.98.04 minor fixes. clean up. - clean up method naming convension. - 7.98.03 Japanese/English document overhaul/revised. - 7.98.02 queuing system revised. fetchfml added. - PGP/GPG authentication. - bug fix method naming convension (FNF). - MIME-Base64 removed from cvs tree. - 7.98.01 overhaul. - - [注意] - コマンドメールのコードを全面的に書き直しました。 - - fml-devel-20040303 が、このコマンドメールの変更が"入っていない" - 最後のスナップショットです。 - - fml-devel-20040313 では、変数命名のルールが大きく変わりました。 - 気をつけてください。 +7.98.01 overhaul. - 2004/09 以降の fml8 は疑似 MTA 的な動作をしていて、自分のメー - ルキューイングシステムを使ってエラー処理や再送処理を行ないます。 +7.97.xx fml-devel after 200409xx behaves like a pseudo MTA, so that + fml-devel itself has a mail queing system to handle error and + resend handling by itself. +7.97.xx fml-devel-20040313 variable naming convention is largely changed. -$FML: CHANGES.txt,v 1.336 2017/03/04 02:39:21 fukachan Exp $ +7.97.xx command mail codes is fully rewritten. + fml-devel-20040303 is the last snapshot without this rewriting. |
