改版日2007.08.31バージョンVer1.21自ポート番号の自動割当ルール変更TCPまたはUDPにて通信端点の作成と解放を繰り返すと、自ポート番号が続けて同じ番号になってしまうことがあった。tcp_acp_cep()後のtcp_con_cep()でリソースが減るtcp_acp_cep()が失敗またはキャンセルした後、同じ通信端点でtcp_con_cep()を呼ぶとセッション情報を保持するリソースが解放されなかった。省コピーAPI(tcp_rcv_buf)で受信するとスループットが低くなることがある受信バッファが一旦一杯になり、その後tcp_rel_buf()を呼んで空きが出来たとき、ウインドウ更新のACKを送信していなかった。そのため、極端に受信スループットが落ちることがあった。TCPゼロウインドウACK受信後の送信が最適でないTCPゼロウインドウACKを受信するとPERSIST状態に移行し、定期的に次のデータを送信するが、ウインドウ更新ACKを受信したとき、定期的に送信しているデータの次のデータから送信していた。ACKを受信していないパケットから送信を再開するよう変更した。FTPdで、連続して複数のファイルを送受信すると失敗することがあるそれぞれのTCP通信でポート番号20番を繰り返し使うことになるが、直前のTCPセッションがまだ残っていて通信端点を作成できず失敗していた。相手先ポート番号が違うなら自ポート番号が同じでも通信端点を作成できるよう修正した。IGMPグループ以外のマルチキャストアドレスは受信しないように変更IGMPでグループ登録した場合も、それ以外のマルチキャストアドレスのパケットを受信していた。グループ登録したもの以外は受信しないように修正した。パケットバッファ枯渇でTCPパケット送信が無限ループに陥ることがある送信パケットバッファが枯渇するような運用の環境でTCP送信を行うと無限ループに陥ることがあった。UDPヘッダの長さフィールドが不正なパケットを受信すると誤動作するUDPヘッダの長さフィールドが不正なパケットを受信したとき、正しく処理できないことがあった。環境によってはctbsdapi.cがコンパイルエラーとなる環境によってはBSDAPIのためのソースctbsdapi.cにてコンパイルエラーとなることがあった。Discoverが破棄されていた。DHCPパケットの「システム起動からの時間」を正しく設定するようにして回避した。送信中にリンクダウンさせると、その後リンクアップできなくなる高トラフィックで送信実行中にLANケーブルを抜くなどリンクダウンさせると、その後リンクアップしても通信できなくなることがあった。OSリソース生成失敗が検出できない初期化関数を呼んだとき、OSリソース生成が失敗しても正常終了していた。エラーを返すよう変更した。