================================================================================

               μNet3 ネットワークアプリケーション変更履歴

                Copyright (c) 2015, eForce Co., Ltd.

================================================================================

    本ファイルはμNet3のネットワークアプリケーションの更新履歴とネットワーク
  アプリケーションガイドの補足を説明します。本ファイルはTCP/IPプロトコルスタ
  ックの変更内容については uNet3.txt を参照してください。


 ソース変更履歴
========================
================================================================================
【変更モジュール (機能追加, 不具合対応, etc...)】                       変更日
  ・対応内容
================================================================================

--------------------------------------------------------------------------------
【μNet3バージョンアップ ver 3.XX】                                 2016/XX/XX

【FTPサーバ (機能改善)】                                            2016/01/13
  ・FTPサーバからのファイル転送処理でエラーが発生した場合、
    原因箇所の切り分けが難しい問題があるため、FTPサーバのレスポンスコードに
    エラーコードなどの詳細を付与する様に変更しました。

--------------------------------------------------------------------------------
【μNet3バージョンアップ ver 3.14】                                 2015/12/24

【ソケットIDの型定義を統一 (機能改善)】                             2015/12/14
  ・ソケットIDの型定義が"ID型"や"UH型"など、統一されていない問題があったため
    新しくSID型を定義して型統一を実施しました。

【HTTPサーバ (機能改善)】                                           2015/12/14
  ・CgiGetParam()を使用した際、Parseされた要素の数が設定される
    バッファ配列の数を超えた場合、バッファオーバーランを起こす可能性があるので
    セキュア版のCgiGetParamN()を追加しました。
    これにより、従来のCgiGetParam()の使用は非推奨となります。

--------------------------------------------------------------------------------
【μNet3バージョンアップ ver 3.13】                                 2015/11/26

--------------------------------------------------------------------------------
【μNet3バージョンアップ ver 3.12】                                 2015/11/17

【Telnetサーバ (不具合対応)】                                       2015/10/20
  ・サーバ接続直後にオプション交渉以外のデータを送信してくるクライアントを
    切断するようにしました。(2015/04/08で修正した問題と異なる点は接続直後に
    クライアントがデータを送信してくるか否かの違いです)

【Telnetサーバ (機能改善)】                                         2015/10/20
  ・接続直後にオプション交渉データを送信してくるが、SUPPRESS-GO-AHEADの交渉
    データを送ってこないクライアントとの接続が可能となりました。

--------------------------------------------------------------------------------
【μNet3バージョンアップ ver 3.11】                                 2015/10/16

【FTPクライアント (不具合対応)】                                    2015/09/28
  ・FTPクライアントからPUTコマンドを実行した際に送信処理が
    正常に行えないケースがある不具合を修正しました。

【BSDソケット】                                                     2015/09/17
  ・select()の引数timeoutがNULLの場合は、タイムアウトしないよう修正しました

【POP3クライアント (不具合対応)】                                   2015/09/04
  ・クライアントがAPOP認証、サーバがAPOP以外の認証時に接続を行った際に
    ポインタが不正な値となり例外や異常動作となる不具合を修正しました。

【BSDソケット (不具合対応)】                                        2015/08/25
  ・TCPのソケットオプションでMSSを設定してもTCPセッションに反映されない不具合
    を修正しました。
  ・待ち状態のソケットAPIをタスクから強制終了した場合、EINTRをerrnoに設定する
    ように修正しました。

【BSDソケット (不具合対応)】                                        2015/08/17
  ・listenしているTCPソケットをshutdownした場合にバックログ用のソケットが
    再生成されるケースがあったためこれを修正しました。

【BSDソケット (機能改善)】                                          2015/08/12
  ・select処理におけるFDのチェック処理を効率化しました。
  ・ソケット最大数に依存するタスクのスタックサイズとMPFのブロックサイズを
    マクロ化により適切な値が設定されるように修正しました。

【Telnetサーバ (機能改善)】                                         2015/08/17
  ・接続直後、サーバ側からのオプション交渉で WILL ECHO を付与するように変更
    しました。(一部クライアントとの接続不具合の解消のため)
  ・オプション交渉で WILL, WONT を受信した際、既にオプションが要求された値の
    場合に応答しない動作に変更しました。(オプション交渉のループ抑止)

【SMTPクライアント (機能改善)】                                     2015/08/07
  ・ファイルシステム無しでも動作するように変更しました。

