2006-11-01から1ヶ月間の記事一覧
archive/extractサンプルを.gz/.bz2に対応させました。 archive.cppの差分 extract.cppの差分 結局、.gzはアーカイブクラスにはなりませんでした。 特に、ヘッダにファイル名が含まれない場合、アーカイブのファイル名から元のファイル名を推測する仕様がア…
IE7をインストールしたWindowsXPで空のXAMLファイルをダブルクリックすると、WinFXをインストールするか尋ねられます! WinFX改め.NET Framework 3.0ってまだ正式版出てないのにいいんですかね、こんなんで。 オプションにXAML関係の項目があったので、 http…
archive.cpp/extract.cppで.gz(.tar.gzではない)を扱えるようにしようと思って、いろんなアーカイバの動きを調べていたんですが、展開時になぜかファイル名が復元されてびっくりしました。 gzipの仕様を確認したところ、ファイル名、コメント、最終更新時間…
Info-ZIP形式の暗号化を実装しました。 raw_zip_file.hppの差分 zip_file.hppの差分 ファイルイメージの前に乱数でパディングを追加する必要があり、またもや乱数のシードをどうするかという問題に直面しました。 ヘッダだけで済ませたいので、Hamigaki.Deta…
昨日のバージョンではInfo-ZIPで暗号化したZIPが読めなかったので修正しました。 raw_zip_file.hppの差分 zip_file.hppの差分 Info-ZIPがZIP仕様書と違う出力をするのには訳があります。 ZIP仕様書では、 32ビット×3個の鍵を用意(固定値) パスワードの各文字…
早速入れてみました。 はてなのレイアウトが崩れる問題も(はてな側の対応で)直っています。 セキュリティを考慮してかIEとエクスプローラが分離され、エクスプローラーバーの「フォルダ」がなくなりました。 (IEでフォルダを開こうとするとエクスプローラが…
暗号化ZIPの復号に対応しました。 raw_zip_file.hppの差分 zip_file.hppの差分 サンプルの差分 Cのライブラリなんかだと、パスワードが必要になった時に呼ばれるコールバック関数を設定できるようになっていることが多いと思いますが、コールバック関数の呼…
実装し忘れていたZIPの暗号化をやっています。 鍵の更新処理にCRC-32が使われているのですが、その初期化でハマリました。 Boost.CRCでの概要はこうです。 template < std::size_t Bits, impl_def TruncPoly = 0u, impl_def InitRem = 0u, impl_def FinalXor…