Cente HTTPd/c
HTTPcのSSL対応
HTTPcのSSL対応。
※CRL(失効証明書)対応コードが入っているので、CenteSSLはCRLに対応したバージョン1.13以上をお使い下さい。
HTTPc修正
ヘッダ解析時に、解析用バッファが満杯になったときの処理に誤りがあったのを修正。
実際にボディとして読み込んだサイズをヘッダに格納するようにした。
ボディ読み込み時に、ユーザの用意したボディバッファが不足したことを示すフラグを追加。
ボディ受信後のエラーチェック関数(ローカル)を追加。
ヘッダとボディの境界を示す「CRLFCRLF」の途中でパケットが途切れた場合の処理を追加。
ボディ読み込み時に、読み込んだサイズの総計を計上するところに誤りがあったのを修正。
httpc_getでhttpc_create_socket_buffer()が失敗した時の処理でE_OKを返していたのを修正。
httpc_communicationで、connectに失敗した時にOKをreturnしているのを修正。
httpc_getでhttpc_create_socket_buffer()が失敗した時の処理でE_OKを返していたのを修正。
HTTPd修正
デフォルトディレクトリに不要な文字「:」が含まれていたのを消去。
クライアントからの絶対URL表記に対応。
HTTPdで、ファイルをマルチパートでPOSTされたときに、HTMLファイルで「name=」で指定した。名前でテンポラリファイルを作成するように修正。それに伴い、httpd_get_posted_file関数の仕様変更。内部関数 httpd_util_make_posted_tmp_file_name関数の仕様変更。
サンプルページ
HTMLをCのソースにした配列の型を修正(const装飾子を付加)。
CGI動作後のリンクを、相対URLで表記するように修正。
不要なコメント分を削除。
GET、POST(シングルパート)、POST(マルチパート)のCGIが1つのCGIだったのを、それぞれ別のCGIに分岐。