1 UUCPとは
2 UUCPの設定まで
2.1 INTERNETの口を見つける
2.2 UUPCの設定(自分でINTERNETにつなげる場合)
2.3 WANI-BBSの設定(自分でINTERNETにつなげる場合)
2.4 WANI-BBSの設定(他のWHIPホストを経由してINTERNETにつなげる場合)
3 UUCPで使える命令
4 UUCP.DEFの設定
5 MCD版の場合の起動バッチファイルの設定
6 UUPCの設定
6.1 <ノード名>.rcファイル
6.2 permissnファイル
6.3 systemsファイル
7 エラーメッセージ
8 バグ
8.1 ドメイン名の長さ
8.2 アドレスの形式
8.3 エラーメール
8.4 その他
UUCPとは、Unix to Unix CoPyの略で、UNIX同士のファイル交換に使用されるプロトコルです。このプロトコルを使用して、INTERNETとのメールやニュースのやりとり等を行うことができます。
WANI-BBSではこのUUCPを使用して、INTERNETとメールのやりとりを行うことができます。
この機能を使う際には、以下の条件を必ず守ってください。
1) 責任はすべてSYSOPが持つ
INTERNETにメールを接続させたときに発生する問題の責任は、すべてそのBBSのSYSOPが持つことになります。設定ミスで迷惑なメールを出したり、匿名の会員がINTERNETに対して多大な迷惑をかけたりした場合に責任を取るのはSYSOPです。それをすべて理解した上でINTERNETとのメール接続をするようにしてください。
2) 匿名の会員、身元があきらかでない会員には使用させない
ゲスト会員はもちろん、オンラインサインアップした直後の会員など身元の明らかでない会員にINTERNET宛のメールを使用させてはいけません。会員のレベルが/system/uucpの書き込みレベルよりも低い場合には会員はINTERNETにメールを出すことはできませんので、この機能を使用して確認の取れていないユーザがINTERNETにメールを出すことを防止するようにしてください。(初期設定ではすべての会員がINTERNETにメールを出すことはできないようになっています。/system/uucpのレベルを適切に変更してください。)
3) メーリングリストは使用しない・させない
WANI-BBSのシステムに問題があったとき、メーリングリストに入っていると多くの人に迷惑をかけることがあります。また、メーリングリスト自身も大量のメールをやりとりすることになり、システムに大変な負荷をかけます。WANI-BBSのシステムのバグが原因で多くの人に多大な迷惑をかけたとしても私は関知しませんのでご承知おきください。
4) サブドメインを使用する場合はその局にも責任を持つ
他局をWHIPで接続してINTERNETに接続させてあげる場合には、その局にもこれらの事項が守られるように十分に注意してください。問題が発生した場合は、INTERNETとつなげている局が責任を取ることになります。(ただし、通常INTERNETプロバイダの方でサブドメインを使用させるとこは稀です。)
これらの条件が守れないと思う場合はUUCP接続をするのは諦めてください。
UUCPを設定するためには、以下のような手順を踏む必要があります。
UUCPを使用するために一番大切なことは、実際にINTERNETにつなげてくれる口を探すことです。自分のホストを直接INTERNETにつなげたい場合は、UUCPをサポートしてくれるINTERNETプロバイダに加入する必要があります。また、サブドメインを許すINTERNETプロバイダにつながっているWHIP局があれば、そこの局にお願いしてINTERNETにつなげてもらうこともできます。
INTERNETプロバイダを経由して自分でINTERNETにつなげるためには、Kendra Electronic Wonderworksが作成し、Kenji Rikitake氏が日本向けの移植を行ったUUPCというPC互換機/PC9801用のUUCPパッケージが必要になります。まずはこのパッケージを入手するようにしてください。
WANI-BBSで実際に試験を行ったのは、「UUPC/extended 1.12b Kenji's Version」です。
このパッケージをインストールし、まずは普通にmail等を使用し、正常にINTERNETとメールのやりとりができることを確認してください。WANI-BBSをつなげるのはそれからです。
UUPCのパッケージの中で、WANI-BBSが必要とするのはUUCICO.EXEという実行ファイルだけです。このファイルがPATHの通ったディレクトリにあること(もしくはWANI-BBSを実行するカレントディレクトリにあること)と、環境変数のUUPCSYSRCが正常に設定されていることを確認してください。
UUPCが正常に設定されれば、次はWANI-BBSのUUCP.DEFの設定を行います。UUCP.DEFに書いてある説明に従って設定してください。ここで、uucp_cmdは通常は\を設定し、以下のようなバッチファイルでWANI-BBSを立ちあげるようにしておくと良いでしょう。(WANI-BBSやUUPCの起動時のパラメタは各自設定してください。ただし、WANI-BBSの-xパラメタはUUCP後の処理をさせるために必要です。)
:WANI wanibbs -x if errorlevel 254 goto WANI if errorlevel 255 goto UU goto EXIT :UU uucico -s <INTERNETプロバイダのマシン名> -x 3 goto WANI :EXIT
WANI-BBSを起動した状態で空きメモリが200Kあるような状況でしたらコプロセスでUUPCを動かすことも可能ですが、通常は上記のような方法をとる方が安全かと思われます。
一般会員にuucpを使用させるためには、system/uucpのディレクトリに書き込み権を与える必要があります。
他のWHIP局を経由してINTERNETにつなげる場合は、まず、その局のシスオペに連絡し、system/uucpで自局をINTERNET接続許可してもらわなければなりません。この処理が行われないと、INTERNETから来た手紙も、INTERNETへの手紙もここでエラーになります。また、ドメイン名をそのシスオペから聞いてください。
この設定をしてもらえば、あとはUUCP.DEFを設定するだけです。UUCP.DEFの説明に従って設定してください。uucp_subdomain以降は変更する必要はありません。
一般会員にuucpを使用させるためには、system/uucpのディレクトリに書き込み権を与える必要があります。
system/uucpのディレクトリの場所で使える命令は以下の通りです。なお、この命令は自局で直接UUCP接続を行い、他局にUUCPサービスを提供している場合にのみ有効です。それ以外の場合でも設定はできますが、何の効果も及ぼしません。
UUCP.DEFで設定できる項目は以下の通りです。
自局で直接UUCPを行う場合は以下の設定も必要です。(ただし、直接UUCPを行わない場合でも削ってはいけません。設定は無視されますので変更しないでください。)
WANI-BBSのMCD版では、以下のようなバッチファイルを使用し、UUPCが直接RS-232Cを操作した後にADDDRVでMCDを追加することによりMCDを正常に動作させるようにすることができます。また、UUPC自体をMCD経由で動かすようにしても良いでしょう(こちらは試したことはありませんが)。
:WANI adddrv mcdpc.def wanidosv -x if errorlevel 254 goto WANI if errorlevel 255 goto UU goto EXIT :UU deldrv uucico -s <INTERNETプロバイダのマシン名> -x 3 goto WANI :EXIT deldrv
mcdpc.defの内容(MCDPCがカレントディレクトリにある場合)
device=mcdpc.exe
UUPCについては設定方法を解説した本が結構出ていますので、できればそういった本を購入して読むようにしてください。ここでは、単に「私がこうやったらうまくできた」レベルの説明しかしません。これでうまくいかなかった場合には私にはどうにもできないことをご承知おきください。
「この通り記述します」と書いてあるところは、正しく意味を把握していない可能性がありますので、記述を避けています。これらの値を変更したい場合は、UUPCのマニュアルもしくは前述したような解説書を参考にしてください。
UUPCを行う時に必要なファイルは以下の通りです。なお、<>で括られたところにはINTERNETプロバイダとの間で決めた値を使用してください。ここで、WANI-BBSは a:\wani に構築されており、uucp関連のファイルは a:\wani\uucp に置くものとして設定してあります。
a:\wani\uucp\<ノード名>.rc a:\wani\uucp\permissn a:\wani\uucp\systems a:\wani\uucp\<モデム名>.mdm
また、環境変数は以下のように設定されている必要があります。
UUPCSYSRC=a:\wani\uucp\<ノード名>.rc
<ノード名>.rcファイルは、各パラメタを一行毎に記述します。例えば以下のようなファイルになります。
NodeName=mynode Domain=mydomain.provider.or.jp postmaster=root Mailserv=uucpserver Options=Kanji NodeName=<ノード名>
INTERNETプロバイダから許可されたノード名を設定します。
Domain=<ドメイン名>
INTERNETプロバイダから許可されたドメイン名を設定します。
postmaster=<WANI-BBSのシスオペのID>
エラー等が発生したときにメールを受け取るためのIDを設定します。通常はrootにしておきます。
Mailserv=<uucpサーバ名>
INTERNETプロバイダのuucpサーバ名を設定します。これはINTERNETプロバイダが教えてくれます。
Options=Kanji
漢字を使用することを宣言します。(実は本当に必要なのかどうかは知りません)
permissnファイルは各パラメタを以下の順番通りにスペースで区切って一行で記述します。例えば以下のようなファイルになります。
machine=uucpserver sendfiles=yes commands=rmail machine=<uucpサーバ名>
INTERNETプロバイダのuucpサーバ名を設定します。これはINTERNETプロバイダが教えてくれます。
sendfiles=yes commands=rmail
この通り記述します。
systemsファイルは各パラメタを以下の順番通りにスペースで区切って一行で記述します。例えば以下のようなファイルになります。
<uucpサーバ名> Any <モデム名> <モデムとの通信速度> <電話番号> g ogin:--ogin: <uucpユーザ名> word:--word: <パスワード>
<モデム名>.mdmファイルは各パラメタを一行毎に記述します。例えば以下のようなファイルになります。
Description=mymodem Answer="" \pATA CONNECT AnswerTimeout=30 CharDelay=0 Connect=CONNECT Device=COM1 dialPrefix=\pATD DialTimeout=60 Hangup="" +++\d\d OK ATH OK Initialize="" \pATZ OK \pAT&F%N2\\j0s0=0\\k1x4p2m0 OK ModemTimeout=3 options=fixedspeed Ring=RING InSpeed=19200 Suite=mcd
UUCPを行った記録はUUCPディレクトリの中のULOG<年><月>のファイルに記録されます。1995年8月の記録はULOG9508というファイルにされます。
UUCPを行う際のエラーはこのログファイルと、systemのエラーにも記録されます。UUCPのエラーメッセージは以下の通りです。なお、UUCPのエラーメッセージは具体的なアカウント名等が表示されます。これはプライバシーと関わる情報ですので、UUCPを使用する場合にはsystemのエラーは一般会員には見えないようにしてください。
WANI-BBSでは、40文字以上のドメイン名(foo.bar.co.jpなど)は扱うことができません。RFCによれば、256文字までのドメイン名は許されるということですが、プログラムの制約上256文字までサポートすることができませんでした。アドレス(foo@bar.co.jpなど)としては最長49文字まで扱うことができます。
WANI-BBSで認識できるFromヘッダの表記は以下の通りです。
From: アドレス From: ハンドル <アドレス> From: "ハンドル" <アドレス> From: アドレス (ハンドル)
また、Return-Pathヘッダとしては以下の形式を認識します。
Return-Path: <アドレス>
また、WANI-BBSから発送する手紙のアドレスの形式は以下のようになっています。
From: アカウント名 <ハンドル>
現在のWANI-BBSはエラーメールは送信しません。これはメーリングリストに参加していた場合にWANI-BBSのバグが原因でエラーメールを出すことを防ぐためです。もしも十分な試験ができたならばこの制限はなくしたほうが良いかと思っているのですが、試験できる環境に無いため恐らくこのままでしょう。単純にコメントアウトしてあるだけですので、もしどうしてもエラーメールを使いたい場合には「自らの責任において」コメントを外してください。
今回のUUPCの実装は私の少ない経験によってのみ行われました。できるだけ問題の無いように作成はしましたが、迷惑をかけるような結果になることがあるかもしれません。その場合は私に連絡するようにしてください。できるだけ迅速に修正したいと思います。連絡がないと私はいつまでたっても問題があることに気づかないでしょう。