Mozilla
構成
一目で
フィードバック
含まれています
ニュースグループ
ライセンス用語
Newsbot
開発者医者
道路地図
プロジェクト
ポート
モジュール所有者
ハッキング
出所を得ます
それを構築します。
試験
ダウンロード
バグを報告します
Bugzilla
バグ記述
ツール
視界出所
トリーステータス
新しいチェックイン
バグを提出します
FAQ
探索

PerLDAP:FAQ

$修正:1.50ドル

次のものと連絡をとります:Leif Hedstrom
< leif@netscape.com >
議論: netscape.public.mozilla.directory


これらはmozilla.orgからのPerLDAP出所および分配に関する最多のFAQです。 これらの少数の質問は、後のリリース中で、公式PODドキュメンテーションへ最も恐らく合併されるでしょう。 質問はこれらのセクションに分割されます:

  1. PerLDAPに関する一般的な情報
  2. 使用することおよび出所からの建物PerLDAP
  3. 2進法の分配およびリリースされたバージョン
  4. 出所、CVSおよびバグ報告書で働く こと。
  5. LDAPは質問を関連づけました
  6. 綱領、パールおよびバージョン特効薬問題
  7. 既知のバグおよび問題
  8. 見当たらない特徴およびモジュール

このドキュメントへの最近の変更

1999-08-27:
  • 1.4の情報の房を加えました。
  • 1.0との離れた古い情報取り引き。
1999-03-09:
  • v1.2/v1.2.1/問題を明確にするためにFAQの房をきれいにしました。
  • 追加 Q(Added Q)-5.10 、例を与えること、LDAPサーバーに対するユーザの単純な認証を行う方法。
  • 非標準のディレクトリー中のPerLDAPをコンパイルしインストールする方法について記述して、 Q-6.9 を加えました。
  • Q-7.2 へのメモリ問題のための追加可能な(部分的)ソルーション。
1999-01-30:
  • 適切なところでv1.0とv1.1から変わって、PerLDAP v1.2のリリース用多くのテキストを更新しました。
  • Q-4.4 に、より多くのCVSタグを加えました。

1. PerLDAPに関する一般的な情報

  1. PerLDAPは何ですか
  2. 私は、どこでPerLDAPのためにソース・コードを得ることができますか
  3. 私はどこで2進法の分配を得ることができますか
  4. 私はどこでバグ報告書を送りますか。あるいは、ヘルプを求めるか
  5. PerLDAPはSSLを支援しますか
  6. 適切なLDAPサイトあるいは本へのいくつかのリンクを持っていますか

2. 使用することおよび出所からの建物PerLDAP

  1. 私はどうソース・コードを得ますか
  2. 私はPerLDAPを構築するために何を必要としますか
  3. 最新のPerLDAPバージョンは何ですか
  4. ベータ/開発リリースはどこですか
  5. 私は実際にC-SDKを必要としますか

3. 2進法の分配およびリリースされたバージョン

  1. 私は、どこで綱領<XXX>のために2進法の分配を見つけることができますか
  2. 私は、仕事へのbinaries(彼らは行う)を得ることができません、私は回転します、に ?
  3. C-SDK binariesはどこですか

4. 出所、CVSおよびバグ報告書で働くこと

  1. 何、その、畜生、CVSである? 私はどうそれを使用しますか。 私はどこでそれを得ることができますか
  2. 私はどう最新のものをチェックしますか、安定したリリースされたコード ?
  3. 私はどうベータ/開発枝をチェックしますか
  4. すべての開発枝のリストがありますか
  5. どのCVSモジュールがPerLDAPに利用可能ですか。また、適切か
  6. 私は、どこで寄付したいパッチあるいは新しいコードを送りますか
  7. 私は、どうちょうど見つけたバグを報告しますか
  8. 私は、どこに既知で開いたバグについて読むことができますか

5. LDAPは質問を関連づけました。

  1. どう、行う、私は、そのDNを知っている場合、LDAPエントリーを「ブラウズする 」?
  2. 私は、どうPerLDAPを備えたネットスケープDS-4サーバー情報を管理することができますか
  3. 何がありますか、その「DSA ITを管理します」コントロール? 私はPerLDAPと共にそれを使用してもよいですか
  4. PerLDAPはLDAP v3特徴をすべて支援しますか
  5. 私は、どう何かを探索しますか。 LDAPフィルタは何ですか
  6. 私はどう指定しますか、/、探索中で検索されるどの属性を制限する ?
  7. それが内部C SDK構造を必要とする場合、私はどうLDAP API関数を呼ぶことができますか
  8. 私は、どう探索が見つけたエントリーの数を数えることができますか
  9. 私はどう新しいLDAPエントリーを作りますか
  10. 私は、どうLDAPサーバーに対するユーザを確証しますか
  11. 私は、どう返されたエントリーの数を制限しますか
  12. 私は、どうエントリーへ2進法のデータを加えますか
  13. 私は、どうディレクトリーからHTMLページまでJPEGイメージを印刷しますか
  14. 私は、どうグループにユーザを加えますか

