389ds / 389-ds-base

The enterprise-class Open Source LDAP server for Linux
https://www.port389.org/
Other
210 stars 90 forks source link

Core schema contains strings instead of numer oids #3019

Open 389-ds-bot opened 4 years ago

389-ds-bot commented 4 years ago

Cloned from Pagure issue: https://pagure.io/389-ds-base/issue/49960


Issue Description

According to RFC4512:

4.1.1.  Object Class Definitions

   Object Class definitions are written according to the ABNF:

     ObjectClassDescription = LPAREN WSP
         numericoid                 ; object identifier
         [ SP "NAME" SP qdescrs ]   ; short names (descriptors)
         [ SP "DESC" SP qdstring ]  ; description
         [ SP "OBSOLETE" ]          ; not active
         [ SP "SUP" SP oids ]       ; superior object classes
         [ SP kind ]                ; kind of class
         [ SP "MUST" SP oids ]      ; attribute types
         [ SP "MAY" SP oids ]       ; attribute types
         extensions WSP RPAREN

     kind = "ABSTRACT" / "STRUCTURAL" / "AUXILIARY"

   where:
     <numericoid> is object identifier assigned to this object class;

But in our schema I see that strings are used instead of numeric oids:

$ ldapsearch -xLLL -o ldif-wrap=no -D cn=directory\ manager -w password -b cn=schema '(objectClass=*)' +  | grep -i nsssltoken-oid
attributeTypes: ( nsSSLToken-oid NAME 'nsSSLToken' DESC 'Netscape defined attribute type' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN 'Netscape' )

There are 115 of these:

$ ldapsearch -xLLL -o ldif-wrap=no -D cn=directory\ manager -w password -b cn=schema '(objectClass=*)' +   | awk '{print $3}' | grep oid | sort
CACertExtractFile-oid
ServerCertExtractFile-oid
ServerKeyExtractFile-oid
allowWeakCipher-oid
mgrpApprovePassword-oid
nsAccessLog-oid
nsAdminAccessAddresses-oid
nsAdminAccessHosts-oid
nsAdminAccountInfo-oid
nsAdminCacheLifetime-oid
nsAdminCgiWaitPid-oid
nsAdminConfig-oid
nsAdminConsoleUser-oid
nsAdminDomain-oid
nsAdminDomainName-oid
nsAdminEnableDSGW-oid
nsAdminEnableEnduser-oid
nsAdminEndUserHTMLIndex-oid
nsAdminGlobalParameters-oid
nsAdminGroup-oid
nsAdminGroupName-oid
nsAdminObject-oid
nsAdminOneACLDir-oid
nsAdminResourceEditorExtension-oid
nsAdminSIEDN-oid
nsAdminServer-oid
nsAdminUsers-oid
nsApplication-oid
nsBaseDN-oid
nsBindDN-oid
nsBindPassword-oid
nsBuildNumber-oid
nsBuildSecurity-oid
nsCertConfig-oid
nsCertfile-oid
nsCertificateServer-oid
nsClassname-oid
nsConfig-oid
nsConfigRoot-oid
nsCustomView-oid
nsDefaultAcceptLanguage-oid
nsDefaultObjectClass-oid
nsDefaultObjectClasses-oid
nsDeleteclassname-oid
nsDirectoryFailoverList-oid
nsDirectoryInfo-oid
nsDirectoryInfoRef-oid
nsDirectoryServer-oid
nsDirectoryURL-oid
nsDisplayName-oid
nsEncryptionConfig-oid
nsEncryptionModule-oid
nsErrorLog-oid
nsExecRef-oid
nsExpirationDate-oid
nsGlobalParameters-oid
nsGroupRDNComponent-oid
nsHardwarePlatform-oid
nsHelpRef-oid
nsHost-oid
nsHostLocation-oid
nsInstalledLocation-oid
nsJarfilename-oid
nsKeyfile-oid
nsLdapSchemaVersion-oid
nsLogSuppress-oid
nsNYR-oid
nsNickName-oid
nsOsVersion-oid
nsPidLog-oid
nsPreference-oid
nsProductName-oid
nsProductVersion-oid
nsResourceRef-oid
nsRevisionNumber-oid
nsSSL2-oid
nsSSL2Ciphers-oid
nsSSL3-oid
nsSSL3Ciphers-oid
nsSSL3SessionTimeout-oid
nsSSLActivation-oid
nsSSLClientAuth-oid
nsSSLPersonalitySSL-oid
nsSSLSessionTimeout-oid
nsSSLSupportedCiphers-oid
nsSSLToken-oid
nsSecureServerPort-oid
nsSerialNumber-oid
nsServerAddress-oid
nsServerCreationClassname-oid
nsServerID-oid
nsServerMigrationClassname-oid
nsServerPort-oid
nsServerSecurity-oid
nsSuiteSpotUser-oid
nsTLS1-oid
nsTLS10-oid
nsTLS11-oid
nsTLS12-oid
nsTLSAllowClientRenegotiation-oid
nsTask-oid
nsTaskGroup-oid
nsTaskLabel-oid
nsTopologyCustomView-oid
nsTopologyPlugin-oid
nsUniqueAttribute-oid
nsUserIDFormat-oid
nsUserRDNComponent-oid
nsVendor-oid
nsViewConfiguration-oid
nsWellKnownJarfiles-oid
nsmsgDisallowAccess-oid
nsmsgNumMsgQuota-oid
sslVersionMax-oid
sslVersionMin-oid
389-ds-bot commented 4 years ago

Comment from vashirov (@vashirov) at 2018-09-26 00:01:05

3020

389-ds-bot commented 4 years ago

Comment from vashirov (@vashirov) at 2018-09-26 00:01:05

Metadata Update from @vashirov:

389-ds-bot commented 4 years ago

Comment from mreynolds (@mreynolds389) at 2018-09-27 17:10:52

Metadata Update from @mreynolds389:

389-ds-bot commented 4 years ago

Comment from vashirov (@vashirov) at 2019-05-21 11:18:32

Commit 2738fd00 relates to this ticket

389-ds-bot commented 4 years ago

Comment from mreynolds (@mreynolds389) at 2019-06-07 20:39:59

Had to revert this commit for now:

22f2f9a15..3ca307d23 master -> master

389-ds-bot commented 4 years ago

Comment from tbordaz (@tbordaz) at 2019-06-11 08:23:50

The patch (#3019#comment-532946) triggered a regression (#3468#comment-572967). The RC of the regression is the unfixed (yet) ticket 47749 that is more complex to fix than to revert 49960

389-ds-bot commented 4 years ago

Comment from mreynolds (@mreynolds389) at 2020-02-12 16:46:56

Metadata Update from @mreynolds389:

389-ds-bot commented 4 years ago

Comment from mreynolds (@mreynolds389) at 2020-04-01 17:21:22

Metadata Update from @mreynolds389: