                ޥɤˤĤ

------------------------------------------------------------
I	overview

1	
1.1	ޥɤΰ
1.2	Υޥɤ
1.3	Υޥɤǽˤ
1.4	ʬȤǥޥޥɤ
1.5	members 
1.6	ե (makefml)
1.7	ե (admin ޥ)

2	㽸
2.1	С鷺ե uja ֤
2.2	ư֤Фμ
2.3	Υե֤٥ޥɤ
2.4	GetʳCommand MLȤ̤ΥեФ褦ˤˤ
2.5	get 100 ȥޥɤ ȥޥѡȷ100֤ε

3	ޥɤư
3.1	ĤΥ᡼ǻȤ륳ޥɤοξ
3.2	ְäޥɤäƤͤؤηٹ
3.3	⤷ͭʥޥɤĤʤ᡼뤬褿顩
3.4	ޥɤν(˥㥢к)

II	¤¾

4	¤
4.1	̤ͣǻȤ륳ޥɤ䤹or餹
4.2	ϥå %Procedure üʥ
4.3	ޥɤ # syntax 

III	ޥɳ

5	library ޥ
5.1	library ޥ
5.2	СꥹȥեγĥˤĤ (libmember_name.pl)
5.3	Traffic Ĵ٤ (libtraffic.pl)
5.4	traffic  ʣΥɥ쥹ĿʪƱ뤷ƥȤ 

6	whois (local whois-like database)
6.1	Introduction
6.2	Whois ޥ
6.3	Whois ѿ
6.4	Whois ܸʸѴ

7	¾
7.1	index ޥ
7.2	qmail ǤȤĥ (ɥ쥹Τޥ̾ˤʤ)
------------------------------------------------------------


I	overview
1	

ޥɤȤϡ֥᡼fml˲򤵤뤳ȡפǤ
	̥桼λȤޥ
ȡ
	ԤȤ륳ޥ (⡼ȴ => remote_control 1)
ȤΤޤ

̥桼ɽŪʵǽ

	᡼󥰥ꥹȤ롢ȴ
	ե򸫤 (:  ޥߤ )
	ε󤻤

Τ褦ʤȤؤޤ

⡼ȴ: ѤΤΤˤĤƤ => remote_control 1

1.1	ޥɤΰ

HOMEǥ쥯ȥˤ help ե򸫤Ʋ:-)

elena ̤ͣΥإץե /var/spool/ml/elena/help
Υե

	makefml newml elena 

¹Ԥ /usr/local/fml/drafts/help.jp 򸵤ˤޤ

1.2	Υޥɤ
See also: 4.1 

@PermitProcedure 񤭤ޤ
@PermitProcedure ȤȼưŪ 

	1. Υޥɤǽˤ
	2. @PermitProcedure 줿Υޥɤ

:
	@PermitProcedure = ('guide', 'summary');

1.3	Υޥɤǽˤ
See also: 4.1 

@DenyPrecedure ȤޤǻꤷޥɰʳѲ
ǽΤޤޤǤ

:
	@DenyProcedure = ('get', 'send', 'mget', 'msend');

1.4	ʬȤǥޥޥɤ
See also: 4.1 

: ʬ hack ޥɤä롣

	sub myProcHack { ʤȤȤ }
	%LocalProcedure = ('hack', 'myProcHack');

1.5	members 

Q: members ޥɤη̤Ǥ # ǤϤޤԤϸޤ󤫡

A: Ǥ;פʤΤϸʤȤˤʤäƤޤ
ʤߤ admin members Υե֤ΤǤ٤Ƹޤ

1.6	ե (makefml)

᡼񤯤ΤݤȤ makefml  fml.pl Υޥɥ᡼
¹ԤȤ⤢ޤ

	% makefml command ͣ̾ ꤿ᡼륢ɥ쥹 fmlΥޥ

Ǥ
㤨СΥС( rudo@nuinui.net ) help ˤ

	% makefml command elena rudo@nuinui.net help