【POP3クライアント (機能改善)】                                     2015/08/07
  ・ファイルシステム無しでも動作するように変更しました。

【BSDソケット (不具合対応)】                                        2015/07/30
  ・selectがタイムアウトした場合の内部のキャンセル処理においてメモリを2重解放
    する不具合があったためこれを修正しました。

【Telnetサーバ (機能改善)】                                         2015/07/17
  ・オプション交渉で DO, DONT を受信した際、既にオプションが要求された値の
    場合に応答しない動作に変更しました。(オプション交渉のループ抑止)

【HTTPクライアント (不具合対応)】                                   2015/07/14
  ・送信処理で65536バイト以上のデータを指定した場合に正常に送出されない問題
    を修正しました。

【pingクライアント (機能改善)】                                     2015/07/10
  ・パラメータでデバイスIDが指定されていない場合、pingの送信デバイスを先頭の
    デバイスに設定していましたが送信先のIPアドレスで選択できるようにcon_soc()
    パラメータをDEV_ANY(0)のままとしました。

【HTTPサーバ (機能追加)】                                           2015/06/22
  ・拡張動作機能として Cookie が扱えるようになりました。Cookie関連のAPIを
    追加しました。(CookieGetItem, HttpSetContentCookie)

【FTPサーバ (不具合対応)】                                          2015/06/19
  ・簡易ファイルシステムを使用の場合、LISTコマンドの応答コードが正常にも
    関わらずファイル名の一覧取得が出来ない問題を修正しました。
    (μC3-Filesystem 使用の場合は発生しません。)

【Telnetサーバ (不具合対応)】                                       2015/06/18
  ・Telnetサーバの受信タイムアウト値が不正だったため修正しました。
    (ソケットに設定したタイムアウト値の10倍の値が設定されていました。)

【HTTPサーバ (機能追加)】                                           2015/06/05
  ・拡張動作機能を追加。この機能を用いて以下を実現できます。
    - コンテンツに対して任意のヘッダ情報を付与する。（CGIは対象外）
    - コンテンツおよびCGIに対してHTTP認証を行う。
  ・設定ファイル http_server_cfg.h が新たに追加されました。設定ファイルから
    HTTP Keep-Alive機能、拡張動作機能の有効・無効が制御可能です。

【DHCPクライアント拡張版 (不具合対応)】                             2015/06/02
  ・DHCPクライアントが300byte未満のDHCPメッセージを
    送信してしまう問題を修正しました。
    ※下記のDHCPサーバの修正と同様の対応

【DHCPサーバ (不具合対応)】                                         2015/06/02
  ・DHCPサーバが300byte未満のDHCPメッセージ（OFFER、ACK、NAK）を
    送信してしまい、BOOTPクライアントからのリース処理が正常に
    実施されない問題を修正しました。

【HTTPクライアント (機能追加)】                                     2015/05/26
  ・HTTPSに正式対応しました。(以前より使用可能でしたが、SSL接続の信頼性
    チェック処理の追加、コンフィグレータの設定対応を行いました。)

--------------------------------------------------------------------------------
【μNet3バージョンアップ ver 3.10】                                 2015/05/26

【DHCPクライアント、DHCPクライアント拡張版 (不具合対応)】           2015/05/20
  ・不正なオプション長が設定されている場合はオプション値を参照しないように修正
    しました。

【FTPクライアント (機能追加)】                                      2015/05/20
  ・FTPSに対応しました。
  ・いくつかのFTPコマンドに対応するAPIを追加しました。
    (MKD, RMD, DELE, RNFR, RNTO, NOOP)

【DHCPクライアント拡張版 (機能追加)】                               2015/05/01
  ・任意のDHCPオプションの値を取得する機能を追加しました。

【FTPクライアント (不具合対応)】                                    2015/04/22
  ・ユーザアプリ側からタイムアウトの設定値が変更不可な問題を修正しました。
  ・ftp_quit()が内部条件フラグの値によっては実行されない問題を修正しました。
  ・ファイルは正常に受信出来ているが受信タイミングによって、ftp_get_file()が
    エラーを返す問題を修正しました。
  ・前回発行したコマンドの応答コードを受信してコマンド結果が正常にならなく
    なる不具合を修正しました。

【DHCPサーバ (不具合対応)】                                         2015/04/20
  ・str_to_bin()のビッグエンディアン変換処理が正常に行われない
    不具合を修正しました。

