待辦事項 #26296

1.98をリリースする

啟用日期: 2011-09-13 18:30 最後更新: 2011-10-12 19:18

回報者:
負責人:
(無)
類型:
狀態:
關閉
元件:
(無)
里程碑:
(無)
優先權:
5 - 中
嚴重程度:
5 - 中
處理結果:
檔案:

細節

1.98をリリースする。タスクは下記:

  • 1.98ブランチの作成
  • ドキュメント修正
  • ビルドおよびリリース前テスト

Ticket History (3/18 Histories)

2011-09-13 18:30 Updated by: hiromichi-m
  • New Ticket "1.98をリリースする" created
2011-09-13 21:04 Updated by: s_kawamoto
評語

バージョン番号は1.98、リソース形式のバージョンは1.98.0.0で構いません。これに合わせてドキュメント類やリソースを修正していきたいと思います。

お手数ですが、現時点のtestブランチをVS2005でビルドできるか、また正常に動作するかを確認していただけませんか?

2011-09-14 11:53 Updated by: s_kawamoto
評語

1.98のドキュメント類の整備が完了しました。 リリース用のファイル構成はPackageディレクトリ内にありますので、著作権情報の不備やライセンス抵触等が無いか確認をお願いします。

Packageディレクトリ内にはOpenSSL(FTPSの使用に必要)やVisual C++ 2008ランタイム(OpenSSLが使用)が同梱されていますが、Visual C++ 2008ランタイムを同梱しない場合は"Microsoft.VC90.CRT.manifest"、"msvcr90.dll"の2ファイルを、OpenSSLを同梱しない場合は前述のものに加えて"libeay32.dll"、"ssleay32.dll"の合計4ファイルをリリース時に削除してください。

2011-09-15 09:43 Updated by: s_kawamoto
評語
(This comment has been deleted)
2011-09-15 14:12 Updated by: s_kawamoto
評語
(This comment has been deleted)
2011-09-15 20:44 Updated by: hiromichi-m
評語

いまざっとコードレビューをしているのですが、mbswrapper.c内で定義しているマクロ

#define START_ROUTINE					do{
#define END_ROUTINE						}while(0);end_of_routine:
#define QUIT_ROUTINE					goto end_of_routine;

はどのような意図で使っているのでしょうか? QUIT_ROUTINEマクロは使われておらず、大量のwarningが出ています(end_of_routineラベルを使っていないので、その部分でwarningが大量に出る)。

2011-09-15 22:53 Updated by: s_kawamoto
評語

hiromichi-m への返信