ˤʤޤ
Ĺä餷ΤǤޤʵϤޤ;)
ʤߤˤλ makefml Ϥ
rudo@nuinui.net  help Ȥޥɥ᡼
褿Τ褦 fml.pl ¹Ԥƥ᡼äƤޤ

1.7	ե (admin ޥ)

⡼ȴξϡΤ褦ʥޥɤȤޤ

	admin resend help rudo@nuinui.net

: ñˡإե٤Ȥ̿Ǥ
桼λȤޥɤΥߥ졼ǤϤޤ
Ѥʤ(?)ʤ褦դޤ礦

2	㽸

2.1	С鷺ե uja ֤

:
	ïΥꥯȤǤOK
	ʸ˥ uja Ȥ

$START_HOOK = q#
    $UJA_FILE = "$DIR/uja";

    if ($Envelope{'Body'} =~ /^[\n\s]*\#\s*uja/) {
	&SendFile($Envelope{'Addr2Reply:'}, "UJA $ML_FN", $UJA_FILE);
	&Log("UJA");
	$DO_NOTHING = 1;
    }
#;

2.2	ư֤Фμ

ʤΤȤϤʤɥեŬʥեꤷơconfig.ph 
ǶŪ˥֤ʤ褦ˤƤޤнǤ͡

ݥȤϡ$START_HOOK ˤɤäƤȤǤ

:

1	Ŭʣͣ(guide ML) (makefml newml guide)
2	̤ aliases ꤹ
3	config.ph  $GUIDE_FILE (guide) Ƥ֤ʤ

	$START_HOOK = q#
		&SendFile($From_address, "Guide $ML_FN", $GUIDE_FILE);
		&Log("Guide request from $From_address");
		$DO_NOTHING = 1;
	#;

 guide ML  config.ph դä롣()

2.3	Υե֤٥ޥɤ
See also: 4.2 

: ޥ news ǥ˥塼Ȥե֤

config.ph 

%LocalProcedure = (
		    # help for usage of commands
		    'news',	'ProcFileSendBack',
		    '#news',	"$DIR/news",

		);

Ƚ񤱤 news ȤޥɤΤǤ夬Ǥ

2.4	GetʳCommand MLȤ̤ΥեФ褦ˤˤ

ʤ󤫤ʡ"get-etc passwd"  elena-ctl ˤ 
/var/spool/ml/elena/etc/passwd ֤äƤ롣
狼ȤꡢåޤޤǤޤ prototype 

%LocalProcedure = (
		   'get-spool',   'mySendFile',  # $DIR/spool
		   'get-archive', 'mySendFile',  # $DIR/archive
		   'get-etc',     'mySendFile',  # $DIR/etc
		   );

sub mySendFile
{
    local($proc, *Fld, *e, *misc) = @_;

    if ($proc =~ /^get-([a-z]+)$/io) {
	local($dir) = $1;
	if (-f "$dir/$Fld[2]") {
	    &SendFile($to, "Get $dir/$Fld[2] $ML_FN", "$dir/$Fld[2]");
	}
    }
}

2.5	get 100 ȥޥɤ ȥޥѡȷ100֤ε

: get λƤӽФؿ mget δؿˤƤޤ

Ĥޤ
1. ĤǤmgetˤ
2. mgetΥǥեȤmpˤ

櫓ǡʲperlʸconfig.phؤĤƤߤ롣

   $MGET_MODE_DEFAULT = "mp";
   %LocalProcedure = ('get', 'ProcMgetMakeList');

(fml-support: 06997)

3	ޥɤư

3.1	ĤΥ᡼ǻȤ륳ޥɤοξ
See also: resource_control 3.1 

Υ᡼ǻȤ륳ޥɤθĿξ¤ $MAXNUM_COMMAND_INPUT Ǥ
⤷̤ʤ̵Ǥ:)ǥեȤ̤ǲĤǤ񤱤ޤ

3.2	ְäޥɤäƤͤؤηٹ

