001-004729

パッケージ版 Garoon

関心あり
0人の方が関心を示しています

[Linux版の現象]64bit版のRed Hat Enterprise Linux 4の環境で、認証データベースにLDAPを使用していると、ガルーンにログインできない。

種別
不具合
機能
  • 認証
再現バージョン
  • 3.1.0
  • 3.1.1
  • 3.1.2
改修バージョン
3.1.3
公開日
2011-07-13
更新日
2011-10-31

詳細

【準備】

  • バージョン 3.1.0以降のガルーンを次のどちらかの環境にインストールします。

    • 64bit版Red Hat Enterprise Linux AS (v.4)
    • 64bit版Red Hat Enterprise Linux ES (v.4)

  • ガルーンにLDAP認証を設定します。

       例:
    1. システム管理画面で、[基本システムの管理]  [認証] > [認証データベース] > [認証データベースを追加する]の順にクリックします。

    2. LDAPを選択し、[次へ]をクリックします。

    3. 認証データベースの内容を入力し、[追加する]をクリックします。

    4. システム管理画面で、[基本システムの管理] > [認証] > [ログイン認証] > [標準認証] > [変更する]の順にクリックします。

    5. 認証データベースに、追加した認証データベースを選択し、[変更する]をクリックします。

【再現手順】

  1. ガルーンのアプリケーション画面にログインします。


→現象発生:

 次のエラーが発生し、ログインできません。

 例:

 --------------------

 Fatal error: Call to undefined function ldap_connect() in /var/www/cgi-bin/cbgrn/code/plugin/grn/common/authentication/repository/ldap.csp on line 281

 --------------------

 

補足:

  • システム管理画面からは、ログインできます。

回避/対応方法

【対応方法】

  1. ガルーンのインストールされている端末で「/usr/lib/libsasl2.so.2」が存在することを確認します。
    例:
    # ls /usr/lib/ | grep libsasl2.so.2

  2. 「/usr/local/cybozu/openldap/lib/libsasl2.so.2」を削除するか、別名に変更します。
    例:
    # mv /usr/local/cybozu/openldap/lib/libsasl2.so.2 /usr/local/cybozu/openldap/lib/bk_libsasl2.so.2

  3. 「/usr/lib」以下のライブラリが使用されていることを確認します。
    例:
    # ldd /var/www/cgi-bin/cbgrn/extensions/ldap.so

    実行結果の例:
    # ldd /var/www/cgi-bin/cbgrn/extensions/ldap.so
       linux-gate.so.1 =>  (0xffffe000)
       libldap-2.3.so.0 => /usr/local/cybozu/openldap/lib/libldap-2.3.so.0 (0xf7fc6000)
       liblber-2.3.so.0 => /usr/local/cybozu/openldap/lib/liblber-2.3.so.0 (0xf7fbd000)
       libssl.so.0.9.8 => /usr/local/cybozu/openssl/lib/libssl.so.0.9.8 (0xf7f7d000)
       libcrypto.so.0.9.8 => /usr/local/cybozu/openssl/lib/libcrypto.so.0.9.8 (0xf7e5c000)
       libc.so.6 => /lib/tls/libc.so.6 (0xf7d10000)
       libresolv.so.2 => /lib/libresolv.so.2 (0xf7cfc000)
       libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xf7ce8000)
       libdl.so.2 => /lib/libdl.so.2 (0xf7ce4000)
       /lib/ld-linux.so.2 (0x56555000)
       libcrypt.so.1 => /lib/libcrypt.so.1 (0xf7cb3000)