OpenBSD版ApacheとオリジナルApacheの違い
OpenBSDはApache 1.3をfork()してディストリビューション標準添付のhttpdにしている。
勿論セキュリティの為に色々改造してあるのだけれども、実際どこをどれくらい変えてるんだろうと思ってdiffを取ってみた。
# httpd -v Server version: Apache/1.3.29 (Unix) # wget http://archive.apache.org/dist/httpd/apache_1.3.29.tar.gz # tar -xvzf apache_1.3.29.tar.gz # diff -x CVS -Nurbw apache_1.3.29/src/ /usr/src/usr.sbin/httpd/src/ > httpd.diff # wc -l httpd.diff 112828 httpd.diff
Wow.
まじデケぇ。
という訳で解読は皆様にお任せするが、chroot関係のコードが追加されてる事は"chroot"で検索かけてみたら簡単に確認出来た。
http://syuu.dokukino.com/httpd.diff
追記
ちなみに、OpenBSDへ最適化してしまっているのでポータビリティが無くなっている。
これを再び色々なOSで動かすにはOpenSSHみたいにコンパチビリティレイヤを入れるか、元のコードに戻さないとダメぽ。