ǥեȤǤϷٹ𤷤ޤ

	$USE_INVALID_COMMAND_WARNING = 1; (default 0)

ꤹȴְäޥɤؤηٹ᡼ޤ signature 
ưŪդ򤷤ƤؤнǤ̤ˤ exit 
Ū˥ޥɻ򽪤餻Τ侩뤫MUAǥ˥㡼ưŪ
Ĥʤ褦ˤΤ侩Τ褤Ǥ礦

3.3	⤷ͭʥޥɤĤʤ᡼뤬褿顩

̤ͣΥСΥꥯȤǤХإץե֤ޤ

̤ͣΥСʳΥꥯȤǤХɥե֤ޤ

3.4	ޥɤν(˥㥢к)

	exit 
	end
	quit

ȤޥɤιԤfmlϽߤޤsignature äƤ⤤
ˡʤäƤޤ

II	¤¾
4	¤

%Procedure ȤΤǻȤäƤ륳ޥΥϥåơ֥
ΥϥåʤʲϥåǤ

4.1	̤ͣǻȤ륳ޥɤ䤹or餹
See also: remote_control 4.10 

config.ph ǥȥǤޤĤѿޤΤ褦
˺ưޤ

   1	@PermitProcedure Ƥʤ
	@PermitProcedure ǵƤ륳ޥɤꤷޤ
	⤷ƤʤХǥեȤΤ٤ƤΥޥɤ
	Ѳǽˤʤޤ
	ϥХѿ %Procedure ޤ

   2	%LocalProcedure Ƥʤ
	1 줿 %Procedure  %LocalProcedure Ǿ񤭤ޤ

   3	@DenyProcedure Ƥʤ
	@DenyProcedure ΥޥɤȤʤ

Example:

	 guide  summary ΤߤѲǽʳϤ٤ƻԲ

	@PermitProcedure = ('guide', 'summary');

	ǥեȤ˲äʬ hack ޥɤȤ

	%LocalProcedure = ('hack', 'ProcHack');

	󤳤ξϤɤ sub ProcHack { ...; } ä
	δؿѰդƤɬפ롣

	ǥեȤ get طϻȤʤ

	@DenyProcedure = ('get', 'send', 'mget', 'msend');

	 СꥹȤʤɤʤ褦ˤ

	@DenyProcedure = ('member', 'active', 'members', 'actives', 'status', 'stat');

4.2	ϥå %Procedure üʥ

ϥå %Procedure ˤ̤ʽޤ̾

	ϥåΥ	
	----------------------------------------
	ޥ̾	ؿ̾

Ǥ

	ϥåΥ	
	----------------------------------------

	key		Function Name (e.g. ProcHoeHoe)
	#key		file name
	r#key		1 or 0
	r2a#key		1 or 0
	l#key		the maximum request for key in one mail

 #key ϥե֤ؿǤΥե̾Ǥ¤ϥե
֤ؿ϶̤ʤΤǡѤȹʥե֤
ޥɤۤۤޤ

: "help" ޥɤ $HELP_FILE ("#help") ֤

		    # help for usage of commands
		    'help',	'ProcFileSendBack',
		    '#help',	$HELP_FILE,

Example: add your new command "news" to send back "$DIR/news" file.
See also: 2.3 

%LocalProcedure = ('news',	'ProcFileSendBack',
		   '#news',	"$DIR/news");

 r#key ϤΥޥɤ¹Ԥ¹ԤΥ桼֤ޤ

: "off" ޥɤǤϥ桼֤

		    'off',    'ProcSetDeliveryMode',
		    'r#off', 1,

 r2a#key ϤΥޥɤ¹Ԥ¹ԤΥԤ֤ޤ
* If "r2a#key" is defined, FML sends the trace log of the command to
$MAINTAINER. 

