Meltice Family の新Patch(2006/04/17版)

 53_Meltice-Family  Meltice Family の新Patch(2006/04/17版) はコメントを受け付けていません。
4月 172006
 

ファイル名冒頭がハイフンだと圧縮時に誤動作する対策、ならびに .\ や ./ なディレクトリ情報のみを持つ書庫で「解凍先パスを最適化」が誤動作する対策に関して、2/25 のパッチをさらに再検証しました。
その結果、ハイフン記号に関しては見当違いの部分を直していると判断し、パッチ適用場所を再検討し、統合アーカイバ DLL にファイルを渡す直前で文字列を差し替える対策をとることとしました。 .\ や ./ なディレクトリ情報の問題に関しては、 ./ がチェック漏れしていたことを除けば2月のパッチで問題なさそうと判断してます。
とりあえず、これで残るバグ修正は

  • UNZIP32.DLL Ver.5.40 で解凍できない&正規表現まわり対策
  • BGA32.DLL系書庫で二重フォルダ防止が働かない問題
  • FrosticeのJak分割時のメッセージ

といったところですね。
また、2.2.1 で検討している事項に「ディレクトリ横断と拡張子偽装( .exe 等の拡張子の前に半角スペースが特定個数以上ある状態のこと)」の警告機能が上げられます。CAB32 / BGA32 に関してはこれらのセキュリティ上の問題の修正が期待できませんので…

Patch(2006/02/25)の再検証

 53_Meltice-Family  Patch(2006/02/25)の再検証 はコメントを受け付けていません。
4月 162006
 

To Do List (Patch) の再検証を軽くやってみます。
現状、作りかけでうまくっていない問題はふたつ、
– .\ だけで構成される書庫ファイルで解凍先パス最適化が誤動作
– ハイフンで始まるファイルの処理を行うと DLL が誤動作
  * パッチでは「.\ エスケープ」が副作用のバグを発生させている
…とこんな状態。
今夜はかるく u_string.cpp について仕様の再確認です。
*get_1st_dirname(char *lpszPath) については、おそらく問題なし (デバッグ検証はまだ)
*split_1st_filenames(char *singlefile, const char *filenames) については、下手にパッチを当てると関数仕様から逸脱してしまって副作用が大きそう。
…と、こんな感じ。思い出すのにまだまだ時間がかかりそうです。
そして、C# の string 型や Path クラスのありがたみを再認識してます。

Frostice with Password Patch (お蔵入り)

 53_Meltice-Family  Frostice with Password Patch (お蔵入り) はコメントを受け付けていません。
4月 102006
 

職場で「今後メールで添付ファイルをやりとりするときはパスワードつきZIPにしよう」という提案がなされました。そして、その提案には「毎月、所定の部署での共有パスワードを指定して圧縮すること」というおまけもついてきました。
覚えられないや、ということで数分でパスワード自動付加機能付き Frostice をつくってみたら、同僚(というか上司?)からリクエストがばかすか飛んできて…休憩時間に戯れで10分たらずの予定が、かなり時間を食わされることに。
で、ようやく「そこそこ実用的に使える」パッチ当てが終わったところで、提案の続報が流れてきました。「毎月パスワードを変えるという提案には不評が多いので、連想しようのない共通パスワードを使います、さっきの話は忘れて」という内容でした。
そんなわけで、改造版Frosticeはあえなくお蔵入りになってしまったわけですが、職場の部署内公式圧縮ソフトとして指定されて、本業でも自作ソフトのバグレポに奔走する…なんてことを想像するとげんなりするので、これでよかったのかもしれません。
まあ、Meltice / Frostice by Win32 Platform SDK なプログラミングをひさびさに思い出させてくれたので、同僚には感謝しないといけないですね。

2006/03下旬~04上旬の近況について

 53_Meltice-Family  2006/03下旬~04上旬の近況について はコメントを受け付けていません。
4月 082006
 

