これらの差分ファイルは、標準的な SSH サーバである OpenSSH のうち、安定版の OpenSSH 及び 開発版の OpenSSH において、一部 bug fix を行い、 Debian noroot 環境において正常に動作させる為の差分ファイルです。
これらの差分ファイルでは、 Android OS 5.0 以降 における Debian noroot 環境において、擬似端末デバイスファイルである /dev/pts/*
の所有権及び権限の変更が出来ない制約を回避し、また、システムコール link(2)
の実行を回避しています。
OpenSSH のソースコードに差分ファイルを適用するには、安定版の OpenSSH には、差分ファイル openssh-x.ypz-fix.diff (ここに、 x.y は安定版のバージョン番号であり、 pz はパッチレベル番号)
を、開発版の OpenSSH には、差分ファイル openssh-HEAD-xxxxxxxx-fix.diff (ここに、 xxxxxxxx は、HEAD の commit ID 番号)
をそれぞれ適用して下さい。
例えば、安定版の OpenSSH のソースコードに openssh-x.ypz-fix.diff
を適用するには、安定版の OpenSSH のソースコードが置かれているディレクトリより、以下のようにして差分ファイル openssh-x.y-fix.diff
を適用します。
$ patch -p1 < /path/to/openssh-x.ypz-fix.diff
(ここに、/path/to/diff は、 openssh-x.ypz-fix.diff が置かれたディレクトリのパス名)
そして、 開発版の OpenSSH のソースコードに dropbear-HEAD-xxxxxxxx.diff
を適用するには、 開発版の OpenSSH のソースコードが置かれているディレクトリより、以下のようにして差分ファイル dropbear-HEAD-xxxxxxxx.diff
を適用します。
$ patch -p1 < /path/to/openssh-HEAD-xxxxxxxx.diff
(ここに、/path/to/diff は、 openssh-HEAD-xxxxxxxx.diff が置かれたディレクトリのパス名)
なお、これらの差分ファイルを適用した OpenSSH のソースコードを Debian noroot 環境においてコンパイルするには、./configure
コマンドの実行時に以下のようにして、環境変数 CFLAGS
に -DDEBIAN_NOROOT
を設定する必要があります。
$ CFLAGS="-DDEBIAN_NOROOT" ./configure --prefix=... # (以下、適宜オプションを設定すること。)
なお、これらの差分ファイルの作成に当たっては、 termux の開発コミュニティ による差分ファイルを参考にしました。 termux の開発コミュニティの皆様には心より感謝致します。
本差分ファイルは標準的な SSH サーバである OpenSSH に適用する差分ファイルであり、 Z.OOL. (mailto:zool@zool.jpn.org) が著作権を有します。
従って、本差分ファイルは OpenSSH のライセンスと同様である BSD License に基づいて配布されるものとします。詳細については、本リポジトリに同梱する LICENSE
を参照して下さい。