つづき
--------------------------------------------------------------
次にクライアントはuseridをサーバに送る。

<<<<<< USR 2 MD5 I [email protected]
(USR trial_id セキュリティーパッケージ I userid)

とかやってるうちにサーバからは「逝ってよし」命令がくる。こんな風に。

>>>>>> XFR 2 NS 64.4.13.55:1863 0
(XFR trial_id NS 行き先)

オマエモナーなどおと返す必要もなく素直に逝かなきゃならなん。NS は Notification Server の意味。
で、64.4.13.55:1863 が行き先。アドレスとポートだ。わかるよな。(最後の 0 ってなんだ?)ここまでやったら、今の接続は閉じて、64.4.13.55:1863でもっかいバージョン確認からやり直しだ。
やり直しだから省略するぞ。

<<<<<< VER 3 MSNP5 MSNP4 CVRO
>>>>>> VER 3 MSNP5 MSNP4
<<<<<< INF 4
>>>>>> INF 4 MD5
<<<<<< USR 5 MD5 I [email protected]

さ、次だ。サーバからはこんなのがくる。

>>>>>> USR 5 MD5 S 989048851.1851137130
(USR trial_id セキュリティーパッケージ S チャレンジ文字)

これは、サーバからの「この文字列を正しく暗号化してみやがれゴルア」という挑戦だ。
こっちはチャレンジ文字とパスワードをつないだものをMD5ハッシュで変換して返してやればいい。
ちなみに、今回はそれでできあがったものが 3b7926d277068ec49576a0c40598ff21 としておく。

<<<<<< USR 6 MD5 S 3b7926d277068ec49576a0c40598ff21
(USR trial_id セキュリティーパッケージ S パスワードを暗号化したもの)

パスワードが正しければ、こんな返事が来る

>>>>>> USR 6 OK [email protected] venkat
(USR trial_id OK userid ニックネーム)

これでログインは完了。