今年の 3/11 の開発日誌を最後に1ヶ月近く何も書いていなかったので、近況の報告をさせていただきます。
Meltice Family 開発状況について
 結論から先に申し上げますと、「3月上旬から一切の作業が止まっている状態」です。
 少なくとも、ファイル名冒頭のハイフン記号圧縮時の問題や .\ フォルダばかりで構成された書庫の解凍先パス最適化が正常動作しない問題については、検証途中のままの状態で、まだ現時点で修正のめどがたっていません。
 3/11 に開発機故障について開発日誌に書いていますが、故障の原因は電源ユニットの寿命で、部品交換により数日後に無事復旧しています。その後、ちょっといろいろ思うところあって、圧縮解凍まわりの作業は一時凍結していたのですが、そのままずるずると時間が流れて今に至るという状況です。時間を確保次第、問題点の解決に取り組みたいと考えています。
 さて、開発日誌の移行に関して理由を書きたいと思います。
 旧「Meltice Family 開発日誌」(WIKI 上にあったもの) の記述ポリシーは「圧縮解凍周りで開発や動作検証で何か進展があった場合のみ更新」というものでした。Meltice Family (ネイティブコード版) に直接関係のない .NET 上の検証や小ネタについては、Slashdot Japan や mixi 上に少し触れるだけ、という状態で、圧縮解凍関連の情報が拡散してしまって、書き手の私も把握できない状態に陥っています。
 よって、圧縮解凍関連の話題は今後原則として Slashdot Japan / mixi / Sourceforge.jp のあちこちに拡散して記述するのはやめて、ここ xrea.com 上の開発日誌に一本化することにしました。旧記述については、旧開発日誌・日記に残したままとし、xrea.com 上の開発日誌へのインポートは特に行いません。探す、移行作業するというのにはそれなりのエネルギーと時間が必要になるためで、そんな資源はもっと別の方向に有効活用したいと考えているためです。
注意点としては、拙作の圧縮解凍ソフトに直接影響されない内容 (UNIX 系 OS の圧縮解凍ソフトな話題など) については、「開発日誌」ではなく「ユーザーサイドの体験記」になってしまうので、別名義で展開しているはてなダイアリーや xrea.com 上の別 blog に書くかもしれません。こちらについては方向性を明確に決めていません。
CaldBase.NET 開発状況について
 位置付けが姉妹プロジェクトにある CaldBase.NET の近況についてもあわせて書きたいと思います。
 Meltice Family .NET (仮称、圧縮解凍ソフトのマネージコード + 統合アーカイバネイティブコードの混在バージョン) の開発の優先順位は Meltice Family ネイティブコード版 (Ver.2.2.x 系のことです) よりも下になっています。よって、Meltice Family の問題解決しないうちは、Meltice Family .NET に手を付けることができません。
 問題なのは、Meltice Family .NET の基幹フレームワークになるはずの CaldBase.NET の開発の優先順位は Meltice Family .NET と同じということです。つまりは Meltice Family の問題解決をしない内は、こちらにもとりかかれないということです。
 CaldBase.NET (UnDller.NET 含む) の現状の問題点は、「ソースコードに著作権表示記述が抜けているので、BSD ライセンス下にあるそれらのソースコードは事実上再配布不能である」ということです。こちらについても、Meltice Family の諸問題を片づけ次第、なんとかしたいと考えています。

Meltice 開発日誌を xrea.com の A.S.L. 開発日誌に完全移行しました。

 53_Meltice-Family  Meltice 開発日誌を xrea.com の A.S.L. 開発日誌に完全移行しました。 はコメントを受け付けていません。
4月 082006
 

開発日誌@Meltice Family WIKI から A.S.L. 開発日誌に移行することになりました。
というのも、blog の数が両手の指で数えられないくらい増えすぎまして、ちょっとまとめる必要が出てきたかなという判断からです。今後は WIKI 上の開発日誌は完全に凍結して、こちらで開発日誌をつけていこうと思います。

Continue reading »