6. 綱領、パールおよびバージョン特効薬問題

  1. どのパール・バージョンが支援されますか
  2. どのパール・バージョンが勧められますか
  3. どのUnixおよびウインドウズ綱領が支援され、どのバージョン
  4. 私は、どうPerLDAPをウィンドウ/NTマシンに基礎を置かせますか。 なぜNTはlibldap.dllを見つけることができませんか
  5. どのC SDKが支援されますか。 SSL はどうですか?
  6. DecUnix/OSFに対する構造オプションは何ですか。 "-tasoは何ですか 。」
  7. どのリンク・オプションが使用されますか、/、Irixのために必要だった ?
  8. ウィンドウ/NT上のPerLDAPをリンクする場合、見当たらないシンボルがなぜありますか
  9. 私は、どうテスト環境でPerLDAPをコンパイルしインストールしますか

7. 既知のバグおよび問題

  1. 私はPerLDAPをActivePerlで働かせることができません
  2. それはありますか、単に私、あるいは、PerLDAPは真の集中的なメモリですか
  3. 私はLDAPコントロールを働かせることができません

8. 見当たらない特徴およびモジュール

  1. LDAPコントロール はどうですか?
  2. 私はどうLDAP v3パスワード管理コントロールを使用することができ支援することができますか
  3. PerLDAPはVLVインデックスを支援しますか
  4. LDIFモジュールはhorkyに見えます、何が与えますか
  5. LDAP図表を管理するいくらかのPerLDAPコードがありますか
  6. 次のPerLDAPバージョンの計画は何ですか

1. PerLDAPに関する一般的な情報

  1. PerLDAPは何ですか。

    PerLDAP(パールLDAP)はLDAPクライアントを書くために主要な2つのコンポーネントから構成されます:C SDK APIへのインターフェース、および1セットのオブジェクトは、パール・クラスを適応させました。 APIインターフェースはネットスケープのC SDKでほとんど100%互換性をもちます。しかし、OO層より使用することはより困難です。 オブジェクト指向のインターフェースは最も一般的なLDAPクライアントを書くより容易な方法であるmentです。 より詳細に関しては、 Mozillaディレクトリー(Mozilla Directory)プロジェクト ・ホーム・ページを参照してください。

    私は、 パワーポイント (それは HTML において同様に利用可能である)中のPerLDAPプレゼンテーションをさらに準備しました。

  2. 私は、どこでPerLDAPのためにソース・コードを得ることができますか。

    出所はCVSおよびFTPの両方によって利用可能です。 容易に最新盤と開発で最新にしておくために MozillaのCVSサーバー を使用することができます。 チェックする適切なCVSモジュールに関してより詳細に関しては、 質問4.5 を参照してください。

    CVSにアクセスしないか、最新のCVSリリースを速く得たくなければ、できます、 FTP、出所 分配。 そのような分配を解いた後に、最新版などを得るために再びCVSを使用することができます。

  3. 私はどこで2進法の分配を得ることができますか。

    2進法の分配 (Binary Distributions)についてのセクションを参照してください。

  4. 私はどこでバグ報告書を送りますか。あるいは、ヘルプを求めるか。

    できるだけ ニュース・ディスカッション・グループ を使用してください。PerLDAPチームはこれを絶えず読みます。 さらにBugzillaを使用してもよい、詳細には 質問4.7 を見ます。 ここに、すべての 現在開いたPerLDAPバグ およびRFEのリストがあります。

  5. PerLDAPはSSLを支援しますか。

    はい! しかし、持っているC SDKが支持物SSLをインストールした場合のみ、PerLDAPはそれ自身SSLコードか暗号化コードを持っていません。 そういうものとして、PerLDAP出所は輸出制限なしで分配することができます。

  6. 適切なLDAPサイトあるいは本へのいくつかのリンクを持っていますか。

    絶対に、どう、次のものに関して


2. 使用することおよび出所からの建物PerLDAP

  1. 私はどうソース・コードを得ますか。

    CVSはあなたの友達です! 容易に最新盤と開発で最新にしておくために MozillaのCVSサーバー を使用することができます。 PerLDAPのためのCVSモジュールはPerLDAPと命名されます。 木の先端は最新の安定したリリースです。また、開発はすべて枝の上で行われています。 CVSに関して全く何も知らなければ、CVSを使用する方法について議論する Q4.1 を参照してください。 さらにパッケージにされた出所分配を得るために FTP を使用することができます。

  2. 私はPerLDAPを構築するために何を必要としますか。

    最小では、必要とするでしょう。

    • ANSI互換性をもつCコンパイラー(例えばgccあるいはVisual C++)。
    • GNU形のような形ツールあるいはnmake。
    • Perlバージョン5.004、あるいはActiveStateの最新のパール分配を含めて、その後、しかしない、ActivePerl v5.003、あるいは以前に。
    • C SDK、ネットスケープのDevEdgeからの2進法の分配あるいはMozilla出所のいずれか。

  3. 最新のPerLDAPバージョンは何ですか。

    最新の公式リリースはv1.4、リリースされた08/21/99です。 CVS木の先端は常に最新の公式リリースです、開発は枝の上で終わります。 私たちは、強くそれが多くのバグを直し、多くの改良があるとともに、1.4にできるだけ早くアップグレードするように皆を激励します。 詳細があるか1.4冊のリリース・ノート (Release Notes)をチェックすることができます。

  4. ベータ/開発リリースはどこですか。

    ベータ・リリースおよび開発枝はCVSによって単に利用可能です。 現在のベータ/開発枝は強打枝-1_9(それはv2.xのための枝である)です。 PerLDAP v1.4は主要な幹の上に合併されており、v1.4とさらに呼ばれます。

    私は、開発枝のスナップ写真を時々利用可能にしましょう、あるいはリクエストで。 これら、できる、最も容易、私の 個人のFTPサイト からダウンロードされます。

  5. 私は実際にC-SDKを必要としますか。

    絶対に! PerLDAPを構築するつもりならば、ネットスケープC-SDK(Netscape C-SDK)分配、期間を必要とするでしょう。 Mozillaは、このSDK(それは多くの綱領に基礎を置き走るだろう)に出所を配達します。 不運にも、この出所は暗号化支援を得ていません。したがって、SSLを使用することができません。

    ネットスケープの DevEdgeオンライン (DevEdge Online)は、C SDKのプリコンパイルされた(2進法)分配を提供します。 ディレクトリー・ディベロッパー・セントラル (Directory Developer Central)からそれを得ることができます。