: "bye"  "unsubscribe" Υޥɤμ¹ԥϴԤˤ롣

		    'bye',             'ProcSetMemberList',
		    'r#bye',           1,
		    'r2a#bye',         1,
		    'unsubscribe',     'ProcSetMemberList',
		    'r#unsubscribe',   1,
		    'r2a#unsubscribe', 1,

Ex 2: "chaddr" case.
		    'chaddr',         'ProcSetMemberList',
		    'r#chaddr', 1,

 l#key

̤Υ᡼Υޥ 'command' ꥯȤǤ
$Procedure{"l#command"} ĤޤǤ¤롣ޥɤȤ¤Ѥ
롣$MAXNUM_COMMAND_INPUT ϰĤΥ᡼Υޥɤιפؤ¤
ʤäƤ(̤鷺­碌)

: "get" ϣ᡼ǣĤޤ

	             'l#get',      10,

4.3	ޥɤ # syntax 

ǥեȤǤϥݥȤ̤ͣȥޥѤΣ̡̤ͣѰդޤ
ѤΥɥ쥹ȥޥѤΥɥ쥹Ʊ($MAIL_LIST 
$CONTROL_ADDRESS Ʊ)Ȥʤޤ

ξ絭ȥޥɤ򸫤櫓ɬפޤؤΥ
"# syntax"ǤϺǽ3ԤΤɤ "# command(ʸOnly)" 
󥿥å򸫤Ĥ˥ޥɤȤǧ뤳ȤǶ̤Ƥޤ

 # ǥ⡼ɤؤΤɬפʾ

makefml  listname-ctl ɥ쥹ϥޥѤʤΤפޤ󡣤
󤢤äƤ # ʬϾ˲᤹ΤǤɤäǤ⹽ޤ
Listserv Υ󥿥å򤦤Ĥ褦˳ĥ줿󥿡ե
(libexec/fmlserv.pl)Ȥ̵طǤ

ȥޥѤΥɥ쥹˥᡼뤬褿ɤɬפʤˤϰʲ
褦ξ礬ꤨޤ

	1. config.ph  $COMMAND_ONLY_SERVER = 1;
	2. fml.pl  --ctladdr ĤƤ
	   (include-ctl ϤʤäƤ)

ޥѤΥɥ쥹"# command"  "command" Ʊޥɤˤʤ
ޤޤޥɤΥ󥿥å

	# get 1
	#get 1

ƱǤƱͤ

	# help
	#help

ƱΤˤߤʤޤ

	$COMMAND_SYNTAX_EXTENSION = 1;

ξ᤹ʤ飱"# summary" ߤʷʤ飰

ޥɤϥǥեȤ "# get 1"  "#get 1" ƱΤȤߤʤƤ
ޤ# ǻϤޤ뤫ݤȽꤷƤޤ--ctladdr  fml.pl Ƥ
ФƤ(㤨 include-ctl ȤäƤ) # ɬפޤ


	$COMMAND_SYNTAX_EXTENSION = 1; (default 1)

ǥեȤǤ

III	ޥɳ
5	library ޥ

5.1	library ޥ

library ޥɤϣ̤ͣʤsubΣ̤ͣޤǤ褦ʾ
֤ǤΤ褦ʥޥɤޤ(help ե⸫Ƥ)
"library" commands are a sub-mailing list. This command has its own
summary file and archive directories. "put" file is stored in
$LIBRARY_ARCHIVE_DIR ($SPOOL_DIR for ML) and summary file is
$LIBRARY_DIR/summary. The system is closed under $LIBRARY_DIR.
This system uses the same routines as the usual ML. Hence the file
name is number. Also FML does not permit the freedom of file names to
put for security.

	library put	Υޥɰʹߤʬ򵭻Ȥ¸
	library get 	ե̾()
	library summary	
	library index	libraryȤߤ줿
			ޥꡦե֤ޤ
	library unlink [ֹ] ֹε饤֥꡼
	library delete [ֹ] Ʊ
	library rm     [ֹ] Ʊ
	library put	put a file (after this line)
	library get 	file to get (number)
	library summary	
	library index	summary file (index file) in library 
	library unlink [number]	remove "number" file in library
	library delete [number]
	library rm [number]

