miniDNS.net update server interface spec for 0.8.1 miniDNS.net サーバー更新インターフェィス仕様書0.8.1 Draft 4 13-May-2002 第4版 2002年5月13日 Changelog 更新記録 Draft 4 第4版 Corrected protocol inconsistence in response to the VERSION command. VERSIONコマンド応答下での通信手順内一貫性を訂正。 Draft 3 第3版 Added option DIGEST-MD5-TEXT to the LOGIN command. It helps client software that have no pack() function. LOGINコマンドへDIGEST-MD5-TEXTオプションを追加。それは、pack()関数を持たないクライアントソフトを支援する。 Draft 2 第2版 Added AGENT command to record updater client information for troubleshooting and staistics. 障害情報と統計の為の更新クライアント情報を記録するAGENTコマンドを追加。 Server TCP Port finalised at 9120. サーバーTCPポートは、9120番に決定。 Introduction はじめに I write this server because I hope it can make the update process more efficient. 更新プロセスをより効率的に出来ることを期待し、このサーバーについて記述します。 I am new to writing network server, there should be room to improve the server interface and featues. 私はネットワークサーバーの記述に不慣れです。サーバーインターフェースと特徴の改善余地があります。 So, please do write me at for any comments or questions. 従って、どんなコメントや質問でも にお寄せ下さい。 Network Configuration ネットワーク割付 Server Hostname: update.minidns.net サーバーのホスト名: update.minidns.net Server Protocol: TCP サーバーの通信手順: TCP Server Port: 9120 サーバーのポート番号: 9120番 Commands コマンド All commands sent to the server should be terminated with a new-line character. サーバーへ送る全コマンドは、new-line文字で終了のこと。 Special Notice: The maximum number of commands in a session is 10. 特記事項:セッションの最大コマンド数は、10です。 AGENT updater client information AGENT 更新クライアント情報 This is the first command you MUST use. これは、貴方が使用すべき最初のコマンドです。 It sends your program information to the server. それは、貴方のプログラム情報をサーバーへ送ります。 Otherwise, you cannot issue any other commands except EXIT. そうでなければ、EXIT以外の他のコマンドを出せません。 LOGIN username plain|digest-md5|digest-md5-text LOGIN ユーザ名 plain | digest-md5 | digest-md5-text  訳注) | は、orで、何れかを使用のこと。 Login to the server using either plain text or MD5 digest authentication method. プレーンテキストかMD5 digest認証方法を使用して、サーバーにログイン。 If plain is selected, the server will send you a 'PASSWORD:' prompt (without a new-line). プレーンテキスト選択時、サーバーは貴方に(new-lineのない)「PASSWORD:」プロンプトを送ります。 You should send the password in plain text. 貴方は、プレーンテキストのパスワードを送るべきです。 If digest-md5 is selected, the server will send you a 16 bytes challange in hex string format. digest-md5選択時、サーバーは貴方に16進の文字列様式の要求を送ります。 The correct response is the MD5 hash of 32 bytes. 正確な応答は、32バイトのMD5ハッシュです。 The first 16 bytes is the MD5 hash of the plain text password, the second 16 bytes is the challange. 最初の16バイトは、プレーンテキストのパスワードのMD5ハッシュで、次の16バイトは、要求です。 You need to convert the hex string to bytes before running the MD5 function. 貴方は、MD5関数を実行する前に16進の文字列をバイトに変換する必要があります。 The digest-md5-text option is for client who has trouble converting the hex string into bytes. digest-md5-テキストオプションは、16進の文字列をバイトに変換するのが困難なクライアントの為です。 If this option is selected, the correct response is the MD5 hash of 64 characters. このオプション選択の場合、正確な応答は、64文字のMD5ハッシュです。 The first 32 characters is the hex string of the MD5 hash of the plain text password, the second 32 characters is the challange hex string. 最初の32文字は、プレーンテキストのパスワードのMD5ハッシュの16進の文字列で、次の32文字は、要求の16進の文字列です。 RESPONSE hex string of 16 bytes RESPONSE 16バイトの16進の文字列 Use this command to return the computed response to a server challange during the login process. ログイン・プロセスの間にサーバー要求に対する計算された応答を返すには、このコマンドを使用。 A_UPDATE online|offline hostname [ip address] A_UPDATE online | offline ホスト名 [IPアドレス]  訳注) | は、orで、何れかを使用のこと。 Update ip address of hostname. ホスト名のIPアドレスの更新。 If ip address is not given, assume detected ip address of the client IPアドレスが省略時、クライアントの検出IPアドレスのふりをします。 ip address is ignored if offline is used. offline使用時、IPアドレスは無視されます。 VERSION Get version number of the server. サーバーのバージョン番号を取得。 You can use this to decide whether to ask the user to upgrade the client software, if the server version is higer than the client version. サーバーのバージョンがクライアントのバージョンより新しい場合、クライアントソフトの更新をユーザに通知する判断の為、これを使用出来ます。 EXIT Disconnect from the server. サーバーから切断。 Server Response サーバー応答。 Server Response is one line of text, divided into two sections: One word status code, a space separation, and verbose description of the status. サーバーの応答は、2つの部分に分けた1行のテキストです:ステータス・コード1語、スペースの区切り符号、ステータスの冗長な記述。 Available status codes: 利用可能なステータスコード: 'OK' - operation is completed without error. 'OK' - エラーなし操作完了。 'ERR' - operation failed. 'ERR' - 操作失敗。 Special Notice: 特記事項: The client should disconnect and stop retry when status code 'ERR' is received. ステータスコード「ERR」を受信時、クライアントは、再試を止め、切断すべきです。 Stop retry is very important to prevent net abuse. 再試の停止は、ネットの乱用防止に非常に重要です。 It is good enough to just let the user know the status. ユーザにステータスをすぐ知らせることは、良いことです。 Sample Sessions セッション例 Server side response is in green and bold face. サーバー側応答は、未熟で厚顔です。 Sample 1: 例1: [Connected] miniDNS.net Update Server 0.8.1 agent DynSite/1.11.588.6 OK Agent accepted version OK 0.8.1 login johndoe digest-md5 CHALLENGE e91f2313fe9a8088b9e203e9dfb454c8 response 4c0355c07ec5927d18c63c0864eaca6f OK Authenticated a_update online johnweb.minidns.net 202.74.23.88 OK JOHNWEB.MINIDNS.NET mapped to 202.74.23.88 exit OK Bye! [Disconnected] Sample 2: 例2: [Connected] miniDNS.net Update Server 0.8.1 agent DiCE/1.50 OK Agent accepted version OK 0.8.1 login johndoe plain PASSWORD:topsecret <-- there is no new-line char after password prompt OK Authenticated a_update offline johnweb.minidns.net OK JOHNWEB.MINIDNS.NET offline exit OK Bye! [Disconnected] Sample 3: 例3: [Connected] miniDNS.net Update Server 0.8.1 agent DirectUpdate 2.6.2 OK Agent accepted version OK 0.8.1 login johndoe digest-md5 CHALLENGE 8056e4be88af9043436eff4fbaa5de18 response 4c0355c07ec5927d18c63c0864eaca6f ERR Access Denied [Disconnected] To Do 覚書 Add mx_update command to dynamically update MX records. 動的なMXレコード更新に、mx_updateコマンドを追加。 - end of spec - - 仕様 終 -