|
HOME > Linux Tips ( 目次 ) > Linux コマンド 一覧表 > z > zebedee - コマンド (プログラム) の説明 zebedee - コマンド (プログラム) の説明 - Linux コマンド集 一覧表NAMEZebedee --- シンプルでフリーでセキュアなトンネルプログラム 書式
DESCRIPTIONZebedee は2つのシステム間で、 暗号化され、圧縮されたTCP/IPまたはUDPの(L"トンネル(R"を確立する単純なプログラムである。 これは、低帯域のネットワーク上でのパフォーマンスを圧縮により向上するだけでなく、 telnet , ftp や X などの -1TCP0 ベースの トラフィックを盗聴から防御することも可能にする。 また、暗号化の有無にかかわらずデータ圧縮を使用することで、 遅いネットワークで良好なパフォーマンスを得ることも可能である。 Zebedee
の主な目的は:
もちろん、Zebedee は初めてのあるいは唯一の利用可能な セキュアなトンネルプログラムではない。 高機能という面では ssh や -1SSL0 などとは比べ物にもならないが、 もし、素早く、単純で、完全にフリー なものを求め ているなら、これはピッタリのツールだろう。 この文書は Zebedee
リリース 2.0.0 の機能について記している.
あなたが疑問を持とうが持つまいが、Zebedee
は次の 3つの主要なコンポー
ネントから命名された。
これでわかったよね? ローカルマシンとリモートホストを安全に接続するには、 まずリモートホストの方で、Zebedee をサーバーモードで起動する必要がある。 一番簡単な方法は、-s オプションを使うことだ。 zebedee -s うまくいけば(いくはず!)Zebedee は 端末(windowsではコンソールウインドウ)から切り離されてバックグラウンドで走る。 そして、クライアントからの接続を待つ。 次にクライアントマシンでZebedee をクライアントモードで起動する。 この場合は、リモートホストのホスト名とトンネルすべきサービス名かポート番号 (ここではこれをターゲットポートと呼ぶことにする)を指定する。 例えば、リモートホストの名前が(C`remhost(C'で 安全なtelnet セッションを張りたいとしたら、こうなる。 zebedee remhost:telnet 実際には、ポートのデフォルトがtelnetなので このケースでは次のように省略してもよい。 zebedee remhost このコマンドを実行すると、 トンネルの入口になる(ローカル側の)ポートの番号が表示される。 Zebedee は端末から切り離されてバックグラウンドで走り、 このローカル側のポートに接続されるのを待つ。 例えば、1234と表示されたら、 telnet localhost 1234 とすれば、(C`remhost(C'に安全なトンネル経由で接続される。 デフォルトでは、Zebedee はプロセスを終了させるまで接続を待ち続けて、 必要があれば同時発生する複数のコネクションを処理する。 時には、Zebedee を起動し、 その後すぐにそのポートに接続するコマンドを起動したいこともあるだろう。 これを一発でやるには次のようにする。 zebedee -e "telnet localhost %d" remhost 文字列中の"%d"がローカルポート番号と置き換えられる。従って、 Zebedee はポート番号を表示しない(する必要がない)。 このようにコマンドを指定した場合には、そのコマンドが接続を終了すると同時に、 ローカル側のZebedee クライアントも終了する。 クライアントが使用するローカルポート番号を指定したい(する必要がある)こともあるだろう。 (保護したい通信を行なう)コマンドが、特定のポートに接続しようとする場合だ。 この場合は、Zebedee を次のように起動することで、 ローカルポートを指定することもできる。 zebedee clientport:hostname:targetport 例えば、次のコマンド: zebedee 8000:webhost:80 は、クライアントの8000番ポート経由で接続する、 webhost への全てのHTTP接続を保護する。 詳細は-1EXAMPLES0参照のこと。 また、Zebedee クライアントは 同一ホスト内の複数のターゲットポートに対して、 複数のトンネルを(同時並行的に)扱うこともできる。 この場合は、ローカルとリモートのポートの指定はポート番号のリストになる。 例えば zebedee 9001,9002,9003:somehost:daytime,telnet,ftp これは、9001番のクライアントポートへの通信を、 リモートのターゲットシステムのdaytime ポートへとトンネルする。 同様に、9002番はtelnet ポートへ、9003番はftp ポートへトンネルする。 詳細は clientport と targetport を参照のこと。 Zebedee はもともとは -1TCP/IP0 のトラフィックだけを扱うように設計されたが、 バージョン2.0.0からはコネクションレスのUDPのデータも扱えるようになった。 この機能を有効にするにはZebedee を -u オプション付きで起動する (または、udpmode キーワードを使用する)。 例えばサーバ側で zebedee -s -u クライアント側で zebedee -u 10000:somehost:echo を実行する。なお、ひとつのクライアントとサーバは、TCPかUDPのどちらかを扱い、 両方同時に扱うことはできない。両方のタイプをトンネルするには、 2つの独立したインスタンスを起動する。 TCPモードとUDPモードのサーバは違うポートを使うので、 両者を同じシステムで起動することは安全である。 UDPモードでもZebedee のクライアントとサーバ間のトンネルはTCP/IPで接続する。 この接続は無通信が一定時間続くとタイムアウトする。 タイムアウトしてからさらにデータが来るとトンネルの再接続を行う必要があるので、 アプリケーションの特性によっては UDPモードのパフォーマンスがよくないように見えることもある。 また、扱えるUDPダイアグラムのサイズにも制限があることにも注意すること。 詳細は、maxbufsize 、 udpmode 、 udptimeout を参照のこと。 通常は、Zebedee を使用する場合、関係するシステムは2つである。 片方でクライアントを起動して、ローカルポートでそれと通信する。 反対側ではサーバを起動して、そのシステムで動作しているサービスと会話する。 しかしながら、次のように最大4つのシステム(マシン)が関係するケースもありえる。 [ソース] <===> [クライアント] <=====> [サーバ] <===> [ターゲット] | | | +- 安全でない | + 安全でない 接続 | 接続 +- 安全なトンネル Zebedee のクライアントは「クライアント」システムで、 サーバは「サーバ」システムでそれぞれ動作している。 トンネル設定の契機となる最初の接続は「ソース」マシンから発生する。 「ソース」と「クライアント」は違うシステムであってもかまわないが、 通常は同一のシステムである。 サーバは最後に「ターゲット」システムと通信する。 ターゲットも普通はソースと同じマシンになるが、違うマシンであっても全く問題はない。 ほとんどの場合、「ソース」と「クライアント」、 「サーバ」と「ターゲット」の違いを気にする必要はない。 しかし、この用語の区別が以下に述べるキーワードに多く反映している。 キーワードの説明を読む時には、このことを頭に入れておいたほうがいいだろう。 Zebedee のトンネルに関係するこの4つシステムの問題と別に、 安全に接続するために、いくつかの全く違うタイプの「キー(key)」が使われる。 クライアントとサーバはprivate key (秘密鍵)という値を必要とする (自分で生成する場合もある)。 このキーからは、public values が計算され交換され、 それによりshared secret key が導き出される (この時にDiffie-Hellman key agreement mechanism が使用される)。 このキーからは、接続のたびにユニークなsession key が導き出され、 最終的にこのキーで暗号化が行なわれる。 Zebedee の動作をコントロールするには、 設定ファイルを使うのがおそらく一番よい。設定ファイルを指定するには コマンドラインオプションで -f を使う。ファイルは(-f )オプションの位 置で処理される。従って、それ以降のコマンドラインオプションでファイルの内 容を上書きすることができる。 行の形式は以下のとおり。 key value # optional comment key はひとつの単語であり大文字小文字は無視される。value は単語か文字 列かどちらかである。 文字列はダブルクォート("こんな風に")かシングルクォート ('こんな風に')でくくられる。ダブルクォート " の中に シングルクォート ' があってもよいし("here's an example")、その逆も言える。 value では大文字小文字の違いは区別される。 空白行と"(C`#(C'(L"ではじまる行(その前に空白があっても同じ)は無視される。 長い文字列は (R"(C`\(C'"で次の行に継続することもできる。 この文字は除去され、次の行がこの行に接続される。 1行の長さは継続行も含め 1024 文字に制限されていることに注意。 行の接続はコメントの認識を含めすべての処理に先だって行われる。 そのため以下の例 server false # This comment continues on the next line \ server true では、server の値は false になる。 キーワードとその意味は以下に述べる。 ほとんどのキーワードは対応するコマンドラインオプションがあるが、 なかには対応するオプションがないものもある。 対応するコマンドラインオプションがあるものについてはそれも併記してある。 逆に、コマンドラインオプションの中には 設定ファイル内のキーワードに対応するものがないものもある。 それらはこのセクションの最後に述べる。 キーワードが真偽値(boolean)と書かれていたら、 その値は"true (L" または (R"false "でなければならない。 キーワードの中にはポートのリストを指定するものがある。 この場合は、ポート名(サービス名)、ポート番号、番号の範囲を コンマか空白で区切ったものを指定する。 例えば、"(C`telnet, ftp 5900-5903(C'(L"は (R"(C`23,21,5900,5901,5902,5903(C'"と等しい。 また、クライアントだけに指定するキーワードもあるし、
サーバだけに指定するキーワードもある。
ひとつの Zebedee
プログラムはサーバかクライアントかどちらかひとつの機能を実行し、
その時の用途と違う用途向けのオプションは無視する。
エラーメッセージも表示しない。
サーバになるかクライアントになるかは、
server
キーワードで決まる。
クライアント専用キーワード(Client-Only Keywords) 以下のキーワードはクライアントだけに適用される。
サーバ専用キーワード(Server-Only Keywords) 以下のキーワードはサーバとして動作する時に適用する。
圧縮と暗号化関連のキーワード(Compression and Encryption Keywords) 以下のキーワードは、トンネル内を流れるデータの圧縮と暗号化を制御する。
これらは、クライアントとサーバどちらでも使用される。
様々なキーワード(Miscellaneous Keywords) 以下のキーワードはクライアントにもサーバにも等しく適用される。
その他のオプション(Other Options) 設定ファイルに対応するものを持たないコマンドオプション
がいくつかあるので、それについてここで説明する。
もし、同一の素数と原始根と秘密鍵が用いられるなら、それらは Diffie-Hellman の鍵交換プロトコルのために、常に同じ公開鍵を生成するだろう。 もし、あなたが(設定ファイルのprivatekey キーワードにて設定された) 固定された秘密鍵を用いるなら、 Zebedee は素数と原始根と秘密鍵の値の全てをハッシュして (L"fingerprint (指紋)(R" を生成することができる。 これは、-P オプションにより行われる。 例えば、server.key ファイルが次の値 privatekey "1e34d6769502bae1087c18d2e8c8776e4a17ddaf" であるとき、 次のコマンド $ zebedee -P -f server.key > server.id を実行すると、 このような出力 135f04050961d37553731250d5c6f7495f088b32 myhostname が得られる。 この最初の16進数が (L"fingerprint (指紋)(R" である。 行中の他の文字列は、このアイデンティティの所有者を表すコメントである。 デフォルトでは、これはアイデンティティが生成されたマシンのホスト名である。 設定ファイルにおいて
checkidfile
キーワードが設定された場合、その値は
(L"fingerprint (指紋)(R" 行を記述したファイルのファイル名である。 もし、接続
先のアイデンティティがファイル中のいかなる値とも一致しない場合、
接続は切断される。
トラブルシューティング(TROUBLESHOOTING)Zebedee は「箱から出してすぐそのまま」動くべきだが、あなたはトラブル にあうかもしれない。ほとんどのトラブルは接続の確立時に起こる (接続さえうまくいけば、データ転送はスムーズにいくことが多い)。 (接続の)セットアップの手順に何が起こっているか簡単に見るには-v オプションを 使えばよい。-d -D もいっしょに使って、Zebedee を端末から終了でき るようにして、一度に一つの接続しか処理しないようにしたほうがい いかもしれない。だから、こんな感じになるだろう。 zebedee -dD -v 3 -s ロギングレベルを3に設定することで、 接続のセットアップの主なやりとりを見ることができる。 問題がその後に起きてると確信が持てるならば、 レベルを4か5にすれば、 (接続時だけでなく)実際の通信で何がやりとりされているかも見ることができる。 EXAMPLESZebedee のパッケージには、たくさんのサンプルの設定ファイルが含まれている。 ここでは、それらの使用法と Zebedee を 特定のいくつかのプロトコルで使用する具体的な方法を述べる。 Zebedee のパッケージに含まれる server.zbd という設定ファイルがある。 これにはよく使われるほとんどのオプションの設定例がある。 # # Sample Zebedee server configuration file # # This shows the use of many, but not all, of the configuration file # options available for use by a server. # verbosity 2 # Slightly more than basic messages server true # Yes, it's a server! detached true # Run detached from terminal udpmode false # Are we operating in UDP mode? # Uncomment the following line to log messages to a file # # logfile './server.log' # # Or to log to the system logging facility uncomment this: # # logfile SYSLOG # Uncomment the following line if you want to use a fixed private # key stored in a static file. The file should contain a line of # the form "privatekey hexadecimal-key-string" # # include './server.key' keygenlevel 2 # Generate maximum strength private keys # To validate the identity of clients uncomment the following # line: # # checkidfile './clients.id' # Set up allowed redirection ports. # These should be pretty safe -- but it's not a good idea # to open up all ports. redirect "telnet ftp" # Basic services redirect 5900-5999 # VNC traffic redirect 6000-6010 # X Window System redirect "daytime chargen" # Ports useful for testing targethost localhost # Redirection is to the local machine compression zlib:9 # Allow maximum zlib compression keylength 256 # Allow keys up to 256 bits keylifetime 36000 # Shared keys last 10 hours maxbufsize 16383 # Allow maximum possible buffer size 認証の機能をテストするためには、 checkidfile の行をコメントアウトし、 パッケージに含まれるclient1.key かclient2.key というファイルをクライアント側で使用すればよい。 Zebedee を作った理由の一つとして、ダイアルアップでVNCを使うということがある。 VNCは「リモートフレームバッファコンセプト」を使い、 リモートディスプレイを提供するフリーのシステムである。 Windowsのデスクトップを離れた所に表示することもできるし、 (L"Xvnc(R"サーバを使って X のデスクトップを VNCクライアントマシンから操作することもできるし、 Javaを使えるブラウザーの中から操作することもできる。 詳しくはhttp://www.uk.research.att.com/vnc/を参照のこと。 提供されるサーバの設定例であるserver.zbd は 5900-5999 ポートを リダイレクトしてVNCセッションをトンネリングする。 このファイルはUNIXでもWindowsでも使用できるが、 Windowsで使うためには、レジストリの(L"AllowLoopback(R"フラグを セットする必要があるので注意。 以下の断片を(先頭のスペースを取り除いてから)ファイルに保存して regedit に読ませれば、そのトリックを実行する。 REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3] "AllowLoopback"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3\Default] この内容は Zebedee パッケージの中の vncloopback.reg にも含まれている。 このレジストリを設定すれば、コマンドラインで与えられたホストにトンネリングされたVNC ビューワを vncviewer.zbd で起動することができる。 デフォルトでは、サーバの(WinVNCのデフォルトである)5900ポートにトンネルするが、 コマンドラインで指定して上書きすることもできる。 以下に vncviewer.zbd の内容を示す。 # # Zebedee configuration file to start up a tunnelled VNC session # # Usage: zebedee -f vncviewer.zbd remote-host[:vnc-port] # verbosity 1 # Basic messages only server false # It's a client detached true # Detach from terminal message "Starting VNC viewer on localhost:99" # On Windows systems you might use the following: command '"c:\Program Files\ORL\VNC\vncviewer.exe" localhost:99' # On UNIX systems you might use the following: # command 'vncviewer localhost:99' targetport 5900 # Remote VNC server on port 5900 unless overridden # by a value specified on the command-line clientport 5999 # Local connection on 5999 -- i.e. localhost:99 compression 6 # Request normal Zlib compression 以下のようにこのファイルを使用すると、 zebedee -f vncviewer.zbd somehost:5901 somehost の5901番ポートのVNCサーバにトンネルしたVNCビューワを起動する。 ビューワはローカルホストの5999番ポートに接続する。 VNCはJavaのビューワもサポートしている。 もしサーバがポート59xxで動作していたら、 ビューワを58xxからダウンロードすることができる。 しかしながら、 どうもJavaビューワはクライアントへのメインのVNCポート番号で通信しているようだ。 そのため、Javaビューワでこれをトンネルするには、 ローカルとリモートで同じポート番号を使う必要がある。 そのため、例えば、5901番のポートを使っているVNCサーバへのトラフィックを トンネルするには、次のようにする。 zebedee 5801,5901:remotehost:5801,5901 もしローカルマシンでも5901番ポートを使ったVNCサーバが動いていると、 これはうまくいかない。 しかし、ポートが衝突しないように両者を調整することは可能である。 もうひとつだけ言っておくことがある。 VNCをデータ圧縮とともに使おうとしているなら、 VNCのprotocol encodingに関して実験したほうがよい。 私は、(L"raw(R" encoding が圧縮の効果が高く、 遅い回線上ではよりよいパフォーマンスを示すことを発見した。 しかし、あなたの場合は違う結果となるかもしれない。 X Window Systemは6000番以上のポートを使う。 xlocal というローカルマシンのポート6000でX サーバが動作しているとする。 これは通常、xlocal:0 というディスプレイで使われているポートである。 そして、xremote という(リモート)マシンから、 ローカルのディスプレイに安全な xterm のセッションを送り返したいものとする。 これを行なうには、以下のコマンドを xlocal で実行する。 zebedee -r 6000 -s そして、xremote では zebedee 6001:xlocal:6000 を実行する。 このことは、xremote 上で、環境変数の-1DISPLAY0 が(C`localhost:1(C'に設定されていれば、 Xのトラフィックはxlocal に到着することを意味する。 そのため、例えばxterm を安全にxremote から送ろうとするなら、 xremote 上で次のコマンドを実行する必要がある。 xterm -display localhost:1 これが正しく動作するためには、 xremote のXサーバのアクセスコントロールリストにlocalhost のエントリーを 追加しなくてはならない。 これを行うには次のコマンドを実行する。 xhost +localhost Zebedee クライアントを(L"multi-use(R"モードで動作させることで、 全てのWebサーバへの通信を安全にすることができる。 もし、Webサーバが webhost のポート80で動作しており、 そのサーバマシンで Zebedee サーバも動作しているとしたら、 次のコマンドがローカルマシンの8000番ポート経由のトンネルを設定する。 zebedee 8000:webhost:80 will set up a tunnel via port 8000 on the client host. Now any URLs that previously were addressed via webhost , for example: http://webhost/private/index.html は、この状態では次のURLで安全にアクセスできる。 http://localhost:8000/private/index.html "(C`localhost:8000(C'"をあなたのプロキシーとして設定することで、 全てのHTTPのトラフィックを安全なトンネル経由にすることもできる。 しかし、注意すべきことは、HTTPのプロキシー設定以外にこの設定をしてはいけない。 Secure HTTPを含む他のプロトコルは他の方法でリダイレクトする必要がある。 ほとんどのブラウザは違うドメインに違うプロキシーを割りあてる設定も可能である。 そのため、必要なものだけ選んでガードすることもできる。 これを行なう方法についてはブラウザのマニュアルを参照されたし。 以下の手段で、 Zebedee を使い多くのFTPサーバへのFTPコントロールコネクション (ユーザ名とパスワードが送られるコネクション)を守ることができる。 さらに、Zebedee パッケージに含まれる ftpgw.tcl スクリプトによって、 パッシブモードのデータコネクションさえも守ることができる。 FTPサーバを扱う最も単純な方法は、以下のように Zebedee を起動することだ。 zebedee -s -r ftp ftpserverhost FTPサーバと同じマシンで Zebedee を動作させていても、コマンドラインで 明示的にホスト名を指定する必要がある(または redirecthost キーワードを使用)。それを localhost として参照してはいけない。クライアントシステムでは Zebedee を次のように起動して、ポート10000番経由のマルチユーストンネル を構築する。 zebedee 10000:ftpserverhost:ftp FTPサーバに接続するには、次のようなコマンドを使用する。 ftp clienthost 10000 くどいようだが、localhost でなくローカルクライアントのホスト名を使うこと。 もし、windowsの標準FTPクライアントのように、 あなたのFTPクライアントがコマンドラインでポートを指定できない時は、 プログラムの中で(FTPセッションの中で) "(C`open clienthost 10000(C'" というコマンドを使うことができる。 もし、クライアントマシンでFTPサーバが立ち上がっていなければ、 Zebedee をこのように起動してもよい。 zebedee ftp:ftpserverhost:ftp これだとFTPクライアントプログラムは次のように起動できる。 ftp clienthost FTPのコントロールコネクションとデータコネクションが同じ所から来ているか どうかチェックするFTPサーバがあるが、そういうサーバに対しては上記の手法は うまくいかない。wu-ftpd のようなメジャーなFTPサーバはこの点に ついて厳しくチェックを入れる(セキュリティ面からは望ましいことだが…)。 もし、サーバへの接続は明らかにうまくいくのに、 ファイルのリストや読み出しで失敗したりハングアップするなら、 そのサーバがここを厳しくチェックするタイプだった、ということだ。 この問題を克服するのを助けるために、ftpgw.tcl というFTPゲートウェイの スクリプトが Zebedee パッケージには含まれている。 このプログラムはフリーに入手可能であるTclスクリプティング言語 (http://www.scriptics.com参照)で書かれていて、 FTPのリクエストを中継して再送信し、サーバからZebedee の存在を隠す。 これは Zebedee サーバと同じマシンで走らせる必要がある。 FTPサーバも同じマシンで動いているなら、単にこう起動すればよい。 tclsh ftpgw.tcl これでゲートウェイはポート2121で待ち受ける。明らかに、実際の使用ではこれ をバックグラウンドで起動したいだろう。それから、Zebedee サーバを zebedee -s -r 2121 として起動する。 このケースではローカルホスト名を指定する必要はない (したければしてもかまわないが)。 クライアント側ではこうする。 zebedee 2121:ftpserverhost:2121 それからこうする。 ftp clienthost 2121 こちらでは、この場合でもクライアントホスト名を使う。 この設定では、FTPのコントロールコネクションはトンネルされるが、 データコネクションには一切影響を与えない。 もし、あなたのFTPクライアントがパッシブモードをサポートしていれば、 ftpgw.tcl でデータチャンネルも安全にすることができる。 Netscape Navigator や Windows用のWS_FTPなどはそれをサポートしている。 パッシブモードのデータコネクションを安全にするためには、 まずデータコネクションに使うポート番号の範囲を選ばなくてはいけない。 この例では。30000から30100番を使うものとする。 まず、ftpgw.tcl を 起動する時に、このポート範囲を指定するために、 -p オプションを使用する。 tclsh ftpgw.tcl -p 30000-30100 Zebedee サーバはこのように起動する。 zebedee -s -r 2121,30000-30100 クライアントはこうだ。 zebedee 2121,30000-30100:ftpserverhost:2121,30000-30100 Netscapeを使ってコントロールコネクションとデータコネクションを 両方安全にアクセスするには、このようなURLを入力する。 ftp://username@clienthost:2121/ ここでusername はFTPサーバでのユーザ名である。 CREDITS AND LEGALITIESThe following information can also be found in the file -1LICENCE0.txt in the Zebedee distribution. Copyright (c) 1999, 2000 by Neil Winton. All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. A copy of the -1GNU0 General Public License can be found in the file -1GPL20.txt . You may obtain the latest copy of Zebedee , including full source code from http://www.winton.org.uk/zebedee/ and other enquiries about Zebedee can be e-mailed to the author at zebedee@winton.org.uk Zebedee would not have been possible without the use of a large amount of freely-available software to do all the really hard stuff. I gratefully acknowledge the contributions made by the authors of the following software packages. Zebedee uses the (L"Blowfish(R" encryption algorithm devised by Bruce Schneier. For more information on Blowfish see http://www.counterpane.com/blowfish.html . The implementation used is by Eric Young and is covered by the following copyright: Copyright (C) 1995-1997 Eric Young (eay@mincom.oz.au) All rights reserved. This package is an Blowfish implementation written by Eric Young (eay@mincom.oz.au). This library is free for commercial and non-commercial use as long as the following conditions are aheared to. The following conditions apply to all code found in this distribution. Copyright remains Eric Young's, and as such any Copyright notices in the code are not to be removed. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by Eric Young (eay@mincom.oz.au) THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The license and distribution terms for any publically available version or derivative of this code cannot be changed. i.e. this code cannot simply be copied and put under another distrubution license [including the GNU Public License.] The reason behind this being stated in this direct manner is past experience in code simply being copied and the attribution removed from it and then being distributed as part of other packages. This implementation was a non-trivial and unpaid effort. Zebedee uses the zlib compression library by Jean-loup Gailly and Mark Adler. It is covered by the following copyright notice: (C) 1995-1998 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Jean-loup Gailly Mark Adler jloup@gzip.org madler@alumni.caltech.edu Zebedee may use the bzip2 compression library by Julian Seward which is covered by the following licence: This program, "bzip2" and associated library "libbzip2", are copyright (C) 1996-1999 Julian R Seward. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 3. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Julian Seward, Cambridge, UK. jseward@acm.org bzip2/libbzip2 version 0.9.5 of 24 May 1999 By default Zebedee is built using an aribtrary precision integer arithmetic library derived from the sources to (C`mirrordir-0.10.49(C' which in turn derived this from the Python sources. The copyright is as follows: huge-number.c: arbitrary precision integer library from Python sources This has nothing to do with cryptography. Copyright (C) 1998 Paul Sheer This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. This file was taken from the Python source for `long' type integers. I have changed it to compile independently of the Python source, and added the optimisation that GNU C can use 31 bit digits instead of Python's 15 bit. You can download the original from www.python.org. This file bears little resemblance to the original though - paul Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam, The Netherlands. All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the names of Stichting Mathematisch Centrum or CWI or Corporation for National Research Initiatives or CNRI not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. While CWI is the initial source for this software, a modified version is made available by the Corporation for National Research Initiatives (CNRI) at the Internet address ftp://ftp.python.org. STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Zebedee uses the Secure Hash Algorith (-1SHA0) the code for which was derived from Uwe Hollerbach's -1SHA0 module for perl . The code contains the following statement: NIST Secure Hash Algorithm heavily modified by Uwe Hollerbach <uh@alumni.caltech edu> from Peter C. Gutmann's implementation as found in Applied Cryptography by Bruce Schneier This code is in the public domain Under Windows, Zebedee uses an implementation of the getopt function covered by the following copyright: Copyright (c) 1987, 1993, 1994 The Regents of the University of California. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors. 4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Special thanks go to those people who have taken the trouble to give me feedback and suggestions for improvement! $Id: zebedee.pod,v 1.1 2000/07/18 02:05:04 tnaka Exp $
|
|