olcAttributeTypes: ( 1.3.6.1.4.1.11344.4.1.1.2.5 NAME 'freeradiusClientType' DESC 'Client Type' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
olcAttributeTypes: ( 1.3.6.1.4.1.11344.4.1.1.2.6 NAME 'freeradiusClientRequireMa' DESC 'Require Message Authenticator' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )
olcAttributeTypes: ( 1.3.6.1.4.1.11344.4.1.1.2.7 NAME 'freeradiusClientComment' DESC 'Client comment' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
-olcAttributeTypes: ( 1.3.6.1.4.1.11344.4.1.1.2.8 NAME 'freeradiusClientProto' DESC 'Client Type' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
-olcAttributeTypes: ( 1.3.6.1.4.1.11344.4.1.1.2.9 NAME 'freeradiusClientTransport' DESC 'Client Type' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
-olcObjectClasses: ( 1.3.6.1.4.1.11344.4.1.1.1.1 NAME 'freeradiusClient' DESC 'freeradiusClient object class' SUP top STRUCTURAL MUST ( freeradiusClientIdentifier $ freeradiusClientSecret ) MAY ( freeradiusClientShortname $ freeradiusClientVirtualServer $ freeradiusClientType $ freeradiusClientRequireMa $ freeradiusClientComment $ freeradiusClientProto $ freeradiusClientTransport ) )
+olcAttributeTypes: ( 1.3.6.1.4.1.11344.4.1.1.2.8 NAME 'freeradiusClientListener' DESC 'Listener to bind client to' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
+olcObjectClasses: ( 1.3.6.1.4.1.11344.4.1.1.1.1 NAME 'freeradiusClient' DESC 'freeradiusClient object class' SUP top STRUCTURAL MUST ( freeradiusClientIdentifier $ freeradiusClientSecret ) MAY ( freeradiusClientShortname $ freeradiusClientVirtualServer $ freeradiusClientType $ freeradiusClientRequireMa $ freeradiusClientComment $ freeradiusClientListener ) )
)
attributetype ( 1.3.6.1.4.1.11344.4.1.1.2.8
- NAME 'freeradiusClientProto'
- DESC 'Client Type'
- EQUALITY caseIgnoreMatch
- SUBSTR caseIgnoreSubstringsMatch
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
- SINGLE-VALUE
- )
-
-attributetype ( 1.3.6.1.4.1.11344.4.1.1.2.9
- NAME 'freeradiusClientTransport'
- DESC 'Client Type'
+ NAME 'freeradiusClientListener'
+ DESC 'Listener to bind client to'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
SUP top
STRUCTURAL
MUST ( freeradiusClientIdentifier $ freeradiusClientSecret )
- MAY ( freeradiusClientShortname $ freeradiusClientVirtualServer $ freeradiusClientType $ freeradiusClientRequireMa $ freeradiusClientComment $ freeradiusClientProto $ freeradiusClientTransport )
+ MAY ( freeradiusClientShortname $ freeradiusClientVirtualServer $ freeradiusClientType $ freeradiusClientRequireMa $ freeradiusClientComment $ freeradiusClientListener )
)
#!/bin/bash
+if [ -z "$1" ]; then
+ echo "Missing schema file"
+ exit 1
+fi
+
SCHEMA_CONV_DIR="$(mktemp -d)"
SCHEMA_IN=$1
SCHEMA_NAME=${SCHEMA_IN%%.*}
mkdir -p ${SCHEMA_CONV_DIR}/out
+echo "Converting ${SCHEMA_NAME} ${SCHEMA_IN} -> ${SCHEMA_OUT}"
+
slapcat -o ldif-wrap=no -f ${SCHEMA_CONV_DIR}/convert.conf -F ${SCHEMA_CONV_DIR}/out -n 0 -H "ldap:///cn={0}${SCHEMA_NAME},cn=schema,cn=config" | sed -re 's/\{[0-9]+\}//' \
-e '/^structuralObjectClass: /d' -e '/^entryUUID: /d' -e '/^creatorsName: /d' \
-e '/^createTimestamp: /d' -e '/^entryCSN: /d' -e '/^modifiersName: /d' \