Cente SNTP(TCP/IPv4 オプション)
SNTPv4対応
SNTPcのバージョン4に対応した。それに伴い、マニュアルも更新。
IPv6対応
IPv6に対応した。
SNTPポート123の不具合修正
SNTPcのリクエスト送信ポートと、NTPサーバからの応答受信ポートに同じポート123を使用してUDP通信を行っていたため、NTPサーバ応答受信待機中にSNTPcリクエストを送信することができなかった。RFC上の仕様だったがRFC4330で修正されていたのでそのように修正。
SNTPv4対応
SNTPcのバージョン4に対応した。それに伴い、マニュアルも更新。
IPv6対応
IPv6に対応した。
SNTPポート123の不具合修正
SNTPcのリクエスト送信ポートと、NTPサーバからの応答受信ポートに同じポート123を使用してUDP通信を行っていたため、NTPサーバ応答受信待機中にSNTPcリクエストを送信することができなかった。RFC上の仕様だったがRFC4330で修正されていたのでそのように修正。
IPv6対応
IPv6に対応した。それに伴い、マニュアルも更新。
不具合修正
SYSLOG_IPID_NOを変更するとコンパイルできなくなる不具合を修正
SMTPcのIPv6対応
以下のAPIを追加。
smtpc_set_server_ip46
smtpc_set_server6
POPcのIPv6対応
以下のAPIを追加。
popc_login_ip46
popc_login_apop_ip46
stratum=0のNTPサーバから時刻を取得できない不具合修正
独自にNTPサーバを構築した場合など、参照サーバなし(stratum=0)のNTPサーバに対して現在時刻を取得できなかったので修正した。
NTPサーバのバージョンチェックが正しく行われない不具合修正
NTPサーバのバージョンが1より高いNTPサーバに対して現在時刻を取得できなかったので修正した。
アドレスエラーが発生することがある不具合修正
Ver.1.13以降のCente TCP/IPv4と組み合わせて使用すると、NTPパケット受信時にアドレスエラーが発生することがあった。これを修正した。
HTTPd修正
Connection: keep-alive のヘッダを送信するときに、不正なタイムアウト値を送信していたので削除
Digest認証で、クライアントの最初のアクセスのときの認証にもstaleフラグをtrueにしていたバグを修正
SSLを導入すると、独自md5ルーチンでビルドエラーしてしまうのを修正
HTTPc修正
HTTP1.1対応
Hostヘッダ追加
キープアライブ対応
Chunkエンコーディング対応
Chunkエンコーディング対応に伴い、ボディ受信関数の構造を変更
通信のポート番号を指定出来るようにした
通信のタイムアウト指定出来るようにした
SSL通信のときに、サーバから送られてきた証明書内のホスト名をチェックするフラグを追加(T_HTTPC_REQHEADERのverify_hostname)
HTTP共通ルーチン修正
T_HTTP_AUTH_INFOの名称をT_HTTP_AUTH_TYPEに変更
Digest認証で使用するMD5ルーチンを、cryptoのものから独自実装へ変更し、HTTPd/c共通ルーチン化 HTTPcDigest認証対応のため、HTTPdで使用していたDigest認証ルーチンの一部をHTTP共通ルーチンへ移動
HTTPd修正
MD5独自ルーチン採用に伴う修正
CGI/SSI/HTMLの追加ルーチンで、エラーチェックを強化
認証関係のソースコードを一部整理
HTTPc修正
Cookie送受信に対応
Digest認証に対応
Hostヘッダに対応
httpc_iniに戻り値を追加
SMTPAUTHのCRAM-MD5とDIGEST-MD5に対応
smtpc_set_auth()のtypeを追加。smtpc_set_serverstr()とsmtpc_set_realm()を作規に作成。
Centecryptoに依存しないようにした
md5/ctmail_md5.cとして、md5関数を独自実装
添付ファイル名を取得できるようにした(日本語も可)
T_MIME_ATTACHINFOに、filenameを追加
受信メールの日本語の件名をデコードできるようにした
mime_get_msghdrで、subjectをJISからSJISへ変換した物を返すようにした
1tick=1msec環境で、PPPパケットの再送が5秒おきに発生する
1tick=10msecを前提とした部分があり、0.5秒おきに発生する再送が、1tick=1msec環境では5秒おきに発生していたので修正した。
MPPEで、パケット到着順が逆になるとそれ以降の通信ができなくなる。
特にインターネット環境では、ときどきパケットの到着順が前後することがある。MPPE通信のシーケンス番号が0に戻るときに到着順が前後すると、それ以降の通信ができなくなっていたので対応した。
HTTPd修正
HTTPd内部での通信シーケンスを一新し、エラーフローが一箇所で行えるようになるように修正
Chunkエンコーディング機能を実装
POSTされたデータを保存する箇所をカスタマイズ化(httpd_save_post_data関数)
Digest認証で、nonce値をサーバで保存し、指定された時間間隔で更新するように修正
クライアントから複数行にまたがるヘッダを送られたときに解析できなかったバグを修正
MPF領域を使用禁止にしたT_INHEADERおよびT_OUTHEADER構造体は、文字列の実体をその構造体の中に持つようにした。
T_HTTPD_INTERNAL_INFO構造体を追加。T_INHEADERでもT_OUTHEADERでもない、HTTPd内部で使用する変数を、この構造体内にまとめた。
HTTPdでタスクごとに使用する構造体をT_HTTPD_SESSION構造体にまとめ、static領域で実体を宣言するようにした。
Cookieヘッダのパースにバグがあったのを修正。パース後のCookie情報を、各Cookieごとの情報と複数のCookie全体に対する情報とに区別した。
HTTPc修正
T_HTTPC_RSPHEADER構造体に、メンバbody_file_pathを追加。受信したボディ部のファイルシステムへの保存を実装した。
body用に用意したバッファのサイズが0のときも、HTTP通信を可能にした。
body用に用意したバッファが不足した場合も、すべてのボディ部を受信してからHTTPのコネクションを切るように修正。
Page 6 of 9