[PREVIOUS CHAPTER] [NEXT CHAPTER]
3 手動登録


○ 手動登録とは『fmlの動いているホストに入って、メンバーリストをいじる』
場合です。エディターないしmakefmlを使って行ないます。登録意志の確認を
fmlがしてくれることもありますが、最後のメンバーリストをいじる部分はM
L管理者が何らかの行動を起こす必要があります。

○ 自動登録とは『fmlが登録意志の確認から実際の登録作業』までを自動的に
行ないます。エラーの時だけが管理者の出番です。

○ 注意: 管理者がコマンドを送ってメンバーの登録を行なうやり方は手動登
録と呼んでいます。例: "admin subscribe fukachan@fml.org"

用語集 => ../Glossary 1.3
自動登録については次章の 4.0 を見て下さい。

3.1	subscribe コマンド(手動登録)時の挙動について(5 way hand shake)

*_*_HANDLER が auto_regist でない場合です。この時は管理者宛に登録依頼
メールをもらい、それをみて登録作業をします。ユーザーを登録するためには 
fml の動いているホストで makefml add を使ったり手でファイルを編集する
必要があります。

しかし、その登録依頼は他人のフリをしているのかもしれません。そのため登
録の前に本人かどうかの確認をするべきです。confirmation はこの確認作業
を fml が行なう場合です。forward_to_admin (元々の場合)で管理者がメール
を書いて正当性チェックをする場合のことをさしています。

	$MANUAL_REGISTRATION_TYPE ('confirmation' or 'forward_to_admin')

$MANUAL_REGISTRATION_TYPE は confirmation がデフォールトです。

手動で登録作業をするMLで、subscribe request をうけたらconfirm を返し、
confirm が帰ってきたら管理者は手で登録する。デフォールトは 
confirmation にしてある。# 2.2A

     ユーザ			fml			管理者

     1 ユーザがリクエストをfmlへ送る。
     subscribe request ->

     2 fmlは確認のメールを返す
     		<-  confirm req

     3 ユーザは確認のメールを返す
     confirm it       ->  

     4 fmlは確認したら、管理者に知らせる。
       ユーザにはちょっと待たれよとメールを送る

     		    confirm Okだったよん、いれてあげてぇ -> 管理者
     		<-
     confirmした
     管理者にしらせたからしばし待たれよ

     5 管理者が何らかの方法でユーザを加える。手で加えるなりコマンドなりで

     		admin add アドレス		<-
     		approve パスワード add アドレス

     (if $ADMIN_ADD_SEND_WELCOME_FILE == 1
     		<-
       welcome ♪のメール)

$MANUAL_REGISTRATION_CONFIRMATION_FILE というファイルがある時はこのファ
イルも送り返します。デフォールトではテンプレートを作ってありません。

	$MANUAL_REGISTRATION_CONFIRMATION_FILE (default $DIR/confirm.msub)


3.2	ほんとに抜けるか?を確認する unsubscribe 

自動登録には confirmation がありますが、その逆に抜ける時にも 
confirmation を求めるモードです。デフォールトではしません。
4.9
4.9

設定するためには

	$UNSUBSCRIBE_AUTH_TYPE = "confirmation";

とします。やり方は confirmation と同様です。「本当に抜けるのね?」と確
認を求めるメールが返るので、そのメールに reply してもらうと本当に抜け
ることができます。

3.3	アドレスの変更 ("chaddr" command)

ISPを変わった時、ドメイン名が変更になった場合などには新しいアドレスに
変更する必要があります。old-address を new-address へ変えるには

	1. chaddr コマンド
	2. 一回抜けてもう一度入る

の2つの方法があります。chaddrコマンドは

	chaddr old-address new-address

というシンタックスのコマンドです。

○ fml 2.2 の仕様, fml 2.2.1 の仕様 (default)
必ず『古いアドレスから』このコマンドを送ってください

	From: old-address
	To: list-ctl@domain

	chaddr old-address new-address

○ fml 2.2.1 のオプション  "chaddr confirmation"

chaddr を実行する前にconfirmationを行なうオプションがあります。

	$CHADDR_AUTH_TYPE = 'confirmation';

0. 	chaddrリクエストがfmlに来たら、それを行なっていいか?の確認の
	メールを送り返します。新旧両方のアドレスへ送ります。

1. 	新旧のアドレスのどちらか一方から chaddr を確認するメールがfml
	に届いたら chaddr 処理を実行以下の条件が必要です。

 1.1 コマンドを送ったメールのFrom: に設定したアドレスが、オプションに指
   定したアドレスのどちらかと一致する
 1.2 指定したアドレスのどちらかはすでにメンバー

2. 	結果にかかわらず、新旧両方のアドレスとMLサーバの管理者の3人に変
	更の通知がメールで送られます。
	# 管理者には届かないようにすることはできます。
	# @DenyProcedure('r2a#chaddr');

NOTE: 1999/10/04

	chaddr でサブドメインだけを変更しようとすると通常はエラーになる
	というのは変更先のアドレスがすでにメンバーリストにあるので。
	そのため

		chaddr foo@a.b.x.y.z foo@123.b.x.y.z

	のような時は、アドレスの似ている度合いを見て一時的に
	$ADDR_CHECK_MAX の値を上げることで正しく動作させる。
	これに伴い &SaveACL, &RetACL でこの関数呼び出しを
	保護する必要がある。HOOkなどで呼び出してる人は注意。


[PREVIOUS CHAPTER] [NEXT CHAPTER]