注: Poderosaの開発が、SourceForge.Netにてkzmiさんにより再開されています。
以下に挙げられている問題はPoderosa 4.3.1b 以降ではすべて修正済みです。
他にも様々な修正が行われていますので、このページで公開されているバイナリではなく、4.3系を使う事をお勧めします。
個人的に作成したPoderosaのパッチです。
すべてPodrosa 4.1.0のソースに対するパッチになっています。
現在、以下のパッチがあります。
すべてのパッチが適用されたバイナリです。そのまま適当なフォルダに展開して実行できます。
パッチ適用済みソースは以下の開発ツールでビルド出来る事を確認しています。
バイナリはVisual Studio 2005 Professional Editionでビルドしています。
以下のssh2共通鍵暗号形式のサポートを追加するパッチです。
poderosa-4.1.0-aesctr-pl3.diff
公開されているオリジナルのソースにはポートフォワーディングツールのアイコンが含まれていません。
ビルドする為には、別途ポートフォワーディングツールのアイコンを用意する必要があります。
プラグインも含めて一通り揃っていますので、このバイナリだけで実行できます。
インストーラはありませんので、適当なフォルダに手動で展開して使ってください。
Poderosaのシリアルポートプラグインは、System.IO.Ports.SerialPort.GetPortNames()を使用してシリアルポートのリストを取得し、最大のシリアルポート番号を確認しています。
しかしSystem.IO.Ports.SerialPort.GetPortNames()のバグ?で、得たシリアルポートのリストにゴミが含まれている事があり、その場合Poderosaは最大のシリアルポート番号を正しく認識できなくなります。
このパッチはそのような時でもゴミのデータを無視して、最大のシリアルポート番号を正しく認識できるようにする為の物です。
シリアルポートプラグインのみです。
別途Poderosa 4.1.0本体、またはAES-CTR対応版が必要です。
vi等の一部のアプリケーションでは、起動時に画面表示内容を保存し、終了時に画面表示内容を起動時の状態に復元します[1]。
この画面表示内容の保存/復元を行う為のターミナルエミュレータの機能をAlternate Screen Bufferと呼びます。
Poderosaでは基本的なAlternate Screen Buffer切り替えシーケンス(DECSET/DECRSTの47)には対応しています。
しかし、拡張Alternate Screen Buffer切り替えシーケンス(DECSET/DECRSTの1047-1049)は単純に無視しています。
このパッチはこの拡張Alternate Screen Buffer切り替えシーケンスに対応する為の物です。
ターミナルエミュレータモジュールのみ含まれています。TerminalEmulator/下のファイルを置き換えて使用してください。
別途Poderosa 4.1.0本体、またはAES-CTR対応版が必要です。
PoderosaでCygwin接続した場合、エンコーディングの初期設定が常にshift-jis(日本語環境の場合)になります。
しかしUTF-8 CygwinやCygwin 1.7を使っている場合、エンコーディングの初期設定はUTF-8の方が使いやすいでしょう。
このパッチを適用すると、Cygwin接続時のエンコーディングの初期設定をUTF-8にする事ができるようになります。
このパッチを適用しても、デフォルトの設定ではエンコーディングはshift-jisのままです。
UTF-8 Cygwinを使っている場合は、詳細プリファレンスエディタでorg.poderosa.terminalsessions.useUTF8CygwinをTrueに設定する必要があります。
ターミナルセッションモジュールのみ含まれています。TerminalSession/下のファイルを置き換えて使用してください。
別途Poderosa 4.1.0本体、またはAES-CTR対応版が必要です。
ホスト側から大量の出力があった時、たまに表示内容の一部が更新されないというバグがPoderosaにはあります。
このパッチを適用すると、問題があると思われる表示の一部分のみの更新を行わなず、常に全画面を更新するように設定できるようになります。
しかしこの機能を有効にすると表示内容の更新があった時に常に画面全体を更新する為、描画が多少重くなるという副作用があります。
このパッチを適用しただけでは描画ミス対策は有効になりません。
描画ミス対策を有効にするには、詳細プリファレンスエディタでorg.poderosa.core.window.alwaysFullInvalidateをTrueに設定する必要があります。
コアモジュールのみ含まれています。Core/下のファイルを置き換えて使用してください。
別途Poderosa 4.1.0本体、またはAES-CTR対応版が必要です。
Poderosa の Cygwin 接続にある以下の問題の対策パッチです。
PoderosaではCygwin接続にCygTermを利用しています[1]。
CygTermはCygwinアプリケーションなので、PATHにcygwin1.dllがあるディレクトリが含まれていないと起動できません。
そこでPoderosaでは、cygwin1.dllがあると思われるディレクトリをPATHに追加してから CygTerm を起動します。
しかし、この処理に使っているバッファを1024バイト固定で取っている為、PATHの長さが1024バイト以上あると、以下のようなエラーメッセージを表示してCygTermが起動できなくなります。
このパッチは、PATHの長さが1024バイト以上の時でもCygwin接続を行えるようにする為の物です。
前述のように、Poderosa は CygTerm を起動する時に cygwin1.dll があると思われるディレクトリを PATH に追加しようとします。
この時 cygwin1.dll のあるディレクトリをレジストリのマウント情報から得ようとしますが、Cygwin 1.7 よりこのレジストリの情報は使われなくなりました。
この為 Cygwin 1.7 のみを入れた環境では Poderosa は cygwin1.dll のある場所を正しく検出出来ず、以下のようなエラーメッセージを表示して Cygwin 接続を開始出来なくなってしまいます。
このパッチは、Cygwin 1.5 の時に使われたマウント情報の他に、Cygwin 1.7 のインストーラが使うレジストリ情報から cygwin1.dll のあるディレクトリを検出し、Cygwin 接続が行えるようにする為の物です。
プロトコルモジュールのみ含まれています。Protocols/直下のファイル(Cygtermディレクトリ以外)を置き換えて使用してください。
別途Poderosa 4.1.0本体、またはAES-CTR対応版が必要です。
オリジナルのPoderosa 4.1.0とAES-CTR対応版とで別のバイナリになっていますので、注意して下さい。
いわもと こういち
# なるようになれ、明日もイケイケ♪