OpenLDAPコミュニティの対応は素早い!

0
    OSS研究室の大野です。

    先日、我社の社員がOpenLDAPの不具合らしき動作を見つけました。

    rwmオーバーレイを使用している時に ldapmodify コマンドでリライトルールの削除を行おうとするとslapdが停止してしまうというものです。

    OpenLDAPのメーリングリストに問い合わせてみましたところ、「不具合らしいので ITS (Issue Tracking System) に登録して」という返事をもらいました。
    早速登録しましたら、あっという間にパッチを作成してくれました。
    パッチをテストしてみたところ、見事に改修されていました。

    OpenLDAPコミュニティの対応の素早さに驚きです。
    この不具合の改修は8月14日にリリースされた OpenLDAP 2.4.42 に反映されていました。

    不具合の詳細を以下に記載します。
    (0) ソフトウェアバージョン
    OpenLDAP 2.4.41
    
    
    (1) 以下の環境を作成します。
    ---- ---- ---- ----
    # ldapsearch -LLL -Y EXTERNAL -b
    'olcOverlay={0}rwm,olcDatabase={1}bdb,cn=config' -H ldapi:///
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    dn: olcOverlay={0}rwm,olcDatabase={1}bdb,cn=config
    objectClass: olcOverlayConfig
    objectClass: olcRwmConfig
    olcOverlay: {0}rwm
    olcRwmRewrite: {0}rwm-rewriteEngine on
    olcRwmRewrite: {1}rwm-rewriteContext searchFilter
    olcRwmRewrite: {2}rwm-rewriteRule "aaa" "111" ":@"
    olcRwmRewrite: {3}rwm-rewriteRule "bbb" "222" ":@"
    ---- ---- ---- ----
    
    (2) 以下のLDIFファイル(down.ldif)を作成します。
    ---- ---- ---- ----
    dn: olcOverlay={0}rwm,olcDatabase={1}bdb,cn=config
    changetype: modify
    delete: olcRwmRewrite
    olcRwmRewrite: rwm-rewriteRule "aaa" "111" ":@"
    -
    ---- ---- ---- ----
    
    (3) ldapmodifyを実行します。
    ---- ---- ---- ----
    # ldapmodify -Y EXTERNAL -H ldapi:/// -f down.ldif
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    modifying entry "olcOverlay={0}rwm,olcDatabase={1}bdb,cn=config"
    ldap_result: Can't contact LDAP server (-1)
    ---- ---- ---- ----
    
    この時、slapdが停止してしまいます。
    
        :
        :
    55c45c8b connection_get(16)
    55c45c8b ==> sasl_bind: dn="" mech=EXTERNAL datalen=0
    55c45c8b SASL Canonicalize [conn=1000]:
    authcid="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
    55c45c8b slap_sasl_getdn: conn 1000
    id=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth [len=55]
    55c45c8b SASL Canonicalize [conn=1000]:
    slapAuthcDN="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
    55c45c8b SASL proxy authorize [conn=1000]:
    authcid="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
    authzid="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
    55c45c8b connection_get(16)
    55c45c8b conn=1000 op=1 do_modify: dn
    (olcOverlay={0}rwm,olcDatabase={1}bdb,cn=config)
    => ldap_bv2dn(olcOverlay={0}rwm,olcDatabase={1}bdb,cn=config,0)
    <= ldap_bv2dn(olcOverlay={0}rwm,olcDatabase={1}bdb,cn=config)=0
    => ldap_dn2bv(272)
    <= ldap_dn2bv(clcOverlay={0}rwm,olcDatabase={1}bdb,cn=config)=0
    => ldap_dn2bv(272)
    <= ldap_dn2bv(olcOverlay={0}rwm,olcDatabase={1}bdb,cn=config)=0
    55c45c8b conn=1000 op=1 modifications:
    55c45c8b 	delete: olcRwmRewrite
    55c45c8b 		one value, length 32
    55c45c8b [slapd:0] unknown command ''
    slapd: rwm.c:2195: rwm_cf_gen: Assertion `rc == 0' failed.
    Aborted
    
    
    
    

    コメント
    コメントする








       

    calendar

    S M T W T F S
     123456
    78910111213
    14151617181920
    21222324252627
    282930    
    << June 2020 >>

    selected entries

    categories

    archives

    recent comment

    links

    profile

    search this site.

    others

    mobile

    qrcode

    powered

    無料ブログ作成サービス JUGEM