【Stringライブラリ (不具合対応)】                                   2015/04/13
  ・net_strncmp()の文字列比較中にstr1もしくはstr2の終端コードまで比較した場合
    に戻り値が不正になる不具合を修正しました。

【Telnetサーバ (不具合対応)】                                       2015/04/08
  ・Telnetクライアント以外が接続した場合、サーバタスクが停止する脆弱性を修正
    しました。
  ・Telnetサーバの接続処理がエラーとなった場合、サーバタスクが終了する脆弱性
    を修正しました。
  ・オプション交渉の受信データサイズが大きい場合にバッファオーバフローする脆
    弱性を修正しました。
  ・SUPPRESS-GO-AHEADオプションの無効設定を受信した場合にオプション交渉がルー
    プする不具合を修正しました。(TelnetサーバアプリではSUPPRESS-GO-AHEADの無効
    設定は未サポートのため、オプション交渉のリトライ実施後に切断します。)

【簡易シェル (不具合対応)】                                         2015/04/03
  ・Telnetサーバ接続時、入力バッファ超過メッセージが表示されない不具合を
    修正しました。
  ・Telnetサーバ接続時、簡易シェルの一時バッファサイズ設定がTelnetサーバから
    受信するバッファサイズより低い場合にバッファオーバフローが発生する問題を
    修正しました。

【簡易シェル (機能改善)】                                           2015/04/03
  ・簡易シェルのコンフィグレーションにおいて無効な設定値を入れた場合に
    コンパイルエラーが発生するようにしました。
  ・簡易シェルの標準コマンド ip が複数NICの表示に対応しました。

【FTPサーバ (機能改善)】                                            2015/04/01
  ・PORTコマンドに対して「拒否する」もしくは「Well-Knownポートを使用しない」
    コンフィグレーションを追加しました。

--------------------------------------------------------------------------------
【μNet3バージョンアップ ver 3.09】                                 2015/04/01

【Stringライブラリ (機能追加)】                                     2015/03/31
  ・net_strncpy()関数を追加しました。

【HTTPサーバ(機能改善)】                                            2015/03/26
 ・HttpSendImage()を削除しました。不適切なコンテンツタイプ"image/html"をブラ
   ウザに送っていました。代替関数としてHttpSendResponse()をお使いください。
 ・HttpSendResponse()を追加しました。従来のHttpSendText/HttpSendImageと異なり
   任意のコンテンツタイプを指定することが可能となっています。
 
【DHCPサーバ(機能追加)】                                            2015/03/24
 ・通知用コールバック関数アラートタイプを追加しました。
   - DHCP_SERVER_ALT_EXPIREPOOL
     リース時間を満了した
   - DHCP_SERVER_ALT_RELPOOL
     IPアドレスのリースを解除した

【DHCPサーバ(定数名変更)】                                          2015/03/24
   通知用コールバック関数アラートタイプの定数名を変更しました。
   (変更前)
      DCHP_SERVER_ALT_XXXXX
   (変更後)
      DHCP_SERVER_ALT_XXXXX

【簡易シェル (不具合対応)】                                         2015/03/20
  ・簡易シェルのユーザ認証において、リトライ回数入力を間違えるとログインが
    出来る不具合があり修正しました。

【POP3クライアント (その他)】                                       2015/03/16
  ・コンパイラ(GCC)の警告メッセージを抑止する記述に変更しました。

【FTPサーバ (機能改善)】                                            2015/03/13
  ・LISTコマンドなど、パスを使用するFTPコマンド処理で既定の長さを
    超えたパスを指定された場合に、FTPサーバのレスポンスとして
   「500 The specified path is too long.」を返すように修正しました。

【FTPサーバ (不具合対応)】                                          2015/03/13
  ・FTPクライアントからコントロールコネクション経由でFTPサーバが
    コマンドを受信した時、受信コマンドの文字列数が一定を超えた場合に
    バッファオーバーランが発生してしまう不具合を修正。
  ・FTPクライアントからコントロールコネクション経由でLISTコマンドを
    受信した時に指定されるパスが存在しないディレクトリパスであった場合、
    FTPクライアントへのレスポンスを返さないケースがある問題を修正しました。

【HTTPサーバ (機能追加)】                                           2015/03/06
  ・HTTP Keep Alive機能を実装しました。

--------------------------------------------------------------------------------
【μNet3バージョンアップ ver 3.08】                                 2015/02/06

