CHANGES Last Modified: $Date$ 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 and information in
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 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