ޤ ˤäƤ From: Υɥ쥹Υե򤫤Ĥ
ͤùͤƱǤɬפޤ

ե̾ʤΤϰĤˤϣͣΤƱ褦˼Ƥ뤫
Ǥ security ե̾桼ͳ֤ȤϤޤ
ʤ submit ǴԤ̾ѹ rename(2) 򤹤٤


$DIR бΤȤƼΤΤƤޤ

	$LIBRARY_DIR		library ޥɤ HOME ($DIR)
	$LIBRARY_ARCHIVE_DIR	library ޥɤ SPOOL($SPOOL_DIR)

library ޥɤΥޥɤȤʤ褦ˤˤ 
@DenyLibraryProcedure ޤ󥿥å 
@DenyProcudure ƱͤǤ
See also: 4.1 
See also: 4.1 

: 'library put' Ȥʤ褦ˤ롣

	@DenyLibraryProcedure = ('put');

5.2	СꥹȥեγĥˤĤ (libmember_name.pl)

1998/01/09 AUTHOR: ʡ Ƿ <fukui@sonic.nm.fujitsu.co.jp>

libmember_name.pl  members ˥СƸĿͤ̾ղä⥸塼
Ǥ

εǽͭˤˤϡconfig.ph ˤơ

      $USE_MEMBER_NAME = 1;

ΰԤ򵭽Ҥ OK Ǥ˱ ML Ǥ OK Ǥ
makefml config Υ˥塼ǤǤޤ

[ǽ]

  ޤǤ fml ǤϡС 'members' ޥɤǼ󤻤
СΥɥ쥹Ƥޤɥ쥹ǤïïʤΤ
狼ˤ礬ޤ
  Υ⥸塼 libmember_name.pl ϡ褹뤿ˡƥС
̾ (Ūˤϡmail  From: إå˽񤫤Ƥ̾(gecos)) 
뵡ǽղäޤ
  Υ⥸塼ͭˤ뤳Ȥˤꡢǽɲáѹܤʲ
˵Ҥޤ

 ưϿ⡼

    ưϿ ('confirm','subscribe' ޥɤˤϿޤ) ˡ
  mail  From: Ԥ˽񤫤Ƥ륢ɥ쥹 $MEMBER_LIST ɲäޤ
  κݤ From: Ԥ˽񤫤Ƥ̾ (gecos) ¸褦ˤʤޤ

 'members', 'member' ޥ

    'members', 'member' ޥɤˤСμ󤻤ǡ
  СΥɥ쥹б̾ϿƤˤϡ̾ղä
  ޤ

  С :

	#.FML HEADER
	# NEW FORMAT FOR FURTHER EXTENSION
	# e.g. fukachan@phys r=relayserver m=3u s=skip 
	# r= relayserver
	# m= matomeokuri parameter is time and option
	# s= skip. can post from this address but not delivered here.
	# the same obsolete format is compatible with new format and as follows:
	# e.g. fukachan@phys relayserver matome 3u
	#.endFML HEADER
	yoshio@aaa.co.jp (Ჵ ͺ)
	yumi@bbb.ac.jp (Yumi SAOTOME)
	##BYE yuina@ccc.or.jp (Yuina HIMOO)
	
	
	

 'name' ޥ ()

  ޥʸˡ : name [̾]

    ޥɤäƤԤϿƤ̾ [̾] ѹޤ
  Ť̾ϿƤʤϡϿޤ
  ޤ[̾] άȡϿƤ̾ޤ

 'admin name' ޥ ()

  ޥʸˡ : admin name ɥ쥹 [̾]

    ⡼ȴǽѤƤͭˤʤ롢Ѥ̾ѹ
  ɤǤɥ쥹ꤹ뤳ȤˤꡢƥС̾ѹ뤳Ȥ
  Ǥޤ([̾] μ갷ˤĤƤϡ'name' ޥɤƱ)

     'name'  'admin name' ޥɤѤ뤳ȤˤꡢưϿ
  Ǥʤ ML 䡢˱ѤƤ ML Ǥ⡢̾οϿѹǤ
  ˤʤޤˡưϿˤ̵ gecos ϿΤȤϰ
  ޥɤΥڥɤˤ꼫ͳ̾Ͽ뤳ȤǤޤΤǡ
  㤨С
      - ؤ ML ǡСΥ˥å͡Ͽ
      -  ML ǡ̾Ǥʤ°ղäϿ
  αѤǤޤ