3. 2進法の分配およびリリースされたバージョン

  1. 私は、どこで綱領<XXX>のために2進法の分配を見つけることができますか。

    現在、PerLDAP 1.4のための4つの異なる2進法の分配は次のとおりです:

    ActiveStateパール構造519のための2進法のパッケージがさらにあります。 これらは ftp://ftp.perldap.org/パブ/perldap/PPMで見つけることができます、/

  2. 私は、仕事へのbinaries(彼らは行う)を得ることができません、私は回転します、に

    binariesはサポートなしで提供されます「としてあります。」 問題を抱えていれば、 netscape.public.mozilla.directory ニュースグループへの何かを記入してくださるか、あるいはソース・コードをダウンロードして、自分のbinariesを構築してください。

  3. C-SDK binariesはどこですか。

    ネットスケープでは、 http://developer.netscape.com/テクノロジー/ディレクトリー/downloads.html#c のDevEdgeサイトがあります。


4. 出所、CVSおよびバグ報告書で働くこと

  1. 何、その、畜生、CVSである? 私はどうそれを使用しますか。 私はどこでそれを得ることができますか。

    CVSは多くの開発者と大規模なソフトウェア・プロジェクトを管理するために使用されて、ソース・コード・バージョン管理システムです。 それはほとんどのUnixおよびウインドウズ綱領のためにRCSの上に構築され、無料で利用可能です。 最新のCVSバージョン(現在v1.10.7)のための出所は例えば 周期的なFTP(Cyclic FTP)容器 からのFTP'dでありえます。 出所はドキュメンテーション(私はそれをさらに私の ウェブサイト で利用可能にした)を含んでいます。

    私はさらに少数を作りました、利用可能な次のもののためのサポートなしかつ2進法の分配

    • Linux (インストールする「rpm-i cvs-1.10.5-1.i386.rpm」で)。
    • Solaris (gunzip、ファイル、またインストールする「pkgadd-d GNUcvs-1.10.5.pkg」で)。
    • ウィンドウ/NT (使用する、あなたの、好き「解凍します」2進法のcvs.exeを抽出するアプリケーション)。

    持っているかもしれないことに注目する、に<ダウンロード対話を得るのに上のリンク上の変更>クリック。 二者択一で、これらのファイルを得るために HTTPを使用することができます 。 再び、これらはMozillaではありません「神聖だった」構造、私はあなたの便宜にそれらをちょうど供給しています。

  2. 私はどう最新のものをチェックしますか、安定したリリースされたコード?

    匿名のユーザー名でログインして、mozilla CVSサーバーへの匿名のCVSを使用してもよい、匿名のパスワード。 例えば、PerLDAPモジュールの先端をログインしチェックするために、行うでしょう。
    %cvs-d:pserver:匿名の@cvs-mirror.mozilla.org:/cvsrootログイン(匿名の@cvs-mirror.mozilla.orgにログインして)CVSパスワード:[タイプします、匿名の]%%cvs―z3-d:pserver:匿名の@cvs-mirror.mozilla.org:/cvsroot co PerLDAP cvsサーバー:mozilla/ディレクトリー/perldap U mozilla/ディレクトリー/perldap/API.pm U mozilla/ディレクトリー/perldap/API.xs Uのアップデート、mozilla/ディレクトリー/perldap/ChangeLog。

    はじめてCVSを使用する時に通常単にログインしなければならないことを思い出す、認証信任状はあなたの〜/.cvspassファイルに格納されます。 "-z3」オプションは、圧縮を使用するようにCVSに命じます、CVSのあなたのバージョンがこれ(いくつかのバージョン、見たところではこのオプションで悪く阻む)の支援を得ていることを確かめます。

    次のリリースは利用可能です、可能な場合(最新のものを得るために、安定したコード)主要な幹を使用してください:

    • リリース-1_0:1位、オリジナル(PerLDAPリリース(全く揺れる))。
    • リリース-1_2_2:最後および1.2のシリーズ中のほとんどの安定したリリース。
    • リリース-1_4:多くのバグフィックスを備えた最新のリリース。

  3. 私はどうベータ/開発枝をチェックしますか。

    として(ちょうど)の上に、また、チェックする特定の枝を指定します。 例えば、あなたの出所を更新するために、v1.9枝に類似の何かをすることができます。
    %cd mozilla/ディレクトリー/perldap%cvs―z3最新版-r、強打枝-1_9 cvsサーバー:アップデート。
    P API.pm P API.xs。

    私たちは、連続的にスナップ写真(例えば強打リリース-1_9_1)、強打リリース-1_9_2などを備えた開発枝に札を付けるでしょう。 有望に、私たちはさらにこれらのスナップ写真を自動的にパッケージにし、Mozilla FTPサーバーを増しました。 今のところ、私はそれらを PerLDAP サイトで利用可能にしています。

  4. すべての開発枝のリストがありますか。

    もちろん:

    • 強打枝-1_3:これは閉じられ、幹に合併されました。
    • 強打枝-1_9:PerLDAP v2.0のための開発枝、および現在用いられている1つ。

    PerLDAP開発のために生産使用中の主要な幹(リリース-1_4)、および強打枝-1_9を使用することが勧められます。

    さらに、「cvsステータス―v」を行うことによりファイルかモジュール用にすべてのCVSタグのリストを得ることができます。

  5. どのCVSモジュールがPerLDAPに利用可能ですか。また、適切か。

    PerLDAPモジュールはPerLDAPと命名されます。 さらに類似のものと共に、「ディレクトリー」出所全体をチェックすることができます。
    %cvs-d:pserver:匿名の@cvs-mirror.mozilla.org:/cvsroot co mozilla/ディレクトリー

    あなたがinterstedされるだけならば、上記のものはあなたにすべてを与えます、C SDK出所は言う、チェックアウトをモジュールDirectorySDKSourceCに制限することができます。 すべての利用可能なモジュールのリストは、CVSROOTディレクトリー中のモジュール・ファイルの中にあります。

  6. 私は、どこで寄付したいパッチあるいは新しいコードを送りますか。

    ニュース・グループ にそれを記入してください。

  7. 私は、どうちょうど見つけたバグを報告しますか。

    ニュース・グループ にそれを記入してください。 Bugzilla にアクセスすれば、私に対するバグをファイルしてください。 ここに、すべての 現在開いたPerLDAPバグ およびRFEのリストがあります。

  8. 私は、どこに既知で開いたバグについて読むことができますか。

    先決問題 、Q-4.7を参照してください。


