◆バージョンアップ履歴 ・2000/06/13 Ver 2.6.1 - MACOS タイプのリモートサーバに対応。 - Log の転送/削除ファイル数が嘘ばっかりだったのを修正。 - フランス語翻訳 (fr.po) を添付。 Thanks to Olivier Tharan ・2000/05/22 Ver 2.6.0 - ディレクトリ削除のさいに、カレントディレクトリを削除しようと していたバグをフィクス。 - DestDir の存在チェックの方法を「"mkdir " に失敗したら 存在」から「"chdir " に成功したら存在」に変更。 - 安全のため、接続したらまず「chdir 」するようにした。 - 上記を制御するパラメータ「ChdirAtConnection」を追加。 - オランダ語翻訳 (nl.po) を添付。 Thanks to Jos Smeets ・2000/05/03 Ver 2.5.4 - 新しいパラメータ「FollowSymlinks」を追加。 安全のためにデフォルトではローカルのシンボリックリンクの展開を しないようにしました。展開が必要な方はこのパラメータを「true」に 設定してください。 Thanks to Jeff Abrahamson ・2000/04/16 Ver 2.5.3 - WindowsNT を使用した FTP サーバでリモートのディレクトリ名が正常に パースされないバグをフィクス。 Thanks to Craig Wilkie ・2000/03/24 Ver 2.5.2 - 処理メッセージを表示しない設定にしてあっても、切断時に改行が 1 つ 出力されてしまうバグをフィクス。 - スペイン語翻訳 (es.po) を添付。 Thanks to Gorka Olaizola ・2000/02/29 Ver 2.5.1 - 設定ファイルでパスワードが設定されていなかった場合は、実行に 尋ねるようにした。 Thanks to Mohammed Waleed Kadous ・2000/02/25 Ver 2.5.0 - ディレクトリ構造とファイル名もキャッシュに保存することにより、 毎回 LIST コマンドを発行するのを抑制した。これにより処理速度が 大幅に向上しました。 注意!今バージョンのキャッシュファイルは以前のものと互換性が ありませんので、バージョンアップの際には以下のようにして キャッシュファイルを全て削除しておいてください。 % rm ~/.weex/weex.cache.* - FTP コマンドの引数に絶対パスを用いることにより、CWD コマンドの 発行を抑制した。これにより処理速度が大幅に向上しました。 - 「SupportFor@Nifty」パラメータを排除しました。設定ファイルから 削除しておいてください。このパラメータがなくても問題なく 動作するような実装に変更してあります。 - 複数のホストを指定したときには「接続」メッセージの前に「処理中」 メッセージを表示するようにした。 - DestDir で指定されたディレクトリが存在しなかった場合、作成 するようにした。 - 普通に ls しただけでは隠しファイル (ドットで始まるファイル) が 表示されない FTP サーバで隠しファイルを認識させるためのパラメータ 「ShowHiddenFile」を追加。 - ローカルファイルのアクセスパーミッションをリモートファイルに コピーするディレクトリを指定するパラメータ「PreservePermissionDir」 を追加。 - キャッシュを再構築するオプション「--rebuild-cache」を追加。キャッシュ ファイルが壊れてしまったら、このオプションで再構築しましょう。 - FTP サーバとのやりとりを表示するオプション「--debug-ftplib」を追加。 - de.po を更新。 Thanks to Christian Ullrich ・2000/01/09 Ver 2.3.0 - 設定ファイルにおいて、セクションを定義する前にパラメータがあると クラッシュするバグをフィクス。 - 実際にはリモートファイル/ディレクトリの変更を行わない「--test」 オプションを追加。 - ファイル名に空白を含んだファイルを処理すると、キャッシュファイルが おかしくなるバグをフィクス。 - ディレクトリを変更するときには、そのディレクトリ名の最後にスラッシュを 付けないようにした。どうもスラッシュがあると cd できないサーバが あるようで。 - ls したとき、グループ名を表示せずにオーナ名しか表示してくれない サーバに対応。 - パラメータ「FtpPassive」により PASV モードが使えない FTP サーバでは PORT モードを使用することが可能になった。 - de.po を更新。 Thanks to Christian Ullrich ・1999/12/20 Ver 2.2.0 - 「SrcDir」と「DestDir」以外のファイルおよびディレクトリの指定を 相対パスでも設定できるようにした。 - ローカルにファイルがなくてもリモートファイルを削除しないディレクトリを 「KeepRemoteDir」で設定できるようにした。 - Geocities に対応。自動判別します。 ・1999/12/11 Ver 2.1.2 - まだシンボリックリンク周りの処理がおかしかったのをフィクス。 今度こそ直ったはず。 Thanks to Christian Ullrich ・1999/12/10 Ver 2.1.1 - de.po を更新。 Thanks to Christian Ullrich - メッセージをちょこっと変更。 - シンボリックリンクの処理をミスっていたのを修正。 明らかに間違ってたんですけど動いてました?(^^; ・1999/12/09 Ver 2.1.0 - de.po を更新。 Thanks to Christian Ullrich - Solaris 対応。 - ファイル名に空白を含んだファイルも正常に処理できるようにした。 - 設定ファイルのパラメータ名「LsAtNifty」を「SupportFor@Nifty」に 変更した。ご迷惑をおかけしますが、以下のようにコマンドを入力して 変更しておいてください。 % cd ~/.weex % mv weexrc weexrc.old % sed -e "s/LsAtNifty/SupportFor@Nifty/" < weexrc.old > weexrc - ちょっとしたエラーが発生しても処理を継続するようにした。 - ファイルの転送に失敗したとき、再試行するようにした。 再試行の回数は「MaxRetryToSend」で指定できます。 - ログ記録機能が付きました。cron で自動運転したり、バックグラウンドで 動作させるときに役に立つでしょう。 私は寝る前に、 % pon; sleep 10; weex 1 &; weex 2 &; weex 3 &; wait; poff; sleep 10; halt などとコマンドを実行するようにしています (スクリプトを書いておけば さらに楽ちん)。アップロードする FTP サイトがそれぞれ異なっているなら、 単に「weex 1 2 3」とやるより早く処理が終了します。 きちんと排他処理をやっているので weex を同時に複数実行しても ログファイルが壊れることはないはずです。 ・1999/11/29 Ver 2.0.7 - Windows_NT タイプのリモートサーバに対応。 - リモートのファイルリストを保存するテンポラリファイルの名前を tempnam() で作成するようにした。 これにより 1 人のユーザが複数の weex を同時に動かせるようになった。 ・1999/11/25 Ver 2.0.6 - ドキュメントを若干変更。少しは曖昧さが取れたでしょうか? その際に文章の書き方を「Debian JP 文書作成の指針」に従うようにした。 - config.c の set_default() を書き直した。かなりマシになったかも。 - 以下は FreeBSD 対策です。 Thanks to Julian C. Dunn regex.h より gnuregex.h を優先するようにした。 - 定数マクロ「PATH_MAX」が定義されていないときは 512 と定義するようにした。 - sscanf() で「%as」を使うと FreeBSD でコンパイルしたときに warning が出るので sscanf() の代わりに strtok() を使うように変更した。 - 進捗状況で常に 0 が表示されてしまうバグをフィクス。off_t を 32bit と 仮定していたけど、FreeBSD だと 64bit なんですね。 ・1999/11/14 Ver 2.0.5a - de.po を更新。 Thanks to Christian Ullrich ・1999/11/13 Ver 2.0.5 - リモート側のディレクトリエントリの最初にあるファイル(またはディレクトリ)が 無視されてしまい、そのファイルが転送されなかったり、「ディレクトリ `hoge' が作成できません。」などとエラーが出たりするバグをフィクス。 - デバッグ機能を追加。weex 実行時に多量のデバッグ出力を吐き出します。 「./configure --enable-debug」としてコンパイルすることにより有効になります。 ・1999/11/10 Ver 2.0.4 - いくつかのメモリリークを修正。 - シンボリックリンクを若干サポートした。ローカル側は正しく動作するはずです。 Thanks to seagull - 20MB 以上のサイズのファイルを転送すると進捗状況がおかしくなる バグをフィクス。 ・1999/11/08 Ver 2.0.3a - ドイツ語翻訳 (de.po) を添付。 Thanks to Christian Ullrich ・1999/11/07 Ver 2.0.3 - 配列の添字を指定し忘れていて、配列の先頭へのポインタになっていました。 Ver 2.0.2 でエンバグさせちゃってたみたいです。 そのせいでいくつかの FTP サーバでまったく使用できなくなっていました。ごめん。 ・1999/11/07 Ver 2.0.2 - ローカル変数 `put_config_flag' が初期化されていなかったバグを修正。 - いくつかのメモリリークを修正。 - @Nifty をサポート。Thanks to seagull ・1999/11/06 Ver 2.0.1a - 1つの FTP アカウントで複数の web サイトを維持するテクニックの設定例を sample.weexrc に追加。巨大なページを複数人で管理している場合には かなり有効かも。 ・1999/11/06 Ver 2.0.1 - 設定ファイルの読み込み権限が所有者に与えられていなかった場合にも 警告メッセージを表示するようにした。どうせ読み込む時にエラーで はじかれるんだから一緒だけど。 - ChangePermissionDir が設定されていて ChangePermission が設定されていない ときにはエラーで落とすようにした。 - DestDir や SrcDir にルートディレクトリ("/")を設定している場合に ディレクトリの移動に失敗するバグをフィクス。やや大きめの修正になって しまったのでエンバグしてたらごめんなさい。 ・1999/11/04 Ver 2.0.0 - 進捗状況が 100% に達しても、転送が完全に終了するまでは表示を 消さないようにした。 - 設定ファイルがなくても -h オプションを指定した時には usage を 表示するようにした。 - いくつかのメッセージを変更。 - 設定ファイルのパーミッションが 600 以外だった場合には警告メッセージを 表示するようにしていたが、下2つが 00 だったら警告しないようにした。 - パスワードが設定されていなかったとき、セグメント違反で落ちるバグを フィクス。 - 上書きが不可能な FTP サーバのための設定、「OverwriteImpossible=True」を 「OverwriteOK=False」に変更。パラメータの意味を正反対にしました。 英語の2重否定はわかりにくいらしいです。 - リモートマシンの時計が遅れていると、ファイルが更新されていなくても そのファイルが転送されてしまうバグをフィクス。 - 設定ファイルが正常に読み込まれているかどうかを調べるための オプション -d を追加。 - Chris X Edwards さんに man ページをアップデート していただきました。さらに README も校正してもらいました。 彼からは他にも多数の提案とバグレポートを頂きました。ありがとう! ・1999/10/29 Ver 1.9.9 - 最初から書き直した。変更点極めて多数。 - 名称を「weex」に変更。設定ファイルやディレクトリ名なんかが変わりました。 設定ファイルも大幅に変更になったので、ドキュメントを読んで再設定を 行ってください。 ・1999/10/07 Ver 1.7.3a - Chris X Edwards さんに作っていただいた man ページを 添付しました。 ・1999/09/27 Ver 1.7.3 - 表示メッセージを若干変更。 ・1999/09/24 Ver 1.7.2 - キャッシュファイルを各ホスト毎に分けるようにした。 ・1999/09/12 Ver 1.7.1 - ライセンス上の問題が回避されたので、コマンドラインオプションの 解析を shhopt で行うように変更する。 - 「-V | --version」オプションを追加。 ・1999/08/13 Ver 1.7.0 - 名称を変更。 設定ファイルやディレクトリ名なんかが「*iwe*」から「*fwe*」に 変わりました。名前だけですのでお手数をお掛けしますが変更しておいてください。 - init_config() を若干書き直し。C プログラミング診断室に放り込まれそうな ほど汚いな・・・。 - まいとう情報通信研究会 (http://www.maitou.gr.jp/) の伊藤さんの 作成されたパッチを取り込みました。以下はこのパッチによる変更点です。 - STOR 開始時に Permission error (1以外) となった場合、 データ転送用コネクションは確立されていないにも関わらず、 データ転送用コネクションを終了しようとしてデッドロック してしまうバグを FtpClose2 を作成して改善。 ('~' 等の特定の文字がつくファイル名をアップロード しようとすると Permission error となる ftpd に対し有効) - 設定ファイルで指定したディレクトリ内のファイルの パーミッションを 777 にできる機能を追加。 (ftplib.c に好きな値に chmod できる関数を追加。 fwe.c 側で 777 に固定。設定ファイルでは、 [ExecDir_*] 属性によりパスを指定できるよう機能追加) - ファイルを上書できないような設定になっていて 既に存在するファイルは一旦削除してからでないと 新たに STOR できない ftpd に対応。 この機能を有効にするには設定ファイル中の [CantOverwrite_*] 属性を を「True」にします。 - 設定ファイルの「AsciiExt」と「DontUpExt」において、以前は 複数のピリオドが存在する拡張子を処理できませんでしたが、これが 修正され、「.tar.gz」などという指定が可能になりました。 ファイル名を後ろから見て行って全て一致すれば「該当」と判定するので (説明が分かりにくいね。fwe.c の is_dontupext() を見れば一目瞭然です)、 拡張子という概念自体がなくなりました。「hoge」と設定しておけば 「hogehoge.hoge」も「hogehogehoge」も該当します。前者だけ該当させる ためには「.hoge」と設定すれば ok です。 ・1999/08/08 Ver 1.6.4 - コマンドラインオプションの解析に shhopt を使っていたのを ioptparse に変更。 ・1999/07/19 Ver 1.6.3 - usage の表示を若干変更。 ・1999/07/09 Ver 1.6.2 - 「configure --disable-nls」でNLSを無効にする、あるいは最初から NLS が 有効でないマシンだとコンパイルが途中で止まってしまうバグをフィクス。 ・1999/07/07 Ver 1.6.1 - ホスト番号の引数処理が間違っていたのを修正。「iwe 1 2 3」と実行すると 全て最初に指定したホスト番号が転送されていた(「iwe 1 1 1」と同じ)。 ・1999/06/29 Ver 1.6.0a - ドキュメントを分割。コードに変更はありません。 ・1999/06/11 Ver 1.6.0 - 設定ファイルを「~/.iwerc」の他に「~/.iwe/iwerc」も読みに行くようにした。 - 起動時にディレクトリ「~/.iwe/」を作成するように。 - 設定ファイルから「ListTemp」の項目を削除。 - キャッシュ機能搭載。ファイル数が多い場合は以前に比べてかなり高速に なりました。 ・1999/06/09 Ver 1.5.0 - コマンドラインオプションの解析に shhopt ライブラリを使用するようにした。 - タイムスタンプが 1970 年代なファイルを正常に転送できなかったバグをフィクス。 UNIX の場合はふつ〜にコーディングしてれば 2000 年問題は起こらないのですが、 なぜか無理矢理かつ無意味に 2000 年問題を回避するようにコーディングしてあって、 そのせいで逆にバグってたみたい。 - 設定ファイルの解析に Inchiki Configuration File Parse Library 2.0.1 を 用いるように変更。コメント開始文字が '#' になりましたので設定ファイル中の ';' を '#' に変更してください。しょっちゅう変わってすまぬ。 - 英文ドキュメントの更新を放棄。読むのはいいけど、書くのはたまらんっす。 ・1999/05/21 Ver 1.4.0 - 世界標準の呪文に対応(笑)。すなわち autoconf,automake,gettext 化。 - 色を変更した際にそれを戻す時に白色に変更しておいたのですが、 よく考えると世の中には背景が白で文字が黒な人もいるわけで・・・。 というわけで文字色を戻すときにはシステム規定色を採用。 ・1999/04/13 Ver 1.3.2 - 設定ファイルにエラーがあってもそのまま処理を継続してしまうバグを フィクス。 ・1999/04/05 Ver 1.3.1 - ソースコードのモジュール化を進めた。これで少しは読みやすくなったはず。 - エラーメッセージを標準エラー出力に出力するように変更。 ・1999/04/03 Ver 1.3.0 - Inchiki Configuration File Reading Library を用いて設定ファイルを 読み込むように変更。これにより設定ファイルが記述しやすくなり、 そして多くの制限が撤廃された。 以前のバージョンと設定ファイルの互換性が失われているのでバージョンアップ する方は留意してください。 - 1つのディレクトリで処理できるファイル数のデフォルトを 100 としていたのを 500 に変更。 ・1999/03/16 Ver 1.2.0 - ハードコーディングによる地域化を中止し、NLS メッセージカタログを使用した 国際化に変更。これで日本語・英語以外の言語も簡単に使用できるように なりました。それにともない強制日本語・英語表示オプションを廃止。 - 去年以前のリモートファイルを読ませるとファイル名を正常に取得できず 誤動作するバグをフィクス(なんて致命的な・・・)。 - バージョン表記を UNIX 準拠に(^^; ・1999/02/14 Ver 1.11 - 英語版ドキュメントを添付。 - いくつかのメッセージを修正。 ・1999/02/13 Ver 1.10 - コマンドラインオプションが利用可能になった。 - 日本語と英語を、オプション「-e」と「-j」を用いて選択、表示できるように なった。デフォルトは環境変数 LANG を見て決めている。 - 強制転送オプション「-f」を追加。黙って実行するオプション「-s」を追加。 - ついにドキュメントを付けた。 ・1999/02/12 Ver 1.00 - 初公開。私の欲しかった機能は全て搭載してある。