[Ū­]

 ̾δˡ

    ɽ̾ϡmembers ե˽񤫤ƤƹԤΥСΥɥ쥹
  ̾ղä褦˸ޤºݤˤ members-name Ȥ̥ե
  ˤơ'ɥ쥹 ̾' Ȥȥ򵭽Ҥơɥ쥹̾бդ
  򤷤Ƥޤ('members' ޥɤ members եΤǤϤ
  members  members-name ޡƥƥݥե
  Ƥޤ)

    ޤܸ̾(2Хʸ)  OK ǡ˶ʸޤǤƤ
  ޤޤ(ԤޤǤ̾ǧ뤿)եˤϡŪ
  JISɤѴƤ񤭹ޤޤˡFrom:  Subject: إå
  ̾Ȥˤϡ $USE_MIME = 1 ʤ MIME ǥɤνԤ
  ޤ

 ̾ե members-name Υե̾ѹˡ

  'members-name' Ȥ̾ѹˤϡconfig.ph ˤ

    $MEMBER_NAME_FILE = "$DIR/";

  ȵҤѹƤ( : ѹե̾)

 С̾뤿δؿ

  HOOK ǡС̾Ȥˤϡ

	&use('member_name');

  򤷤ǡ

	&CheckMemberNameFile(ɥ쥹ʸ)

  ƤӽФƤɥ쥹б֤̾äƤޤ
  ̾ϿƤʤˤϡ'' ֤äƤޤ

  ̾ members-name ե˽񤫤ƤʸɤΤޤޤ֤ä
  ޤŪ JIS ɤΤϤǤmembers-name ľԽ
  JISɰʳʸɤǵҤϤθ¤ǤϤޤ

 libmember_name.pl  OVERWRITE Ƥ륳ޥɡ

    嵭Τ褦ˡǡɥ쥹̾бդƤޤΤǡ
  ǽǵҤޥɤ˲äơ¾Υޥɤ libmember_name.pl
  ɲýԤޤ
    libmember_name.pl ɲý¹Ԥ륳ޥɡΰʲ
  Ҥޤ

	- ưϿ ('confirm','subscribe' ޥɴޤ)
	- 'members','member' ޥ
	- 'bye','unsubscribe' ޥ
	- 'chaddr','change-address','change' ޥ
	- 'admin bye','admin unsubscribe' ޥ
	- 'admin chaddr','admin change-address','admin change' ޥ
	- 'name' ޥ ()
	- 'admin name' ޥ ()

 'name', 'admin name' ޥɤ &SecureP() ΥХѥˤĤ

  fml Ǥϡޥɤݤ˥ޥɥ饤ʸʤɤ
  &SecureP() ȤؿǥåơʸޤޤƤХޥ
  μ¹ԤѲ褦ˤʤäƤޤ

  'name','admin name' ޥɤǡڥɤܸ(2Хʸ) 
  ȡΤޤޤǤϤ 2Хʸʸפǧƥޥɤ
  ¹ԤǤޤ󡣤ǡ'name','admin name' ޥɤ &SecureP() 
  Хѥ뤿ˡlibmember_name.pl Ǥ %SECURE_REGEXP Ƥ
  

  %SECURE_REGEXP  &SecureP() ХѥȤѤˤĤơ
  fukachan ˼䤷ƤߤȤ

  "Ken'ichi Fukamachi" <fukachan@sapporo.iij.ad.jp>  wrote:
  |󡢤ɤSecureP ȤѤʤΤǡޤˤǤʤȤ
  |ƤޤǤΥޥɤΥե졼̤Ƥ⤽줬ñʤ string 
  |ǤʤΤǤäѤʤȤϤʤϤǤɤ͡
  |פȤäƤޤ

  ȤΤȤǤ

