[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#7098) OpenLDAP crashes when changing OID value in schema definition in cn=config
- To: openldap-its@OpenLDAP.org
- Subject: Re: (ITS#7098) OpenLDAP crashes when changing OID value in schema definition in cn=config
- From: hyc@symas.com
- Date: Tue, 29 Nov 2011 16:19:50 GMT
- Auto-submitted: auto-generated (OpenLDAP-ITS)
nick@eurobjects.com wrote:
> Full_Name: Nikolaos Milas
> Version: 2.4.26 (LTB RPM)
> OS: CentOS 5.7
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (195.251.204.222)
>
>
> We use the following schema (among others):
Thanks for the report, this is now fixed in git master.
>
> DN: cn={5}postfix,cn=schema,cn=config
> objectClass: olcSchemaConfig
> cn: {5}postfix
> olcAttributeTypes: {0}( 1.3.6.1.4.1.25260.1.000 NAME 'mailacceptinggeneralid'
> DESC 'Defines an address that we accept mail for' EQUALITY caseIgnoreMatch
> SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
> olcAttributeTypes: {1}( 1.3.6.1.4.1.25260.1.001 NAME 'maildrop' DESC 'Defines
> the address mail goes to' EQUALITY caseIgnoreMatch SUBSTR
> caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
> olcAttributeTypes: {2}( 1.3.6.1.4.1.25260.1.002 NAME 'mailacceptinguser' DESC
> 'Defines if this user accepts mail' EQUALITY caseIgnoreMatch SUBSTR
> caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
> olcAttributeTypes: {3}( 1.3.6.1.4.1.25260.1.003 NAME 'aliasInactive' DESC 'A
> flag, for marking the alias as not in use' EQUALITY booleanMatch SYNTAX
> 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )
> olcObjectClasses: {0}( 1.3.6.1.4.1.25260.1.1.100 NAME 'virtualaccount' DESC
> 'Holds mail info for a virtual account' STRUCTURAL MUST ( owner $
> mailacceptinggeneralid $ maildrop $ cn ) MAY ( description $ aliasInactive ) )
> olcObjectClasses: {1}( 1.3.6.1.4.1.25260.1.1.101 NAME 'maillist' DESC 'Virtual
> account for holding mailing list info' STRUCTURAL MUST ( mailacceptinggeneralid
> $ maildrop $ cn ) MAY ( owner $ description $ aliasInactive ) )
> olcObjectClasses: {2}( 1.3.6.1.4.1.25260.1.1.102 NAME 'mailAccount' DESC 'Email
> account details' AUXILIARY MUST ( mailacceptinguser $ maildrop $ cn ) MAY (
> mailacceptinggeneralid $ aliasInactive ) )
> olcObjectClasses: {3}( 1.3.6.1.4.1.25260.1.1.105 NAME 'virtualbox' DESC 'Mailbox
> for system use' STRUCTURAL MUST ( owner $ mail $ uid $ cn ) MAY description )
>
> We run:
> # /usr/local/openldap/bin/ldapmodify -h localhost -x -v -W -D
> "cn=admin,cn=config" -f /root/work/schemachange1
>
> where /root/work/schemachange1:
> dn: cn={5}postfix,cn=schema,cn=config
> changetype: modify
> delete: olcAttributeTypes
> olcAttributeTypes: {0}( 1.3.6.1.4.1.25260.1.000 NAME 'mailacceptinggeneralid'
> DESC 'Defines an address that we accept mail for' EQUALITY caseIgnoreMatch
> SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
> -
> add: olcAttributeTypes
> olcAttributeTypes: {0}( 1.3.6.1.4.1.25260.1.0 NAME 'mailacceptinggeneralid' DESC
> 'Defines an address that we accept mail for' EQUALITY caseIgnoreMatch SUBSTR
> caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> This is successful:
> [root@ldap work]# /usr/local/openldap/bin/ldapmodify -h localhost -x -v -W -D
> "cn=admin,cn=config" -f /root/work/schemachange1
> ldap_initialize( ldap://localhost )
> Enter LDAP Password:
> delete olcAttributeTypes:
> {0}( 1.3.6.1.4.1.25260.1.000 NAME 'mailacceptinggeneralid' DESC 'Defines
> an address that we accept mail for' EQUALITY caseIgnoreMatch SUBSTR
> caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
> add olcAttributeTypes:
> {0}( 1.3.6.1.4.1.25260.1.0 NAME 'mailacceptinggeneralid' DESC 'Defines
> an address that we accept mail for' EQUALITY caseIgnoreMatch SUBSTR
> caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
> modifying entry "cn={5}postfix,cn=schema,cn=config"
> modify complete
>
> However, then we try to run:
> # /usr/local/openldap/bin/ldapmodify -h localhost -x -v -W -D
> "cn=admin,cn=config" -f /root/work/schemachange2
>
> where /root/work/schemachange2:
> dn: cn={5}postfix,cn=schema,cn=config
> changetype: modify
> delete: olcAttributeTypes
> olcAttributeTypes: {1}( 1.3.6.1.4.1.25260.1.001 NAME 'maildrop' DESC 'Defines
> the address mail goes to' EQUALITY caseIgnoreMatch SUBSTR
> caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
> -
> add: olcAttributeTypes
> olcAttributeTypes: {1}( 1.3.6.1.4.1.25260.1.1 NAME 'maildrop' DESC 'Defines the
> address mail goes to' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch
> SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
>
> and this causes an OpenLDAP crash:
> [root@ldap work]# /usr/local/openldap/bin/ldapmodify -h localhost -x -v -W -D
> "cn=admin,cn=config" -f /root/work/schemachange2
> ldap_initialize( ldap://localhost )
> Enter LDAP Password:
> delete olcAttributeTypes:
> {1}( 1.3.6.1.4.1.25260.1.001 NAME 'maildrop' DESC 'Defines the address
> mail goes to' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX
> 1.3.6.1.4.1.1466.115.121.1.15 )
> add olcAttributeTypes:
> {1}( 1.3.6.1.4.1.25260.1.1 NAME 'maildrop' DESC 'Defines the address
> mail goes to' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX
> 1.3.6.1.4.1.1466.115.121.1.15 )
> modifying entry "cn={5}postfix,cn=schema,cn=config"
>
> This hangs, and we interrupt with Ctrl-C.
>
> gdb reports:
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/