		¿ʥ
		Last Modified: $Date$

	XXX Ȥ TODO/STATUS.txt ⥢åץǡȤƤ XXX

	XXX
	XXX fml 4.0 Ʊǥ쥯ȥ̾ϻȤʤ褦    XXX
	XXX


	content filter ȤȤȤꤻ 

	fml.org ǤĤͤ


	File::CachdDir  Tie::JournaledDir

	Tie::JournaledDir  keys ϤޤäƤʤ
		ե뤴Ȥ JournaledFile Ƥʣ

	FML::Article

	subdir μ갷Խʬ


	0700 ȤϡɥɤƤ뤸

        FML/Config/Convert.pm:        chmod 0644, "$dst.$$";
        FML/Config/Convert.pm:	chmod 0644, $dst_tmp;

        FML/Confirm.pm:	mkdirhier($dir, 0700);

        FML/Header/MessageID.pm:	    mkdirhier($dir, 0700);

        File/CacheDir.pm:	my $mode = $args->{ directory_mode } || 0755;

        Mail/Delivery/Queue.pm:	mkpath( [ $dir ], 0, 0755);
        
        Mail/ThreadTrack/DB.pm:
	               tie \%$db, \$db_type, \$file, O_RDWR|O_CREAT, 0644;
        Mail/ThreadTrack/DB.pm:
		    tie %index, $db_type, $index_file, O_RDWR|O_CREAT, 0644;

        Mail/ThreadTrack.pm:    $mode = defined $mode ? $mode : 0700;
        
        Mail/Message/ToHTML.pm:		mkdir($xsubdir, 0755);
        Mail/Message/ToHTML.pm:
		tie \%$db, \$db_type, \$file, O_RDWR|O_CREAT, 0644;

	auto-responses

	http://www.cs.utk.edu/~moore/internet-drafts/draft-moore-auto-email-response-00.txt


	remove $msg->{ next }

	FML/Filter/BodyCheck.pm
	Mail/HTML/Lite.pm
	Mail/Message.pm
	Mail/Bounce/Postfix19991231.pm
	Mail/Bounce/Qmail.pm


	եѰդ󥷥꡼;)
	줫¤ΤǡۤȤ̤ΤޤޤΤ

	FML::Command::Admin::edit
	FML::Process::Qmail
	FML::Filter::TrafficMonitor
	IO::Adapter::LDAP


 mail-message-0-2 θդä줿ɤˤĤƺƹ

	s/content/data/g;

	we need our own MIME generator ???


	äȸɤ

   FML::CGI::ThreadTrack
	ɤ config.cgi ʤɤȹ碌ɤǤ礦
	 ơ֥١θɤ


	äȥǥ󥰥뤬Ť?

   FML::Header
   FML::Header::Subject
   File::Sequence
   Mail::Delivery::* (?)
   FML::Filter
   FML::Filter::BodyCheck
   FML::Filter::HeaderCheck

	äȥǥ󥰥뤬Ť?
	᡹˸ľ٤


	ɥ( tutorial )

	setup/test.sgml
	usage/fmlhtmlify.sgml
	module/IO::Adapter.sgml
	module/Mail::HTML::Lite.sgml
	command/extension.sgml
	threadtrack/chapter.sgml
	threadtrack/tools.sgml
	
	usage/ ޤ(fml bible ΥѡIIIκǽʬˤ)
		usage/command.sgml
		usage/post.sgml


	makefml Ǥʤ

			get	***disabled***
			mget	***disabled***
			send	***disabled***
			password	ס
			pass		ס
			dir 	ס
			ls 	ס
			file 	ס
			list 	ס

	* CGI Ǥס

		dir ls file

	   FML::Command::Admin::dir
		cgi_menu() ?
		ǥ쥯ȥ listing Ƥ perl module ʤʡ

	* makefml get ???

	Ȥǡï󤸤㡩 :-) äơmakefml 
	ʤ admin ޥɤλϹͤʤƤ⤤ʡ 



 Mail::ThreadTrack

	ɥȤθľʡ

	subdir ˤäơ礯ĤΥ󥯤Ĥ餤

	뤴ꤺ ?

 	+
		+
			+ (3)


	+ (4)
		+

	ȤʤäƤȤ (3)  next_thread ϤļΥ󥯤狼
	ΤͽǤʤ˸äƥåɤ륢르ꥺ
	ʤΤǡνĹԤʤ뤫ɤ狼ʤ;)

	 (4) 褿 (3) ٤

	ȤꤢäΥե˽ߤ٤
	ʹϡޤ褤̤ˤʤʤ褦


 	compare_euc_string($buf, $pat)

=head2 C<compare_euc_string($buf, $pat)>

search $pat in EUC string $buf.
return 1 if found or 0 if not.

=cut


# Descriptions: compare Japanese EUC strings
#    Arguments: OBJ($self) STR($a) STR($pat)
# Side Effects: none
#      History: fml 4.0: EUCCompare($buf, $pat)
#               where $pat should be $& (matched pattern)
# Return Value: NUM(1 or 0)
sub compare_euc_string
{
    my ($self, $a, $pat) = @_;

    # XXX validate $a and $pat ???
    #     e.g. defined($a) ?

    # (Refeence: jcode 2.12)
    # $re_euc_c    = '[\241-\376][\241-\376]';
    # $re_euc_kana = '\216[\241-\337]';
    # $re_euc_0212 = '\217[\241-\376][\241-\376]';
    my ($re_euc_c, $re_euc_kana, $re_euc_0212);
    $re_euc_c    = '[\241-\376][\241-\376]';
    $re_euc_kana = '\216[\241-\337]';
    $re_euc_0212 = '\217[\241-\376][\241-\376]';

    # always true if given buffer is not EUC.
    if ($a !~ /($re_euc_c|$re_euc_kana|$re_euc_0212)/) {
	&Log("EUCCompare: do nothing for non EUC strings");# if $debug;
	return 1;
    }

    # extract EUC code (e.g. .*EUC_PATTERN.*)
    # but how to do for "EUC ASCII EUC" case ???
    my ($pa, $loc, $i);
    do {
	if ($a =~ /(($re_euc_c|$re_euc_kana|$re_euc_0212)+)/) {
	    $pa  = $1;
	    $loc = index($pa, $pat);
	}

	print STDERR "buf = <$a> pa=<$pa> pat=<$pat> loc=$loc\n" if $debug;

	return 1 if ($loc % 2) == 0;

	$a = substr($a, index($a, $pa) + length($pa) );
    } while ($i++ < 16);

    0;
}


----------
$FML: 00_MEMO,v 1.49 2002/09/21 09:53:00 fukachan Exp $