5.3	Traffic Ĵ٤ (libtraffic.pl)

AUTHOR: yuao@infonia.or.jp (Yuao Tanigawa)

    [libtraffic.pl ]
    
      ᥤ̤פȤ륳ޥɤǤ
    
      Ȥϡ
    
    % libtraffic.pl [-n <best?>] [-m <mails>] [-d] [where is summary?]
    
    ǡץꤷʤǡ
    
    % libtraffic.pl
    
    ȤȡǥեȤǡȥǥ쥯ȥsummaryɤǡ
    
    1. Υᥤ
    2. ᥤ
    3. ̤
    4. ̰ʾƤä
    5. Ƽԥ٥ȥƥ
    6. ʿ̤Ⱥ
    
    Ϥޤ
    
      ץǡ-d ꤹȡˡ
    
    0. 
    
    ޤǥեȤǤɽޤ
    
      ץ -n ϡ5.̤¿ͤΥ٥Ȳͤޤɽ뤫
    ǻꤷޤǥեȤǤϡ-n 10 ƱǤ
    
      ץ -m ϡ4.β̰ʾ夢äɽ뤫ǻꤷ
    ޤǥեȤǤϡ-m 25 ƱǤ

5.4	traffic  ʣΥɥ쥹ĿʪƱ뤷ƥȤ 

	Author: Yuao Tanigawa <yuao@infonia.or.jp>
	fml-support: 00736
	fml-support: 02578
    > $TRF_NAME_HOOK = q#
    >     $name =~ s/umura@solan\.chu/umura@nn.solan./oi;
    > #;
    > 
    > ꤷƤޤ
    > 
    >    umura@solan.chu -> umura@nn.solan.
    > 
    > Ȥ񤭴ԤȤˤʤޤ
    
      ʴǡ$name summary˽񤤤Ƥ륢ɥ쥹äƤ
    Τǡconfig.ph  $TRF_NAME_HOOK ˤɥ쥹֤
    륳ɤ񤤤ƲȤϡ
    
    if ( $name eq 'yuao@drei.mech.' || $name eq 'XN9Y-TNGW@j.asa' ) {
    	$name = 'tanigawa@tribo.';
    }
    
    ʤɡۤȤˡʤ褦˽񤤤ƲƱʪǡ١
    ĤäƼưŪˤäƤ褦ʥƥꥸȤʺˤ
    ʤäƤʤΤǡʤ(_o_)
     ȤȤǡб褦Ȥȡ˥ɥ
     Ǥ^_^;

6	whois (local whois-like database)

See also: internals 9.2 

whoisML˻äƤǡ١ؤΥΤȤؤƤ
ޤܤ?whoisФإ졼뤳Ȥʤɤ⥪ץȤƲ
ǽǤޥɤ"whois", "iam", "who"ǤޥɤˤĤƤHELPե
뻲ȡ

6.1	Introduction

FML  whois ޥɤ

1. ʪ whois server ȥץ̿Ƥ֤
2. ̥ͣ˻äƤǡ١ؤΥ

ξԤʤޤؤϥɤ -h host  1Ǥ
ʤ 2 Ǥʥǡ١var/db/whoisdbǤä 
whois Ф򤢤ɬפϤޤ

6.2	Whois ޥ

	$USE_WHOIS = 0;	(default 0)

0 ʤ FML Υǥե(whoisϻȤʤ) 1 ʤȤ褦ˤʤޤ
ϴŪʥݥꥷŪ˵ʤ¤굡ǽ䤵ʤפ˱褦
ΤǤ

