Cente TCP/IPv4

Cente TCP/IPv4

Cente TCP/IPv4


改版日 2020.07.31
バージョン Ver1.36

・Gratuitous ARP対応

リンクアップや任意のタイミングでGratuitous ARPを送信する機能を追加した。

・ボードサポートパッケージの変更

ボードサポートパッケージを以下の3機種とした。
‐ コンピューテックス社 CKB-RZ/A1H
‐ ルネサスエレクトロニクス社 RSK+RX65N
‐ ルネサスエレクトロニクス社 RSK+RX71M

・ctbind()がエラーを返した後、条件を変えずに再度実行すると正常終了する(Cente障害情報:001-0055)

ポート番号の重複でctbind()がエラーを返した後、そのまま再度ctbind()を実行すると正常終了していた。これを修正した。

・IPアドレス割り当て完了までの時間が長いことがある(Cente障害情報:001-0056)

使用するDHCPdによっては、受信するOfferを無視してしまいIPアドレス割り当て完了までの時間が長く見えることがあった。これを修正した。

・FTPdで、カレントディレクトリのパス文字列が長い場合、1つ上のディレクトリに移動できないことがある(Cente障害情報:001-0057)

パス文字列長が最大値のときに、相対パス”..”を正しく処理できずディレクトリ移動できない場合があった。これを修正した。

・FTPdで、制御ポート受信タイムアウト時間が定義と異なる場合がある(Cente障害情報:001-0058)

NLST, LIST, STOR, RETRコマンドで、データポートで通信した場合に、制御ポートの受信タイムアウトが正しくない場合があった。これを修正した。

・TCP切断API実行後、一定時間内にデータ受信があった場合に意図しないメモリ書き込みが発生する(Cente障害情報:001-0059)

TCP切断APIを実行した直後に通信相手からデータを受信すると、それまで受信バッファとして指定されていたメモリ領域にデータを書き込んでいた。これを修正した。

・まれに送信元が「0.0.0.0」のIPパケットを送信する(Cente障害情報:001-0060)

「自IPアドレス確定」、「送信IPパケットの構築」、「IPパケットの送信処理」のタイミングによって、「自IPアドレスが未確定なので送信パケットは送信せず破棄する」という処理が動作しないケースがあった。これを修正した。

・DHCPで割り当てられたIPアドレスが不適切でもそれを使用してしまう(Cente障害情報:001-0061)

DHCPサーバから割り当てられたIPアドレスが不適切(マルチキャストアドレスやブロードキャストアドレスなど)でも、そのまま使用していた。これを修正した。

・リンクダウン状態でTCP接続APIを実行し、その後リンクアップしても接続できない(Cente障害情報:001-0062)

リンクダウン状態でTCP接続APIを呼び出し、その後リンクアップすると、TCPSYNを再送するが、このときの送信元IPアドレスが0.0.0.0となってしまい、接続が完了しない症状となっていた。これを修正した。

・DNS解決に失敗することがある(Cente障害情報:001-0063)

ホスト名をDNS解決する際、DNSサーバからIPアドレスではなくCNAMEを受信した場合、CNAMEが圧縮されているケースで正しく処理できない場合があった。これを修正した。また、受信DNSパケットの長さチェックを強化した。

・不正なICMPリダイレクトパケットで、ルータ(デフォルトゲートウェイ)の設定が不正となることがある(Cente障害情報:001-0064)

ICMPリダイレクトパケット受信時のパケット長のチェックが不足しており、不正なパケットでも、破棄せずに処理していた。これを修正した。

・通信品質が悪い環境で繰り返しtcp_con_cep()を呼び出すと、tcp_con_cep()から戻らないことがある(Cente障害情報:001-0065)

通信品質が悪い環境などで繰り返しTCP発信を行うと、RSTの受信とSYNの再送がほぼ同時に発生すると、まれにtcp_con_cep()から返らないことがあった。これを修正した。

・TFTPdのエラーを不適切なLAN I/Fへ送信することがある(Cente障害情報:001-0066)

TFTPdは存在しないファイルを要求した場合などにTFTPcにエラーを返すが、マルチIP環境で複数のI/FでTFTPdを使用している場合にエラーをデフォルトI/Fに送信していた。これを修正した。

・TFTPcでアスキーモードが使用できない(Cente障害情報:001-0067)

PUT、GETのAPIでアスキーモードを指定してもバイナリモードで動作していた。これを修正した。