#
# freeradiusClient is a structural object which provides the base object for all freeradius clients.
# Only attributes which are common to all clients are provided by this object.
#
# freeradiusClient objects may be extended by AUX objects like radiusClient to add protocol specific
# attributes like radiusSecret.
#
# 11344.4.1.1.[1|2]
# |     | | |   |_ 1. Client attributes. .2 Client objects
# |     | | |_ Clients
# |     | |_ Internal
# |     |_ LDAP Attributes
# |_ Vendor
#
attributetype ( 1.3.6.1.4.1.11344.4.1.1.1.1
	NAME 'freeradiusClientIdentifier'
	DESC 'Client Identifier'
	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.1.2
	NAME 'freeradiusClientShortname'
	DESC 'Client Shortname'
	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.1.3
	NAME 'freeradiusClientType'
	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.1.4
	NAME 'freeradiusClientComment'
	DESC 'Client comment'
	EQUALITY caseIgnoreMatch
	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.1.5
	NAME 'freeradiusClientGroupDN'
	DESC 'Client group membership'
	EQUALITY distinguishedNameMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
  )

attributetype ( 1.3.6.1.4.1.11344.4.1.1.1.6
	NAME 'freeradiusClientIpV4Binding'
	DESC 'Client should only be able to access the server from this IPv4 address.'
	EQUALITY caseIgnoreMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
 )

attributetype ( 1.3.6.1.4.1.11344.4.1.1.1.7
	NAME 'freeradiusClientIpV6Binding'
	DESC 'Client should only be able to access the server from this IPv6 address'
	EQUALITY caseIgnoreMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
 )

objectclass ( 1.3.6.1.4.1.11344.4.1.1.2.1
	NAME 'freeradiusClient'
	DESC 'freeradiusClient object class'
	SUP top
	STRUCTURAL
	MUST ( freeradiusClientIdentifier )
	MAY ( freeradiusClientShortname $ freeradiusClientType $ freeradiusClientComment $ freeradiusClientGroupDN $ freeradiusClientIpV4Binding $ freeradiusClientIpV6Binding )
 )

#
# Similar to a freeradiusClient, but uses an alternative identifier, and represents a device which
# doesn't communicate directly with the RADIUS server.
#
objectclass ( 1.3.6.1.4.1.11344.4.1.1.2.2
	NAME 'freeradiusAccessDevice'
	DESC 'freeradiusAccessDevice object class'
	SUP top
	STRUCTURAL
	MUST ( freeradiusClientIdentifier )
	MAY ( freeradiusClientShortname $ freeradiusClientType $ freeradiusClientComment )
 )