ǡ١ηʪǤդwhois serverȤ̿򤹤
ĤhmlwhoisȤߴϤޤ
 hml ȼ˼ʬ whois Ƥ (ʤ security hole 
 ä)

1: ʥǡ١椫 fukachan ޤǡõ


   % echo  "whois fukachan" | Mail Elena-ctl@phys.titech.ac.jp

2: host  whois ʹˤޤ

   % echo "whois -h host fukachan" | Mail Elena-ctl@phys.titech.ac.jp

6.3	Whois ѿ

	$DEFAULT_WHOIS_SERVER (default "localhost")

 ǥեȤ whois ФѹǤޤޥɤ -h ץ
ǤѹǤޤξϥޥɤ -h ץͥ褷ޤ

	$WHOIS_DB (default "$FP_VARLOG_DIR/whoisdb")

ˤäƤǡ١Ǥ

6.4	Whois ܸʸѴ

	$WHOIS_JCODE_P	(default 0)

򥻥åȤܸѴ򤷤Ƥ֤ޤ줬 toggle flag 
ȤƼƤΤѤѴ褦Ȥꤹ뤳Ȥ⤢
ꤦ褦ʤΤǡޤˤ뤫⤷ʤRISK餦и礬뤫ݤ
ɽƤ toggle Ǥ;-)

7	¾

7.1	index ޥ

󤻤եΰ֤ޤ⤷ $DIR/index ($INDEX_FILE) 
¸ߤϤȤޤǤʤ$SPOOL_DIR
@ARCHIVE_DIR ƤĴ٤֤ޤ

$INDEX_SHOW_DIRNAME åȤƤ ($DIR Ū)
directory ؤɽޤǥեȤǤϥե̾ȤΥ
Ǥʾ٤Ԥʤ $INDEX_FILE ɤǤ


7.2	qmail ǤȤĥ (ɥ쥹Τޥ̾ˤʤ)

makefml  .listname-default Ȥץޤ 
/var/qmail/alias Ƥ config.ph 

	$USE_DOT_QMAIL_EXT = 1;

ꤹ listname-command Τ褦ʥ󥿥åȤ褦ˤʤ


	send "get 100 " to elena-ctl@baycity.asia

ϼΥɥ쥹ƱˤǤޤ

	send "" to elena-get-100@baycity.asia

ñ qmail 򤤤äƤ뤦ˤǤΤǤΤޤޤƤޤǤ 
mget 100-110 ȤϤɤ褦:D (get㳰ˤʤᤫΤ

ޤޥɤ - ȤʤΤ

	elena-mget--1-3-mp@DOMAIN 

Υ᡼

	"mget 1-3 mp" 

ޥɤȲ᤹褦ˤƤޤ


		INDEX

$COMMAND_SYNTAX_EXTENSION                  ...   4.3 
$DEFAULT_WHOIS_SERVER                      ...   6.3 
$INDEX_FILE                                ...   7.1 
$INDEX_SHOW_DIRNAME                        ...   7.1 
index ޥ                             ...   7.1 
$LIBRARY_ARCHIVE_DIR                       ...   5.1 
$LIBRARY_DIR                               ...   5.1 
library ޥ                           ...   5.1 
$MAXNUM_COMMAND_INPUT                      ...   3.1 
$MEMBER_NAME_FILE                          ...   5.2 
signature к                             ...   3.4 
traffic ޥ                           ...   5.3 
$USE_INVALID_COMMAND_WARNING               ...   3.2 
$USE_MEMBER_NAME                           ...   5.2 
USE_WARNING                                ...   3.2 
$USE_WHOIS                                 ...   6.2 
whois                                      ...   6 
$WHOIS_DB                                  ...   6.3 
$WHOIS_JCODE_P                             ...   6.4 
ޥɤΰ->helpե               ...   1.1 
# ޥ 󥿥å                    ...   4.3 
ư֤Фμ                 ...   2.2 