5. LDAPは質問を関連づけました

  1. どう、行う、私は、そのDNを知っている場合、LDAPエントリーを「ブラウズする」?

    PerLDAP 1.4で新しい、リリースする、いくつかのデフォルト価値(のような、範囲=BASE、など(フィルタ=objectclass=*))をセットするブラウズする()方法です。 これは、あなたがDNを知っていれば全エントリーを返すことを容易にします:
    Getopt::Stdを使用します;
    Mozilla::LDAP::Connを使用します;
    $DN=「uid=leif、ou=人々、dc=ネットスケープ、dc=com」;
    $conn=、新しいMozilla::LDAP::Conn(¥%ld);
    死ぬ「Could't、LDAPサーバー$ld{ホスト}に接続する」でないならば、$conn;
    $エントリー=$conn>-ブラウズする($DN);
    場合($エントリー)私たちがほかに1のエントリー}と分かった{#、私たちがエントリーと分からなかった{#、DNは無効です。}

    1.4に先立ったバージョンについては、baseDNとしてDNを備えた基礎探索およびフィルタを行います、の(objectclass=*)。 例えば:
    同じ#、コード、として、の上に、しかし引き数などを解析するために他のコードを含んでいる..
    #、また次のものにブラウズする()呼び出しを取り替える、$エントリー=$conn>-探索($DN、「基礎」、"(objectclass=*)");

  2. 私は、どうPerLDAPを備えたネットスケープDS-4サーバー情報を管理することができますか。

    今ちょうど、この準備ができているコードはありません。しかし、私たちはPerLDAPを使用して、DS-4管理モジュールを研究しています。

  3. 何がありますか、その「DSA ITを管理します」コントロール? 私はPerLDAPと共にそれを使用してもよいですか。

    このコントロールは例えばスマートな紹介された人(Smart Referrals)を管理するために使用することができます。 より詳細に関しては、 DevEdgeドキュメンテーション を参照してください。 PerLDAPは、コントロールの支援を得ています。しかし、OO層はこの時点でそれらを使用しません(あるいは支援)。 PerLDAP 1.4の中にLDAPコントロールに関する少しの問題があります、 Q-7.3 を見ます。

  4. PerLDAPはLDAP v3特徴をすべて支援しますか。

    その通り、API.pmパッケージは行います。 OO層(コネチカットpm(Entry.pmなど))はLDAPを使用しません、まだv3特徴。 私たちは、次の数か月、LDAPコントロールのような有望に加算する涼しい特徴、VLVインデックスなどにこれを研究するでしょう。 PerLDAP 1.4の中にLDAPコントロールに関する少しの問題があります、 Q-7.3 を見ます。

  5. 私は、どう何かを探索しますか。 LDAPフィルタは何ですか。

    RTFM、 上のリンク のうちの1つから恐らく。

  6. 私はどう指定しますか、/、探索中で検索されるどの属性を制限する?

    デフォルトによって、PerLDAP探索活動は、エントリー(または属性)へあなたが許可を読んだと仮定して、エントリーが持っている属性をすべて検索するでしょう。 多くの属性タイプの指定により例えば属性の数を制限することができます。
    @attr=(「cn」、「uid」「メイル」);
    $エントリー=$conn>-探索($ベース、「sub」、$フィルタ、0、@attr);

    例における0のパラメーターはフラグです、どれ、もし1(「真実」)にセットされれば、実価ではなく属性タイプを単に検索するように探索機能に命じます。 ほとんどの場合、あなたは0にこのフラグをセットしたい(「誤り」)。 明示的に属性を求めただけで、それを思い出す、それ(どちらか、エントリーがそのようなユーザ属性価値を持たないので、あるいはそれにアクセスしないので恐らく)を得るだろうということを必ずしも意味しません。

    いくつかの属性(典型的に運用上の属性)はデフォルトによって返されません。また、それらを明示的に求めなければならないかもしれません。 そのような属性の例はmodifiersName属性です。 あなたがユーザ属性および運用上の属性をすべて得たければ、できます。
    @attr=("*"「modifiersName」);
    $エントリー=$conn>-探索($ベース、「sub」、$フィルタ、0、@attr);

    属性"*"は属性とすべて一致します。 望まない場合、に、retrive、任意の属性、いずれにしても、属性「1.1」(そのようなOIDはなく、したがって、属性を返すことができません)を指定します。 あなたがDNのみを必要とすれば、これは有用です、また属性価値はない。
    @attr=(「1.1」);
    $エントリー=$conn>-探索($ベース、「sub」、$フィルタ、0、@attr);

  7. それが内部C SDK構造を必要とする場合、私はどうLDAP API関数を呼ぶことができますか。

    OOモジュール(例えばコネチカットpm)を使用する場合、これは一般に推薦されません。 しかし、Mozilla::LDAP::Connオブジェクトからinternalaハンドルを検索する2つの方法は次のとおりです:
    $cld=$conn>-getLD();
    $結果=$conn>-getRes();

    第1の方法はLDAP接続ハンドルを返します。また、第2は最後の結果メッセージにハンドルを返します。 注意してこれらを使用して、これがあなたのコードにPerLDAPの将来のバージョンに押し入らせるかもしれないことを思い出してください。 さらに、getRes()方法は代わりに、使用することができるPerLDAP v1.0のために、PerLDAP v1.2の時点で単に利用可能です、さらに醜いソルーション:
    $cld=$conn>-{「ld」};
    $事実=$conn>-{「ldres」};

  8. 私は、どう探索が見つけたエントリーの数を数えることができますか。

    もちろん、先決問題からの情報を使用して、答えは次のとおりです:
    $cld=$conn>-getLD();
    $事実=$conn>-getRes();
    $計算=Mozilla::LDAP::API::ldap_count_entries($cld($事実));

    再び、これは実際に推薦されません。また、これは将来のリリースが変化するかもしれません。 1つの可能性は在来の方法としてこの特徴を加えることです。しかし、PerLDAPのv2.0が非同期LDAP呼び出し(多くのよりよいスケーラビリティ用の)を使用するかもしれないので、私はこれをさらに調査する必要がある。

    別の共通のタスクは探索がちょうど1つのエントリーをもうまさしく返さないかどうか決定することです。 それは、容易に既存のモジュールを例えばやめることができます。
    $エントリー=$conn>-探索($ベース、$範囲、$フィルタ);
    場合($エントリー&&!$conn>-nextEntry())私たちがちょうど1つのエントリーと分かった{#は進みます}

  9. 私はどう新しいLDAPエントリーを作りますか。

    いくつかのオプションがあります、最も容易なものはそのときあります、1であるためにそれを変更してください、の
    $エントリー=$conn>-newEntry();
    $エントリー=Mozilla::LDAP::Conn>-newEntry();

    さらに(PerLDAP v1.2.1の時点で)エントリー・パッケージの中で新しい()方法を使用してもよく好きです。
    $エントリー=、新しいMozilla::LDAP::Entry;

    $connはあなたの::Conn目的です、として、通常。

    新しいオブジェクトを作成するアウトラインはPerLDAP v1.2、類似のものの時点で、次のとおりです:
    $conn=、新しいMozilla::LDAP::Conn(¥%main::ld);
    $エントリー=Mozilla::LDAP::Conn>-newEntry();
    $エントリー>-setDN(「uid=$UID、$PEOPLE、$BASE」);
    $エントリー>-{objectclass}=[「トップの」、「人」、「inetOrgPerson」、「mailRecipient」];
    $エントリー>-addValue(「uid」($UID));
    $エントリー>-addValue(「cn」「Leif Hedstrom」);
    $エントリー>-addValue(「cn」「スウェーデン人」);



    $conn>-加算する($エントリー);

  10. 私は、どうLDAPサーバーに対するユーザを確証しますか。

    容易、最初に匿名のユーザとして拘束し、あなたが確証したい人にDNを捜してやり、DNを得て、DNおよびパスワードを使用して、再度拘束します。 この例(それはPerLDAP v1.2を要求するか、その後、柔軟なユーザ認証を行う方法を教える):
    #!/usr/ビン/perl5使用Mozilla::LDAP::Conn;
    ##構成部分はこの#$BASE=を変更します「dc=ネットスケープ、dc=com」;
    $USER=$ARGV[0];
    $PASS=$ARGV[1];
    $conn=、新しいMozilla::LDAP::Conn({「host」=>「localhost」(「port」=>「389」}));
    死ぬ「LDAP接続を得ることができません」でないならば、$conn;
    ##は、UID、CNおよび最後のMAIL属性を使用して、ユーザを見つけようとします。
    #$エントリー=$conn>-探索($BASE、「SUB」、「(uid=$USER)、0(「1.1」));
    場合(!)
    $エントリー||$conn(>nextEntry()){$エントリー=$conn>探索($BASE、「SUB」、「(cn=$USER)、0(「1.1」));
    場合(!)
    $エントリー||$conn(>nextEntry()){$エントリー=$conn>探索($BASE、「SUB」、「(mail=$USER)、0(「1.1」));
    $dn=$エントリー>-getDN()、場合($エントリー&&!)
    $conn>-nextEntry();
    }、ほかに{$dn=$エントリー―getDN()>;
    }}、ほかに{$dn=$エントリー―getDN()>;
    }##は私たちに今#ユーザDNおよびパスワードで再度拘束することにより、認証信任状を確認させます。
    これがユーザとして接続境界#を残すことに注意してください、匿名のものとして再度拘束する別のsimpleAuth()を再び行ってください。
    私の$が確証した#=0;
    場合($PASS ne"")(&&($dn ne"")&&($conn>-simpleAuth($dn($PASS)))){印刷「WhooHoo、認証はよい!¥n」;$は=1を確証しました;}印刷「間違っているユーザー名あるいはパスワード(気取り屋)。¥n。」でないならば、$、確証された;

  11. 私は、どう返されたエントリーの数を制限しますか。

    これをすることができます、Cシンタックスの使用およびAPIの使用。 この例は10のエントリーを返します。
    #!/usr/ローカルの/ビン/perl使用Mozilla::LDAP::Conn;
    Mozilla::LDAP::API qw(/。 +/)を使用します;
    私の($conn、$search_base、$search_scope、$事実、@attrs($リターン));
    $search_base=「o=Airius.com」;
    $search_scope=「サブ木」;
    @attrs=();
    ##、オープンなLDAP接続(Open LDAP Connection)#$conn=新しいMozilla::LDAP::Conn(「ldap」、389、""、"");
    さい("$0: LDAP接続(LDAP Connection)を開始することができません」!」)でないならば、$conn;
    ##セットsizelimit#ldap_set_option($conn>-getLD()、LDAP_OPT_SIZELIMIT、10);
    ##はCスタイル探索(APIからの)#$リターン=ldap_search_s($conn>-getLD()、$search_base、Mozilla::LDAP::Utils::str2Scope($search_scope)、「(cn=a*)、¥@attrs、0、$事実)を行います;
    場合($リターン==LDAP_SIZELIMIT_EXCEEDED){##、その後、10の結果は返りました!#}##はPerLDAPメンテナンス属性(これらはPerLDAPに内部です、それらに干渉する#はべとべとしたかもしれなくて、もし変更されれば望まれない結果を引き起こすかもしれません)#$connをセットします―{>'ldfe」}=1;
    $conn>-{'ldresの}=$事実;
    $エントリー=$conn>-nextEntry();
    ##は正常な#として進みます、一方($エントリー){}$conn>-終了();

    このコードに感謝(マイケルKonopka(konopka@netscape.com)への)。

  12. 私は、どうエントリーへ2進法のデータを加えますか。

    非常に容易に。 例として、私たちはディレクトリー・エントリーへJPEGイメージを加えるでしょう。

    #、接続、#および入り込むことを開始することを含むすべての標準の構成材料。
    場合($エントリー){binmode(JPEG);||さいを開く(JPEG「/u/mwyner/b5.jpg」);#は変数からfilehandleからデータを読み取ります。一方(sysread JPEG、$tmp、1024){$jpegimage.=$tmp;}$エントリー>(>setValue(「jpegphoto」($jpegimage));$conn)最新版($エントリー)&&印刷「修正済の¥n」;

    「binmode」呼び出しはMS-DOSとウインドウズのために単に必要です。 これは、正確にライン文字の終了を翻訳します。 それはUNIX、MacOSなどの下で必要ではありません、それらのシステムがすべてライン(それはCの中の単一の特徴と考えられる)の終わりに「¥n」を使用するので。

  13. 私は、どうディレクトリーからHTMLページまでJPEGイメージを印刷しますか。

    この鍵はそれを印刷する前にあなたのページと忘れずに内容/タイプ属性を交換することです。
    「満足しているタイプ:イメージ/jpeg¥n¥n」を印刷します;
    $エントリーを印刷する―>{jpegphoto}[0];

    あるいは、CGI.pmパール・モジュールを使用していれば、ヘッダー中の内容/タイプを変更します:
    $クエリー(>ヘッダー=をタイプする>'イメージ/jpeg」)を印刷します;
    #someの任意のコード印刷$エントリー>-{jpegphoto}[0];

    ウインドウズを使用していれば、付け加える必要があるかもしれません。
    binmode(STDOUT);

    印刷する前に。

  14. 私は、どうグループにユーザを加えますか。 ?

    グループの名前を知っていれば、グループがそのCNエントリー経由で存在することを確かめるために探索することができます。 同じCNを持っているグループを持っている場合、人、次にあなたを持っている、さらにエントリーへ付けられた「objectclass=groupofuniquenames」があるかどうか確かめるために探索することができます。

    一度グループを持っていれば、グループの「uniquemember」属性によってグループに誰かのDNを加えることができます。 下記を参照してください:
    $エントリー=$conn>-探索(「o=mcom.com」。」サブ木。」uid=mwyner」);
    場合(!)
    $エントリー{さい「見つかった誰もない」;
    }#は、私たちが1つのエントリーに後ろのelsif($エントリー&&!)を単に取って来てやったことを確かめます。
    $conn(>nextEntry()){$groupentry=$conn>探索(「o=mcom.com」。」サブ木。」cn=PDマネージャー」);
    場合(!)
    $groupentry{さい「見つかったグループなし」;
    }#は、私たちが1を単に戻したことを確かめます、elsif($groupentry&&!$conn->nextEntry()){$groupentry―addValue>(「uniquemember」($エントリー)―getDN()>);$conn―最新版($groupentry)&&印刷>「グループは¥nを更新した」;}}


6. 綱領およびパール・バージョン特効薬問題

  1. どのパール・バージョンが支援されますか。

    v5.004からの任意のパール・バージョン、あるいはその後。 準備されたbinariesは、構造中に使用されるパール・バージョンで単に働くでしょう、分配についてのより詳細にはREADMEおよびINSTALL情報を見ます。

  2. どのパール・バージョンが勧められますか。

    Perl v5.005_03。

  3. どのUnixおよびウインドウズ綱領が支援され、どのバージョン。

    私はPerLDAP v1.4を知っており、その後働くべきです、の上で、少なくとも、これら、綱領とバージョンのコンビネーション:

    Perl 5.004 Perl 5.005 ActivePerl 519
    Solaris-2.x はい はい -
    Linux/glibc はい はい -
    Irix-6.x はい ??? -
    ウィンドウ/NT4 SP3 はい はい はい
    ウィンドウ/NT4 SP4 はい はい はい


    別の綱領上でPerLDAPを使用していれば、 私たちに知らせてください

  4. 私は、どうPerLDAPをウィンドウ/NTマシンに基礎を置かせますか。 なぜNTはlibldap.dllを見つけることができませんか。

    私は、nmakeとVisual C++を使用するパールおよびPerLDAPをsuccesfullyにコンパイルしました。 あなたが私たちがそれに関して聞きたい構造詳細を持っていれば、あなたのマイル数は変わるかもしれません。

    共通の1つの問題は、C SDK libldap DLLを置くべき場所であるように見えます。 私は、perl「ビン」ディレクトリーにDLLをコピーして、perl.exeが存するところで工場がわき出ることを知りました。 別のよい選択肢はあなたのPATH環境変数にC-SDKライブラリー・フォルダーを加えることです。

    パールv5.005の時点で、あなたが「サイト」ディレクトリー中でlibldap DLLを入れるべきように見えます、そしてない、その「ビン」ディレクトリー。 例えば、C:¥perlにActiveState構造509をインストールしたならば、C:¥perl¥サイトにLDAP DLLを入れてください。

  5. どのC SDKが支援されますか。 SSLはどうですか?

    リリースされたC SDKバージョンはすべて、PerLDAP v1.2の中で、およびその後支援されます。 v1.0では、私たちがSDK v1.2およびSDK v3.0を単に確認しました。 v1.2の時点で、Mozilla C SDK出所は、さらにPerLDAPを備えた箱から働くべきです。

    PerLDAPは、SSLの全面的な支援を得ています、しかしあなたのC SDKがその支援を得ている場合のみ。 mozilla.orgの上のMozilla C SDK出所はSSL支援を得ていません。しかし、DevEdgeの2進法の分配は行います。

  6. DecUnix/OSFに対する構造オプションは何ですか。 "-tasoは何ですか。」

    ―taso/xtaso、オプションをコンパイルする、32ビットの互換性のために使用されます。 Specificially

    • ― tasoは、コードが32ビットspecficallyに互換性をもつことを保証します、仮想記憶のより低い31ビットへ図書館かモジュールをロードする結合物力。 それは32ビットのアーキテクチャーから運ぶことにおいて有用です。
    • ― xtasoは自由に32ビットのポインターを使用するために32ビットの―tasoスタイル構造を拡張します。 これはコードの中で#pragma pointer_sizeを使用し―tasoおよび―xtasoオブジェクトでリンクすることを要求します。

    これは何を意味しますか。 さて、明らかに、あなたが動的なローダーを無作法に振る舞わせて、どう例えばパールをコンパイルしたかの中に、誤った組合せがありえます。 誰かがより多くの情報を正確に与えることができる場合、OSFのためのPerLDAPをコンパイルする方法、この中に( ニュース・グループ への何かを記入する)それを置くことができて、私は幸福だろう。

  7. どのリンク・オプションが使用されますか、/、Irixのために必要だった?

    私は知りません、私はいくつかの特別の結合物オプションに関して何かを見ました、Irixを知っている人、知らせてください。

  8. ウィンドウ/NT上のPerLDAPをリンクする場合、見当たらないシンボルがなぜありますか。

    パールv5.005で、私は、メイクファイル(パールをそれ自身構築する場合)中のLINK_FLAGS定義からリンク・オプション―nodefaultlibを取り除かなければなりませんでした。 私は、なぜこれがv5.005に加えられたか知りません。しかし、少なくともこれは、私のための問題を解決しました。

    そこでこの問題を解決するいくつかの代案で好きです。

    1. 上に記述されるようなパール用のメイクファイルを修正して、パールを再建してください。
    2. Perl5設置中のConfig.pmファイルを修正してください。
    3. PerLDAPのために生成されるようなメイクファイルを修正してください。
  9. 私は、どうテスト環境でPerLDAPをコンパイルしインストールしますか。

    容易、設置および構成中にMakefile.PLスクリプトに「LIB=/u/leif/lib」のようなオプションを与える、のように
    %perl5 Makefile.PL LIB=/u/leif/lib

    そのときあなたのperlスクリプト中で、ラインを加える、のように
    解放「/u/leif/解放」を使用します;


7. 既知のバグおよび問題

  1. 私はPerLDAPをActivePerlで働かせることができません。

    問題を持っていればPerLDAP 1.4に加えて、ActivePerl構造519を使用していることを明確に確かめてください。 1.4は、構造519と共にActivePerl問題の房を修理するように見えます。

  2. それはありますか、単に私、あるいは、PerLDAPは真の集中的なメモリですか。

    それはそうでありえます、依存すること、の上で、どう、大きな、しかしながら、探索しているか検索しているデータ・ベース、主要なメモリーリークは固定しました。

  3. 私はLDAPコントロールを働かせることができません。

    これはAPI.xsの中の既知の問題で、作用されています。 位置はv2.0に含まれるでしょう。 LDAP v3コントロールの使用に関してより詳細に関しては、DevEdge ドキュメンテーション・サイト を参照してください。


8. 見当たらない特徴およびモジュール

  1. LDAPコントロールはどうですか?

    Q-7.3 を参照してください。

  2. 私はどうLDAP v3パスワード管理コントロールを使用することができ支援することができますか。

    はい、APIを直接使用して、コードを書けば、 OOモジュールはv2.0に加えられるでしょう。

  3. PerLDAPはVLVインデックスを支援しますか。

    はい、APIを直接使用すれば、 私たちは、v2.0のためのVLV OOモジュールを持つでしょう。

  4. LDIFモジュールはhorkyに見えます、何が与えますか。

    v1.4にアップグレードしてください。 私たちは、ネットスケープLDAP指導者ジョンKristian< kristian@netscape.com >によって書かれて、完全に新しいLDIF.pmモジュールを持っています。

  5. LDAPの図表を管理するいくらかのPerLDAPコードがありますか。

    まだ任意の特定のコードではない。 有望に新しい図表パッケージ、また、ネットスケープコンソール(Netscape Console)モジュールはネットスケープのアラン・トム< 原子@netscape.com >によって開発されるでしょう。

  6. 次のPerLDAPバージョンの計画は何ですか。

    新しい材料のトン。 v2.0があるかこれらの涼しい新しい特徴考えのうちのいくつかをチェックしてください。

    • 使用/支援に非同期LDAP(それはするべきである)を書き直す、実行をimprovemする、また非常に大きな探索を行う場合メモリ使用法を縮小します。
    • クライアント認証と共に、SASLのために少なくとも支援してください。
    • グループ管理モジュール(私がLdappのために書いたものに似ている)。
    • いくつかのサンプル・コントロール(例えばパスワード・コントロール、DsaITコントロールなどを管理する)を備えたLDAP v3コントロール用のフレームワーク。
    • VLVインデックスは支援します(私が思うLDAP v3コントロールを要求する)。
    • オラクルデータ・ベース同期モジュール。
    • モジュール、あるいはEntry.pmに対する拡張、同期するために、匹敵する、「違い」は連結します、など、2つのエントリー・オブジェクト。
    • 図表発見および管理。
    • ネットスケープディレクトリー・サーバー(Netscape Directory Server)構成、図表発見などを管理するモジュール。 これはそれらがLDAPに構成を格納すると仮定して、ネットスケープコンソール(Netscape Console)が使用可能なサーバーをすべて管理することができるかもしれません。 このモジュールを使用する例スクリプトは構成パラメーターがすべて((あるいは選択された))同一であることを確かめて、2つのLDAPのサーバーを「同期させる」ことでしょう。
    • 構成モジュール、適切なデフォルト価値(基礎-DNなどのような)を形成することを容易にするために 既存のモジュール/方法(その引き数パーザのような)を含む、すべてのツールによってこれを使用することができるかもしれません。
    • ネットスケープのコマンドライン・ツール(DS-v4.xの時点での)によって使用されるような標準のLDAPの引き数をすべて支援するために引き数パーザを拡張してください。
    • ないLDAP v3の新しい特徴が他のモジュールによってカバーした支援/使用?

このページに関する問題?
最後は次のものを修正しました:土曜9月の4 00:56:00 1999
著作権(C)1998-2000、Mozilla機構。
先の修正済の1999年9月4 日。