いまざっとコードレビューをしているのですが、mbswrapper.c内で定義しているマクロ {{{ #define START_ROUTINE do{ #define END_ROUTINE }while(0);end_of_routine: #define QUIT_ROUTINE goto end_of_routine; }}} はどのような意図で使っているのでしょうか? QUIT_ROUTINEマクロは使われておらず、大量のwarningが出ています(end_of_routineラベルを使っていないので、その部分でwarningが大量に出る)。

gotoがあると読みづらいので、gotoを直接使わずにエラー時にQUIT_ROUTINEでEND_ROUTINE直後のメモリ開放を行うためです。例外を受け取らないtryとfinallyのようなものです。

当初、実はQUIT_ROUTINEはbreak;だったのですが、これだと入れ子になったwhileから脱出できないためgotoに変更し、doとwhile(0)は不要になったのですが、whileでないループ内でうっかりbreakを使ってしまった時にデバッガがコードを追えなくなってしまうため、念のためそのまま残しておいたというものです。

私が便宜上使っているだけですので、今後mbswrapper.cにAPIを追加する場合はこれらを使わなくても構いません。

2011-09-15 23:43 Updated by: s_kawamoto
評語

念のため書いておきますが、mbswrapper.c内の// TODO:で始まるコメントは、呼び出し元で変数がNULLにされている、サイズ未指定でも最低限の容量を上回るバッファが用意されている、UTF-16変換時にサロゲートペアが必要な文字列が指定されない等、現状では未実装でも問題無いはずです(実装しても無意味です)。

2011-09-20 02:00 Updated by: s_kawamoto
評語

日本語版インストーラ、英語版インストーラ、日本語版ZIP、英語版ZIPを作成しました。インストーラなどの設定は1.97bのものに合わせてありますので、特に問題が無ければPackageディレクトリ内の4ファイルをそのまま公開可能です。致命的なバグ等が無ければこれで1.98を凍結したいと思います。 http://git.sourceforge.jp/view?p=ffftp/ffftp.git;a=commit;h=df6e9e760b3ddf852a924a1384be37ae6993f350

Windows 2000 Professional SP4、XP Professional SP3、Vista Home Premium SP2、Vista Business x64 SP2、7 Professional x64で動作確認を行いました。従来通り動作環境は2000、XP、Vista、7として良さそうです。

英語版の説明書などを追加し、パッケージを作り直したので、前のコメントは削除しました。

2011-10-04 01:34 Updated by: s_kawamoto
評語

現在の1.98ブランチに致命的なバグが見つかったため、数日中に既にバグが修正された最新のtestブランチで1.98を上書きします。

正式リリースはもうしばらくお待ちください。

2011-10-04 12:25 Updated by: hiromichi-m
評語

私のほうでもいくつかテストして(ローカルで)ドキュメントとインストーラに細かい修正を入れていますのでコミットしておきます。

Testブランチのほうは現行1.98ブランチに入っているもののバグ修正以外に機能追加はありますでしょうか? 機能追加に関してはフリーズしているので、バグ修正のみをコミットする方針で。とりあえずTestブランチにバグ修正を入れたらご連絡ください。

2011-10-04 19:52 Updated by: s_kawamoto
評語

hiromichi-m への返信

私のほうでもいくつかテストして(ローカルで)ドキュメントとインストーラに細かい修正を入れていますのでコミットしておきます。 Testブランチのほうは現行1.98ブランチに入っているもののバグ修正以外に機能追加はありますでしょうか? 機能追加に関してはフリーズしているので、バグ修正のみをコミットする方針で。とりあえずTestブランチにバグ修正を入れたらご連絡ください。

testブランチは既にMLSDコマンドによるファイル一覧の取得や信頼できないDLLの読み込みを防ぐ機能を追加で実装しているため、1.98ブランチにtestブランチからバグ修正分だけを抜き出して追加するという形を取らせていただきました。

バグ修正と書き忘れていたコード(文字コードが自動の時にFEATとOPTS UTF8 ONを送るのを忘れていた)をtestブランチから抜き出して1.98にコミットしました。機能について仕様上は直前の1.98のコミットと変化はありません。 http://git.sourceforge.jp/view?p=ffftp/ffftp.git;a=commit;h=c7302e73116a393e9a99f940d26b4c2bbe944f3e

2011-10-05 20:11 Updated by: hiromichi-m
評語

私のほうの変更も加え、パッケージを作成して「テスト版」としてアップロードしました。 こちらで問題がないようでしたら、正式に1.98としてのリリースを行いたいと思います。

http://sourceforge.jp/projects/ffftp/releases/?package_id=12525

2011-10-05 21:13 Updated by: s_kawamoto
評語

hiromichi-m への返信

私のほうの変更も加え、パッケージを作成して「テスト版」としてアップロードしました。 こちらで問題がないようでしたら、正式に1.98としてのリリースを行いたいと思います。 http://sourceforge.jp/projects/ffftp/releases/?package_id=12525

ありがとうございます。EXEpress用のファイルの準備の自動化は便利ですね。

しかしいくつか問題がありましたので下記の内容を後でコミットしておきます。

配布するコンパイル済みのファイルには関係ありませんが、ソース類に問題があります。

  • "FFFTP*.vcproj"と"FFFTP*.vc90.vcproj"で設定が同期していません。
  • Windows 2000が要件のため、普通はIE6に更新してありますがインストール時はIE5ですから、_WIN32_IE=0x0500以下であるべきです。
  • 私の環境ではXPにクラシックスタイルを適用しているためか、動作には関係ありませんが、無効なボタンのうち直前に押されていたものだけ色が付いたり等、ツールバーの表示が少しおかしいです(TBSTYLE_FLATが原因か?)。
  • "mbswrapper.c"は使用されていないラベルの警告を無効化したバージョンより前のものにマージされてしまっています(動作には関係ないがQUIT_ROUTINEが使えない、または警告の無効化の意味が無い)。

不要なファイルもマージされているようです。

  • "Resource\FFFTP.APS"はVisual Studioがリソースを開く際に作る一時的なファイルなので必要ありません。
2011-10-05 21:26 Updated by: s_kawamoto
評語

書き忘れました。 "Microsoft.VC90.CRT.manifest"がありません。Windows XPとVistaでVCランタイムを別途にインストールする必要が出てしまいます。インストールされている場合は新しいバージョンが読み込まれますが、インストールされていない場合はこのファイルが無いと"msvcr90.dll"が見つからない扱いになります。Windows 7では標準でインストールされているため"msvcr90.dll"は不要です。Windows 2000ではマニフェストが無視されるため、自動的に"msvcr90.dll"が読み込まれます。

2011-10-07 19:22 Updated by: hiromichi-m
評語

修正ありがとうございます。

私の環境ではXPにクラシックスタイルを適用しているためか、動作には関係ありませんが、無効なボタンのうち直前に押されていたものだけ色が付いたり等、ツールバーの表示が少しおかしいです(TBSTYLE_FLATが原因か?)。

の個所ですが、当方のXP環境(SP3)ですとこのような挙動は見られないようです。

1.98ブランチの最新コミット+ツールバーにTBSTYLE_FLATを入れたものでパッケージを更新しましたので、このパッケージで確認をしていただいてもよろしいでしょうか?

2011-10-07 22:49 Updated by: s_kawamoto
評語

サーバにコミットがプッシュされていないようですが、TBSTYLE_FLATを入れなおしただけならば私の方からは何も報告することはありませんので、正式リリースで良いと思います。

私が使用しているXPにはかなり多くのアプリケーション(しかもシステムレベルに近いものが多い)がインストールされているため原因は定かではありませんが、デバッグ用の仮想環境(2000、Vista x86)や他の実環境(Vista x64、7 x64)では問題ありませんでしたので、恐らくこのXP固有の問題でしょう。

2011-10-12 19:18 Updated by: hiromichi-m
  • 狀態 Update from 開啟 to 關閉
  • Ticket Close date is changed to 2011-10-12 19:18
評語

個人的な事情で作業が滞っておりましたが、1.98をリリースしました。

Attachment File List

No attachments

編輯

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » 登入