#49960 Core schema contains strings instead of numer oids
Closed: wontfix by spichugi. Opened by vashirov.

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

https://pagure.io/389-ds-base/pull-request/49961

Metadata Update from @vashirov:
- Custom field component adjusted to None
- Custom field origin adjusted to None
- Custom field reviewstatus adjusted to None
- Custom field type adjusted to None
- Custom field version adjusted to None

Metadata Update from @mreynolds:
- Issue set to the milestone: 1.4.0

Commit 2738fd00 relates to this ticket

Had to revert this commit for now:

22f2f9a15..3ca307d23 master -> master

The patch (https://pagure.io/389-ds-base/issue/49960#comment-532946) triggered a regression (https://pagure.io/389-ds-base/issue/50410#comment-572967). The RC of the regression is the unfixed (yet) ticket #47749 that is more complex to fix than to revert #49960

Metadata Update from @mreynolds:
- Issue priority set to: normal
- Issue set to the milestone: 1.4 backlog (was: 1.4.0)

Metadata Update from @mreynolds:
- Issue tagged with: Schema

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/389ds/389-ds-base/issues/3019

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix
- Issue status updated to: Closed (was: Open)

Metadata
Related Pull Requests