cryptlib  3.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros
Classes | Macros | Typedefs | Enumerations
acl.h File Reference
#include <limits.h>
#include "kernel/acl_perm.h"

Go to the source code of this file.

Classes

struct  RANGE_SUBRANGE_TYPE
 
struct  ATTRIBUTE_ACL
 
struct  ATTRIBUTE_ACL_ALT
 
struct  KEYMGMT_ACL
 
struct  PARAM_ACL
 
struct  OBJECT_ACL
 
struct  MESSAGE_ACL
 
struct  MECHANISM_ACL
 
struct  CRA
 
struct  CERTMGMT_ACL
 
struct  COMPARE_ACL
 
struct  CHECK_ACL
 
struct  CAA
 
struct  DEPENDENCY_ACL
 

Macros

#define ST_CTX_CONV   SUBTYPE_CTX_CONV
 
#define ST_CTX_PKC   SUBTYPE_CTX_PKC
 
#define ST_CTX_HASH   SUBTYPE_CTX_HASH
 
#define ST_CTX_MAC   SUBTYPE_CTX_MAC
 
#define ST_CTX_GENERIC   SUBTYPE_CTX_GENERIC
 
#define ST_CTX_ANY
 
#define ST_CERT_CERT   SUBTYPE_CERT_CERT
 
#define ST_CERT_CERTREQ   SUBTYPE_CERT_CERTREQ
 
#define ST_CERT_REQ_CERT   SUBTYPE_CERT_REQ_CERT
 
#define ST_CERT_REQ_REV   SUBTYPE_CERT_REQ_REV
 
#define ST_CERT_CERTCHAIN   SUBTYPE_CERT_CERTCHAIN
 
#define ST_CERT_ATTRCERT   SUBTYPE_CERT_ATTRCERT
 
#define ST_CERT_CRL   SUBTYPE_CERT_CRL
 
#define ST_CERT_CMSATTR   SUBTYPE_CERT_CMSATTR
 
#define ST_CERT_RTCS_REQ   SUBTYPE_CERT_RTCS_REQ
 
#define ST_CERT_RTCS_RESP   SUBTYPE_CERT_RTCS_RESP
 
#define ST_CERT_OCSP_REQ   SUBTYPE_CERT_OCSP_REQ
 
#define ST_CERT_OCSP_RESP   SUBTYPE_CERT_OCSP_RESP
 
#define ST_CERT_PKIUSER   SUBTYPE_CERT_PKIUSER
 
#define ST_CERT_ANY_CERT
 
#define ST_CERT_ANY
 
#define ST_KEYSET_FILE   SUBTYPE_KEYSET_FILE
 
#define ST_KEYSET_FILE_PARTIAL   SUBTYPE_KEYSET_FILE_PARTIAL
 
#define ST_KEYSET_FILE_RO   SUBTYPE_KEYSET_FILE_READONLY
 
#define ST_KEYSET_DBMS   SUBTYPE_KEYSET_DBMS
 
#define ST_KEYSET_DBMS_STORE   SUBTYPE_KEYSET_DBMS_STORE
 
#define ST_KEYSET_HTTP   SUBTYPE_KEYSET_HTTP
 
#define ST_KEYSET_LDAP   SUBTYPE_KEYSET_LDAP
 
#define ST_KEYSET_ANY
 
#define ST_ENV_ENV   SUBTYPE_ENV_ENV
 
#define ST_ENV_ENV_PGP   SUBTYPE_ENV_ENV_PGP
 
#define ST_ENV_DEENV   SUBTYPE_ENV_DEENV
 
#define ST_ENV_ANY   ( ST_ENV_ENV | ST_ENV_ENV_PGP | ST_ENV_DEENV )
 
#define ST_DEV_SYSTEM   SUBTYPE_DEV_SYSTEM
 
#define ST_DEV_P11   SUBTYPE_DEV_PKCS11
 
#define ST_DEV_CAPI   SUBTYPE_DEV_CRYPTOAPI
 
#define ST_DEV_HW   SUBTYPE_DEV_HARDWARE
 
#define ST_DEV_ANY_STD   ( ST_DEV_P11 | ST_DEV_CAPI | ST_DEV_HW )
 
#define ST_DEV_ANY   ( ST_DEV_ANY_STD | ST_DEV_SYSTEM )
 
#define ST_SESS_SSH   SUBTYPE_SESSION_SSH
 
#define ST_SESS_SSH_SVR   SUBTYPE_SESSION_SSH_SVR
 
#define ST_SESS_SSL   SUBTYPE_SESSION_SSL
 
#define ST_SESS_SSL_SVR   SUBTYPE_SESSION_SSL_SVR
 
#define ST_SESS_RTCS   SUBTYPE_SESSION_RTCS
 
#define ST_SESS_RTCS_SVR   SUBTYPE_SESSION_RTCS_SVR
 
#define ST_SESS_OCSP   SUBTYPE_SESSION_OCSP
 
#define ST_SESS_OCSP_SVR   SUBTYPE_SESSION_OCSP_SVR
 
#define ST_SESS_TSP   SUBTYPE_SESSION_TSP
 
#define ST_SESS_TSP_SVR   SUBTYPE_SESSION_TSP_SVR
 
#define ST_SESS_CMP   SUBTYPE_SESSION_CMP
 
#define ST_SESS_CMP_SVR   SUBTYPE_SESSION_CMP_SVR
 
#define ST_SESS_SCEP   SUBTYPE_SESSION_SCEP
 
#define ST_SESS_SCEP_SVR   SUBTYPE_SESSION_SCEP_SVR
 
#define ST_SESS_CERT_SVR   SUBTYPE_SESSION_CERT_SVR
 
#define ST_SESS_ANY_SVR
 
#define ST_SESS_ANY_CLIENT
 
#define ST_SESS_ANY_DATA
 
#define ST_SESS_ANY_REQRESP
 
#define ST_SESS_ANY_SEC
 
#define ST_SESS_ANY   ( ST_SESS_ANY_CLIENT | ST_SESS_ANY_SVR )
 
#define ST_USER_NORMAL   SUBTYPE_USER_NORMAL
 
#define ST_USER_SO   SUBTYPE_USER_SO
 
#define ST_USER_CA   SUBTYPE_USER_CA
 
#define ST_USER_ANY   ( ST_USER_NORMAL | ST_USER_SO | ST_USER_CA )
 
#define ST_ANY_A   ( ST_CTX_ANY | ST_CERT_ANY )
 
#define ST_ANY_B   ( ST_ENV_ANY | ST_KEYSET_ANY | ST_DEV_ANY )
 
#define ST_ANY_C   ( ST_SESS_ANY | ST_USER_ANY )
 
#define ST_NONE   0
 
#define ROUTE_NONE   OBJECT_TYPE_NONE, NULL
 
#define ROUTE(target)   ( target ), findTargetType
 
#define ROUTE_ALT(target, altTarget)   ( target ) | ( ( altTarget ) << 8 ), findTargetType
 
#define ROUTE_ALT2(target, altTarget1, altTarget2)   ( target ) | ( ( altTarget1 ) << 8 ) | ( ( altTarget2 ) << 16 ), findTargetType
 
#define ROUTE_FIXED(target)   ( target ), checkTargetType
 
#define ROUTE_FIXED_ALT(target, altTarget)   ( target ) | ( ( altTarget ) << 8 ), checkTargetType
 
#define ROUTE_IMPLICIT   OBJECT_TYPE_LAST, findTargetType
 
#define ROUTE_SPECIAL(function)   OBJECT_TYPE_NONE, ( route##function )
 
#define isImplicitRouting(target)   ( ( target ) == OBJECT_TYPE_LAST )
 
#define isExplicitRouting(target)   ( ( target ) == OBJECT_TYPE_NONE )
 
#define RANGE_EXT_MARKER   ( -1000 )/* Marker to denote extended range value */
 
#define RANGE_ANY   RANGE_EXT_MARKER, RANGEVAL_ANY
 
#define RANGE_ALLOWEDVALUES   RANGE_EXT_MARKER, RANGEVAL_ALLOWEDVALUES
 
#define RANGE_SUBRANGES   RANGE_EXT_MARKER, RANGEVAL_SUBRANGES
 
#define RANGE_SUBTYPED   RANGE_EXT_MARKER, RANGEVAL_SUBTYPED
 
#define RANGE(low, high)   ( low ), ( high )
 
#define RANGE_MAX   ( INT_MAX - 128 )
 
#define isSpecialRange(attributeACL)   ( ( attributeACL )->lowRange == RANGE_EXT_MARKER )
 
#define getSpecialRangeType(attributeACL)   ( ( attributeACL )->highRange )
 
#define getSpecialRangeInfo(attributeACL)   ( ( attributeACL )->extendedInfo )
 
#define ATTRIBUTE_FLAG_NONE   0x00
 
#define ATTRIBUTE_FLAG_PROPERTY   0x01
 
#define ATTRIBUTE_FLAG_TRIGGER   0x02
 
#define ATTRIBUTE_FLAG_LAST   0x04
 
#define ACL_FLAG_NONE   0x00
 
#define ACL_FLAG_LOW_STATE   0x01
 
#define ACL_FLAG_HIGH_STATE   0x02
 
#define ACL_FLAG_ANY_STATE   0x03
 
#define ACL_FLAG_ROUTE_TO_CTX   0x04
 
#define ACL_FLAG_ROUTE_TO_CERT   0x08
 
#define ACL_FLAG_STATE_MASK   0x03
 
#define checkObjectState(flags, objectHandle)
 
#define MKACL_B(attribute, subTypeA, subTypeB, subTypeC, access, routing)
 
#define MKACL_N(attribute, subTypeA, subTypeB, subTypeC, access, routing, range)
 
#define MKACL_S(attribute, subTypeA, subTypeB, subTypeC, access, routing, range)
 
#define MKACL_WCS(attribute, subTypeA, subTypeB, subTypeC, access, routing, range)
 
#define MKACL_O(attribute, subTypeA, subTypeB, subTypeC, access, routing, type)
 
#define MKACL_T(attribute, subTypeA, subTypeB, subTypeC, access, routing)
 
#define MKACL_X(attribute, subTypeA, subTypeB, subTypeC, access, routing, subACL)
 
#define MKACL_B_EX(attribute, subTypeA, subTypeB, subTypeC, access, flags, routing)
 
#define MKACL_N_EX(attribute, subTypeA, subTypeB, subTypeC, access, flags, routing, range)
 
#define MKACL_S_EX(attribute, subTypeA, subTypeB, subTypeC, access, flags, routing, range)
 
#define MKACL_O_EX(attribute, subTypeA, subTypeB, subTypeC, access, flags, routing, type)
 
#define MKACL_X_EX(attribute, subTypeA, subTypeB, subTypeC, access, flags, routing, subACL)
 
#define MKACL(attribute, valueType, subTypeA, subTypeB, subTypeC, access, flags, routing, range)
 
#define MKACL_EX(attribute, valueType, subTypeA, subTypeB, subTypeC, access, flags, routing, range, allowed)
 
#define MKACL_END()
 
#define MKACL_END_SUBACL()
 
#define MKACL_S_ALT(attribute, subTypeA, subTypeB, subTypeC, access, routing, range)
 
#define MK_KEYACL(itemType, keysetRWDSubType, keysetFNQSubType, objectSubType, keyIDs, flags, idUseFlags, pwUseFlags)
 
#define MK_KEYACL_RWD(itemType, keysetR_SubType, keysetW_SubType, keysetD_SubType, keysetFN_SubType, keysetQ_SubType, objectSubType, keyIDs, flags, idUseFlags, pwUseFlags)
 
#define MK_KEYACL_EX(itemType, keysetR_SubType, keysetW_SubType, keysetD_SubType, keysetFN_SubType, keysetQ_SubType, objectSubType, keyIDs, flags, idUseFlags, pwUseFlags, specificKeysetType, specificObjectType)
 
#define MKACP_B()   { PARAM_VALUE_BOOLEAN, 0, 0, 0, 0, 0, 0 }
 
#define MKACP_N(min, max)   { PARAM_VALUE_NUMERIC, min, max, 0, 0, 0, 0 }
 
#define MKACP_S(minLen, maxLen)   { PARAM_VALUE_STRING, minLen, maxLen, 0, 0, 0, 0 }
 
#define MKACP_S_OPT(minLen, maxLen)   { PARAM_VALUE_STRING_OPT, minLen, maxLen, 0, 0, 0, 0 }
 
#define MKACP_S_NONE()   { PARAM_VALUE_STRING_NONE, 0, 0, 0, 0, 0, 0 }
 
#define MKACP_O(subTypeA, flags)   { PARAM_VALUE_OBJECT, 0, 0, subTypeA, ST_NONE, ST_NONE, flags }
 
#define MKACP_UNUSED()   { PARAM_VALUE_UNUSED, 0, 0, 0, 0, 0, 0 }
 
#define MKACP_END()   { PARAM_VALUE_NONE, 0, 0, 0, 0, 0 }
 
#define paramInfo(parentACL, paramNo)   parentACL->paramACL[ paramNo ]
 
#define objectST(objectHandle)   objectTable[ objectHandle ].subType
 
#define checkParamNumeric(paramACL, value)
 
#define checkParamString(paramACL, data, dataLen)
 
#define checkParamObject(paramACL, objectHandle)
 
#define MK_CMPACL_S(objSTA, lowRange, highRange)
 
#define MK_CMPACL_O(objSTA, pObjSTA)
 
#define MK_CMPACL_END()
 
#define MK_CHKACL(action, objSTA)   action, { objSTA, ST_NONE, ST_NONE, ACL_FLAG_HIGH_STATE }, NULL
 
#define MK_CHKACL_EX(action, objSTA, objSTB, flags)   action, { objSTA, objSTB, ST_NONE, flags }
 
#define MK_CHKACL_EXT(action, objSTA, extACL)   action, { objSTA, ST_NONE, ST_NONE, ACL_FLAG_HIGH_STATE }, extACL
 
#define MK_CHKACL_END()   MESSAGE_NONE, { ST_NONE, ST_NONE, ST_NONE, ACL_FLAG_NONE }
 
#define MK_CHKACL_ALT(depObj, depObjSTA, fdCheck)   depObj, { depObjSTA, ST_NONE, ST_NONE, ACL_FLAG_HIGH_STATE }, fdCheck
 
#define MK_CHKACL_ALT_END()
 
#define MK_DEPACL(objType, objSTA, objSTB, objSTC, dObjType, dObjSTA, dObjSTB, dObjSTC)   { objType, objSTA, objSTB, objSTC, dObjType, dObjSTA, dObjSTB, dObjSTC, DEP_FLAG_NONE }
 
#define MK_DEPACL_EX(objType, objSTA, objSTB, objSTC, dObjType, dObjSTA, dObjSTB, dObjSTC, flags)   { objType, objSTA, objSTB, objSTC, dObjType, dObjSTA, dObjSTB, dObjSTC, flags }
 
#define MK_DEPACL_END()   { OBJECT_TYPE_NONE, 0, 0, 0, OBJECT_TYPE_NONE, 0, 0, 0, DEP_FLAG_NONE }
 
#define DEP_FLAG_NONE   0x00 /* No dependency flag */
 
#define DEP_FLAG_UPDATEDEP   0x01 /* Update dependent object */
 

Typedefs

typedef struct CRA CREATE_ACL
 
typedef struct CAA CHECK_ALT_ACL
 

Enumerations

enum  RANGEVAL_TYPE {
  RANGEVAL_NONE, RANGEVAL_ANY, RANGEVAL_ALLOWEDVALUES, RANGEVAL_SUBRANGES,
  RANGEVAL_SUBTYPED, RANGEVAL_LAST
}
 
enum  ATTRIBUTE_VALUE_TYPE {
  ATTRIBUTE_VALUE_NONE, ATTRIBUTE_VALUE_BOOLEAN, ATTRIBUTE_VALUE_NUMERIC, ATTRIBUTE_VALUE_STRING,
  ATTRIBUTE_VALUE_WCSTRING, ATTRIBUTE_VALUE_OBJECT, ATTRIBUTE_VALUE_TIME, ATTRIBUTE_VALUE_SPECIAL,
  ATTRIBUTE_VALUE_LAST
}
 
enum  PARAM_VALUE_TYPE {
  PARAM_VALUE_NONE, PARAM_VALUE_BOOLEAN, PARAM_VALUE_NUMERIC, PARAM_VALUE_STRING,
  PARAM_VALUE_STRING_OPT, PARAM_VALUE_STRING_NONE, PARAM_VALUE_OBJECT, PARAM_VALUE_UNUSED,
  PARAM_VALUE_LAST
}
 

Macro Definition Documentation

#define ACL_FLAG_ANY_STATE   0x03

Definition at line 308 of file acl.h.

#define ACL_FLAG_HIGH_STATE   0x02

Definition at line 307 of file acl.h.

#define ACL_FLAG_LOW_STATE   0x01

Definition at line 306 of file acl.h.

#define ACL_FLAG_NONE   0x00

Definition at line 305 of file acl.h.

#define ACL_FLAG_ROUTE_TO_CERT   0x08

Definition at line 310 of file acl.h.

#define ACL_FLAG_ROUTE_TO_CTX   0x04

Definition at line 309 of file acl.h.

#define ACL_FLAG_STATE_MASK   0x03

Definition at line 312 of file acl.h.

#define ATTRIBUTE_FLAG_LAST   0x04

Definition at line 285 of file acl.h.

#define ATTRIBUTE_FLAG_NONE   0x00

Definition at line 282 of file acl.h.

#define ATTRIBUTE_FLAG_PROPERTY   0x01

Definition at line 283 of file acl.h.

#define ATTRIBUTE_FLAG_TRIGGER   0x02

Definition at line 284 of file acl.h.

#define checkObjectState (   flags,
  objectHandle 
)
Value:
( ( ( flags & ACL_FLAG_LOW_STATE ) && \
!isInHighState( objectHandle ) ) || \
( ( flags & ACL_FLAG_HIGH_STATE ) && \
isInHighState( objectHandle ) ) )

Definition at line 316 of file acl.h.

#define checkParamNumeric (   paramACL,
  value 
)
Value:
( ( paramACL.valueType == PARAM_VALUE_UNUSED && \
( paramACL.valueType == PARAM_VALUE_BOOLEAN && \
( value == TRUE || value == FALSE ) ) || \
( paramACL.valueType == PARAM_VALUE_NUMERIC && \
( value >= paramACL.lowRange && value <= paramACL.highRange ) ) )

Definition at line 700 of file acl.h.

#define checkParamObject (   paramACL,
  objectHandle 
)
Value:
( ( paramACL.valueType == PARAM_VALUE_UNUSED && \
objectHandle == CRYPT_UNUSED ) || \
( paramACL.valueType == PARAM_VALUE_OBJECT && \
( ( paramACL.subTypeA & objectST( objectHandle ) ) == \
objectST( objectHandle ) || \
( paramACL.subTypeB & objectST( objectHandle ) ) == \
objectST( objectHandle ) || \
( paramACL.subTypeC & objectST( objectHandle ) ) == \
objectST( objectHandle ) ) && \
checkObjectState( paramACL.flags, objectHandle ) ) )

Definition at line 718 of file acl.h.

#define checkParamString (   paramACL,
  data,
  dataLen 
)
Value:
( ( ( paramACL.valueType == PARAM_VALUE_STRING_NONE || \
paramACL.valueType == PARAM_VALUE_STRING_OPT ) && \
data == NULL && dataLen == 0 ) || \
( ( paramACL.valueType == PARAM_VALUE_STRING || \
paramACL.valueType == PARAM_VALUE_STRING_OPT ) && \
( dataLen >= paramACL.lowRange && \
dataLen <= paramACL.highRange ) && \
isReadPtr( data, dataLen ) ) )

Definition at line 708 of file acl.h.

#define DEP_FLAG_NONE   0x00 /* No dependency flag */

Definition at line 872 of file acl.h.

#define DEP_FLAG_UPDATEDEP   0x01 /* Update dependent object */

Definition at line 873 of file acl.h.

#define getSpecialRangeInfo (   attributeACL)    ( ( attributeACL )->extendedInfo )

Definition at line 264 of file acl.h.

#define getSpecialRangeType (   attributeACL)    ( ( attributeACL )->highRange )

Definition at line 263 of file acl.h.

#define isExplicitRouting (   target)    ( ( target ) == OBJECT_TYPE_NONE )

Definition at line 200 of file acl.h.

#define isImplicitRouting (   target)    ( ( target ) == OBJECT_TYPE_LAST )

Definition at line 199 of file acl.h.

#define isSpecialRange (   attributeACL)    ( ( attributeACL )->lowRange == RANGE_EXT_MARKER )

Definition at line 261 of file acl.h.

#define MK_CHKACL (   action,
  objSTA 
)    action, { objSTA, ST_NONE, ST_NONE, ACL_FLAG_HIGH_STATE }, NULL

Definition at line 835 of file acl.h.

#define MK_CHKACL_ALT (   depObj,
  depObjSTA,
  fdCheck 
)    depObj, { depObjSTA, ST_NONE, ST_NONE, ACL_FLAG_HIGH_STATE }, fdCheck

Definition at line 844 of file acl.h.

#define MK_CHKACL_ALT_END ( )
Value:

Definition at line 846 of file acl.h.

#define MK_CHKACL_END ( )    MESSAGE_NONE, { ST_NONE, ST_NONE, ST_NONE, ACL_FLAG_NONE }

Definition at line 841 of file acl.h.

#define MK_CHKACL_EX (   action,
  objSTA,
  objSTB,
  flags 
)    action, { objSTA, objSTB, ST_NONE, flags }

Definition at line 837 of file acl.h.

#define MK_CHKACL_EXT (   action,
  objSTA,
  extACL 
)    action, { objSTA, ST_NONE, ST_NONE, ACL_FLAG_HIGH_STATE }, extACL

Definition at line 839 of file acl.h.

#define MK_CMPACL_END ( )
Value:

Definition at line 799 of file acl.h.

#define MK_CMPACL_O (   objSTA,
  pObjSTA 
)
Value:

Definition at line 796 of file acl.h.

#define MK_CMPACL_S (   objSTA,
  lowRange,
  highRange 
)
Value:
{ MKACP_S( lowRange, highRange ) }

Definition at line 793 of file acl.h.

#define MK_DEPACL (   objType,
  objSTA,
  objSTB,
  objSTC,
  dObjType,
  dObjSTA,
  dObjSTB,
  dObjSTC 
)    { objType, objSTA, objSTB, objSTC, dObjType, dObjSTA, dObjSTB, dObjSTC, DEP_FLAG_NONE }

Definition at line 863 of file acl.h.

#define MK_DEPACL_END ( )    { OBJECT_TYPE_NONE, 0, 0, 0, OBJECT_TYPE_NONE, 0, 0, 0, DEP_FLAG_NONE }

Definition at line 867 of file acl.h.

#define MK_DEPACL_EX (   objType,
  objSTA,
  objSTB,
  objSTC,
  dObjType,
  dObjSTA,
  dObjSTB,
  dObjSTC,
  flags 
)    { objType, objSTA, objSTB, objSTC, dObjType, dObjSTA, dObjSTB, dObjSTC, flags }

Definition at line 865 of file acl.h.

#define MK_KEYACL (   itemType,
  keysetRWDSubType,
  keysetFNQSubType,
  objectSubType,
  keyIDs,
  flags,
  idUseFlags,
  pwUseFlags 
)
Value:
{ itemType, ST_NONE, keysetRWDSubType, ST_NONE, \
ST_NONE, keysetRWDSubType, ST_NONE, \
ST_NONE, keysetRWDSubType, ST_NONE, \
ST_NONE, keysetFNQSubType, ST_NONE, \
ST_NONE, keysetFNQSubType, ST_NONE, \
objectSubType, ST_NONE, ST_NONE, \
keyIDs, flags, idUseFlags, pwUseFlags, \
ST_NONE, ST_NONE, ST_NONE, ST_NONE, ST_NONE, ST_NONE }

Definition at line 598 of file acl.h.

#define MK_KEYACL_EX (   itemType,
  keysetR_SubType,
  keysetW_SubType,
  keysetD_SubType,
  keysetFN_SubType,
  keysetQ_SubType,
  objectSubType,
  keyIDs,
  flags,
  idUseFlags,
  pwUseFlags,
  specificKeysetType,
  specificObjectType 
)
Value:
{ itemType, ST_NONE, keysetR_SubType, ST_NONE, \
ST_NONE, keysetW_SubType, ST_NONE, \
ST_NONE, keysetD_SubType, ST_NONE, \
ST_NONE, keysetFN_SubType, ST_NONE, \
ST_NONE, keysetQ_SubType, ST_NONE, \
objectSubType, ST_NONE, ST_NONE, \
keyIDs, flags, idUseFlags, pwUseFlags, \
ST_NONE, specificKeysetType, ST_NONE, \
specificObjectType, ST_NONE, ST_NONE }

Definition at line 619 of file acl.h.

#define MK_KEYACL_RWD (   itemType,
  keysetR_SubType,
  keysetW_SubType,
  keysetD_SubType,
  keysetFN_SubType,
  keysetQ_SubType,
  objectSubType,
  keyIDs,
  flags,
  idUseFlags,
  pwUseFlags 
)
Value:
{ itemType, ST_NONE, keysetR_SubType, ST_NONE, \
ST_NONE, keysetW_SubType, ST_NONE, \
ST_NONE, keysetD_SubType, ST_NONE, \
ST_NONE, keysetFN_SubType, ST_NONE, \
ST_NONE, keysetQ_SubType, ST_NONE, \
objectSubType, ST_NONE, ST_NONE, \
keyIDs, flags, idUseFlags, pwUseFlags, \
ST_NONE, ST_NONE, ST_NONE, ST_NONE, ST_NONE, ST_NONE }

Definition at line 608 of file acl.h.

#define MKACL (   attribute,
  valueType,
  subTypeA,
  subTypeB,
  subTypeC,
  access,
  flags,
  routing,
  range 
)
Value:
{ attribute, valueType, subTypeA, subTypeB, subTypeC, access, flags, \
routing, range, NULL }

Definition at line 425 of file acl.h.

#define MKACL_B (   attribute,
  subTypeA,
  subTypeB,
  subTypeC,
  access,
  routing 
)
Value:
{ attribute, ATTRIBUTE_VALUE_BOOLEAN, subTypeA, subTypeB, subTypeC, access, \
0, routing, FALSE, TRUE, NULL }

Definition at line 385 of file acl.h.

#define MKACL_B_EX (   attribute,
  subTypeA,
  subTypeB,
  subTypeC,
  access,
  flags,
  routing 
)
Value:
{ attribute, ATTRIBUTE_VALUE_BOOLEAN, subTypeA, subTypeB, subTypeC, access, \
flags, routing, FALSE, TRUE, NULL }

Definition at line 408 of file acl.h.

#define MKACL_END ( )
Value:
0, 0, NULL, 0, 0, NULL }

Definition at line 433 of file acl.h.

#define MKACL_END_SUBACL ( )
Value:

Definition at line 439 of file acl.h.

#define MKACL_EX (   attribute,
  valueType,
  subTypeA,
  subTypeB,
  subTypeC,
  access,
  flags,
  routing,
  range,
  allowed 
)
Value:
{ attribute, valueType, subTypeA, subTypeB, subTypeC, access, flags, \
routing, range, allowed }

Definition at line 428 of file acl.h.

#define MKACL_N (   attribute,
  subTypeA,
  subTypeB,
  subTypeC,
  access,
  routing,
  range 
)
Value:
{ attribute, ATTRIBUTE_VALUE_NUMERIC, subTypeA, subTypeB, subTypeC, access, \
0, routing, range, NULL }

Definition at line 388 of file acl.h.

#define MKACL_N_EX (   attribute,
  subTypeA,
  subTypeB,
  subTypeC,
  access,
  flags,
  routing,
  range 
)
Value:
{ attribute, ATTRIBUTE_VALUE_NUMERIC, subTypeA, subTypeB, subTypeC, access, \
flags, routing, range, NULL }

Definition at line 411 of file acl.h.

#define MKACL_O (   attribute,
  subTypeA,
  subTypeB,
  subTypeC,
  access,
  routing,
  type 
)
Value:
{ attribute, ATTRIBUTE_VALUE_OBJECT, subTypeA, subTypeB, subTypeC, access, \
0, routing, 0, 0, type }

Definition at line 397 of file acl.h.

#define MKACL_O_EX (   attribute,
  subTypeA,
  subTypeB,
  subTypeC,
  access,
  flags,
  routing,
  type 
)
Value:
{ attribute, ATTRIBUTE_VALUE_OBJECT, subTypeA, subTypeB, subTypeC, access, \
flags, routing, 0, 0, type }

Definition at line 417 of file acl.h.

#define MKACL_S (   attribute,
  subTypeA,
  subTypeB,
  subTypeC,
  access,
  routing,
  range 
)
Value:
{ attribute, ATTRIBUTE_VALUE_STRING, subTypeA, subTypeB, subTypeC, access, \
0, routing, range, NULL }

Definition at line 391 of file acl.h.

#define MKACL_S_ALT (   attribute,
  subTypeA,
  subTypeB,
  subTypeC,
  access,
  routing,
  range 
)
Value:
{ attribute, ATTRIBUTE_VALUE_STRING, subTypeA, subTypeB, subTypeC, access, \
0, routing, range, NULL }

Definition at line 534 of file acl.h.

#define MKACL_S_EX (   attribute,
  subTypeA,
  subTypeB,
  subTypeC,
  access,
  flags,
  routing,
  range 
)
Value:
{ attribute, ATTRIBUTE_VALUE_STRING, subTypeA, subTypeB, subTypeC, access, \
flags, routing, range, NULL }

Definition at line 414 of file acl.h.

#define MKACL_T (   attribute,
  subTypeA,
  subTypeB,
  subTypeC,
  access,
  routing 
)
Value:
{ attribute, ATTRIBUTE_VALUE_TIME, subTypeA, subTypeB, subTypeC, access, \
0, routing, 0, 0, NULL }

Definition at line 400 of file acl.h.

#define MKACL_WCS (   attribute,
  subTypeA,
  subTypeB,
  subTypeC,
  access,
  routing,
  range 
)
Value:
{ attribute, ATTRIBUTE_VALUE_WCSTRING, subTypeA, subTypeB, subTypeC, access, \
0, routing, range, NULL }

Definition at line 394 of file acl.h.

#define MKACL_X (   attribute,
  subTypeA,
  subTypeB,
  subTypeC,
  access,
  routing,
  subACL 
)
Value:
{ attribute, ATTRIBUTE_VALUE_SPECIAL, subTypeA, subTypeB, subTypeC, access, \
0, routing, RANGE_SUBTYPED, subACL }

Definition at line 403 of file acl.h.

#define MKACL_X_EX (   attribute,
  subTypeA,
  subTypeB,
  subTypeC,
  access,
  flags,
  routing,
  subACL 
)
Value:
{ attribute, ATTRIBUTE_VALUE_SPECIAL, subTypeA, subTypeB, subTypeC, access, \
flags, routing, RANGE_SUBTYPED, subACL }

Definition at line 420 of file acl.h.

#define MKACP_B ( )    { PARAM_VALUE_BOOLEAN, 0, 0, 0, 0, 0, 0 }

Definition at line 669 of file acl.h.

#define MKACP_END ( )    { PARAM_VALUE_NONE, 0, 0, 0, 0, 0 }

Definition at line 686 of file acl.h.

#define MKACP_N (   min,
  max 
)    { PARAM_VALUE_NUMERIC, min, max, 0, 0, 0, 0 }

Definition at line 671 of file acl.h.

#define MKACP_O (   subTypeA,
  flags 
)    { PARAM_VALUE_OBJECT, 0, 0, subTypeA, ST_NONE, ST_NONE, flags }

Definition at line 679 of file acl.h.

#define MKACP_S (   minLen,
  maxLen 
)    { PARAM_VALUE_STRING, minLen, maxLen, 0, 0, 0, 0 }

Definition at line 673 of file acl.h.

#define MKACP_S_NONE ( )    { PARAM_VALUE_STRING_NONE, 0, 0, 0, 0, 0, 0 }

Definition at line 677 of file acl.h.

#define MKACP_S_OPT (   minLen,
  maxLen 
)    { PARAM_VALUE_STRING_OPT, minLen, maxLen, 0, 0, 0, 0 }

Definition at line 675 of file acl.h.

#define MKACP_UNUSED ( )    { PARAM_VALUE_UNUSED, 0, 0, 0, 0, 0, 0 }

Definition at line 681 of file acl.h.

#define objectST (   objectHandle)    objectTable[ objectHandle ].subType

Definition at line 696 of file acl.h.

#define paramInfo (   parentACL,
  paramNo 
)    parentACL->paramACL[ paramNo ]

Definition at line 692 of file acl.h.

#define RANGE (   low,
  high 
)    ( low ), ( high )

Definition at line 244 of file acl.h.

#define RANGE_ALLOWEDVALUES   RANGE_EXT_MARKER, RANGEVAL_ALLOWEDVALUES

Definition at line 241 of file acl.h.

#define RANGE_ANY   RANGE_EXT_MARKER, RANGEVAL_ANY

Definition at line 240 of file acl.h.

#define RANGE_EXT_MARKER   ( -1000 )/* Marker to denote extended range value */

Definition at line 238 of file acl.h.

#define RANGE_MAX   ( INT_MAX - 128 )

Definition at line 252 of file acl.h.

#define RANGE_SUBRANGES   RANGE_EXT_MARKER, RANGEVAL_SUBRANGES

Definition at line 242 of file acl.h.

#define RANGE_SUBTYPED   RANGE_EXT_MARKER, RANGEVAL_SUBTYPED

Definition at line 243 of file acl.h.

#define ROUTE (   target)    ( target ), findTargetType

Definition at line 182 of file acl.h.

#define ROUTE_ALT (   target,
  altTarget 
)    ( target ) | ( ( altTarget ) << 8 ), findTargetType

Definition at line 184 of file acl.h.

#define ROUTE_ALT2 (   target,
  altTarget1,
  altTarget2 
)    ( target ) | ( ( altTarget1 ) << 8 ) | ( ( altTarget2 ) << 16 ), findTargetType

Definition at line 186 of file acl.h.

#define ROUTE_FIXED (   target)    ( target ), checkTargetType

Definition at line 188 of file acl.h.

#define ROUTE_FIXED_ALT (   target,
  altTarget 
)    ( target ) | ( ( altTarget ) << 8 ), checkTargetType

Definition at line 190 of file acl.h.

#define ROUTE_IMPLICIT   OBJECT_TYPE_LAST, findTargetType

Definition at line 192 of file acl.h.

#define ROUTE_NONE   OBJECT_TYPE_NONE, NULL

Definition at line 180 of file acl.h.

#define ROUTE_SPECIAL (   function)    OBJECT_TYPE_NONE, ( route##function )

Definition at line 194 of file acl.h.

#define ST_ANY_A   ( ST_CTX_ANY | ST_CERT_ANY )

Definition at line 121 of file acl.h.

#define ST_ANY_B   ( ST_ENV_ANY | ST_KEYSET_ANY | ST_DEV_ANY )

Definition at line 122 of file acl.h.

#define ST_ANY_C   ( ST_SESS_ANY | ST_USER_ANY )

Definition at line 123 of file acl.h.

#define ST_CERT_ANY
Value:
ST_CERT_REQ_REV | ST_CERT_CRL | \
ST_CERT_CMSATTR | ST_CERT_RTCS_REQ | \
ST_CERT_RTCS_RESP | ST_CERT_OCSP_REQ | \
ST_CERT_OCSP_RESP | ST_CERT_PKIUSER )

Definition at line 49 of file acl.h.

#define ST_CERT_ANY_CERT
Value:
SUBTYPE_CERT_REQ_CERT | ST_CERT_CERTCHAIN )

Definition at line 47 of file acl.h.

#define ST_CERT_ATTRCERT   SUBTYPE_CERT_ATTRCERT

Definition at line 39 of file acl.h.

#define ST_CERT_CERT   SUBTYPE_CERT_CERT

Definition at line 34 of file acl.h.

#define ST_CERT_CERTCHAIN   SUBTYPE_CERT_CERTCHAIN

Definition at line 38 of file acl.h.

#define ST_CERT_CERTREQ   SUBTYPE_CERT_CERTREQ

Definition at line 35 of file acl.h.

#define ST_CERT_CMSATTR   SUBTYPE_CERT_CMSATTR

Definition at line 41 of file acl.h.

#define ST_CERT_CRL   SUBTYPE_CERT_CRL

Definition at line 40 of file acl.h.

#define ST_CERT_OCSP_REQ   SUBTYPE_CERT_OCSP_REQ

Definition at line 44 of file acl.h.

#define ST_CERT_OCSP_RESP   SUBTYPE_CERT_OCSP_RESP

Definition at line 45 of file acl.h.

#define ST_CERT_PKIUSER   SUBTYPE_CERT_PKIUSER

Definition at line 46 of file acl.h.

#define ST_CERT_REQ_CERT   SUBTYPE_CERT_REQ_CERT

Definition at line 36 of file acl.h.

#define ST_CERT_REQ_REV   SUBTYPE_CERT_REQ_REV

Definition at line 37 of file acl.h.

#define ST_CERT_RTCS_REQ   SUBTYPE_CERT_RTCS_REQ

Definition at line 42 of file acl.h.

#define ST_CERT_RTCS_RESP   SUBTYPE_CERT_RTCS_RESP

Definition at line 43 of file acl.h.

#define ST_CTX_ANY
Value:

Definition at line 31 of file acl.h.

#define ST_CTX_CONV   SUBTYPE_CTX_CONV

Definition at line 26 of file acl.h.

#define ST_CTX_GENERIC   SUBTYPE_CTX_GENERIC

Definition at line 30 of file acl.h.

#define ST_CTX_HASH   SUBTYPE_CTX_HASH

Definition at line 28 of file acl.h.

#define ST_CTX_MAC   SUBTYPE_CTX_MAC

Definition at line 29 of file acl.h.

#define ST_CTX_PKC   SUBTYPE_CTX_PKC

Definition at line 27 of file acl.h.

#define ST_DEV_ANY   ( ST_DEV_ANY_STD | ST_DEV_SYSTEM )

Definition at line 77 of file acl.h.

#define ST_DEV_ANY_STD   ( ST_DEV_P11 | ST_DEV_CAPI | ST_DEV_HW )

Definition at line 76 of file acl.h.

#define ST_DEV_CAPI   SUBTYPE_DEV_CRYPTOAPI

Definition at line 74 of file acl.h.

#define ST_DEV_HW   SUBTYPE_DEV_HARDWARE

Definition at line 75 of file acl.h.

#define ST_DEV_P11   SUBTYPE_DEV_PKCS11

Definition at line 73 of file acl.h.

#define ST_DEV_SYSTEM   SUBTYPE_DEV_SYSTEM

Definition at line 72 of file acl.h.

#define ST_ENV_ANY   ( ST_ENV_ENV | ST_ENV_ENV_PGP | ST_ENV_DEENV )

Definition at line 70 of file acl.h.

#define ST_ENV_DEENV   SUBTYPE_ENV_DEENV

Definition at line 69 of file acl.h.

#define ST_ENV_ENV   SUBTYPE_ENV_ENV

Definition at line 67 of file acl.h.

#define ST_ENV_ENV_PGP   SUBTYPE_ENV_ENV_PGP

Definition at line 68 of file acl.h.

#define ST_KEYSET_ANY
Value:
ST_KEYSET_FILE_RO | ST_KEYSET_DBMS | \
ST_KEYSET_DBMS_STORE | ST_KEYSET_HTTP | \
ST_KEYSET_LDAP )

Definition at line 62 of file acl.h.

#define ST_KEYSET_DBMS   SUBTYPE_KEYSET_DBMS

Definition at line 58 of file acl.h.

#define ST_KEYSET_DBMS_STORE   SUBTYPE_KEYSET_DBMS_STORE

Definition at line 59 of file acl.h.

#define ST_KEYSET_FILE   SUBTYPE_KEYSET_FILE

Definition at line 55 of file acl.h.

#define ST_KEYSET_FILE_PARTIAL   SUBTYPE_KEYSET_FILE_PARTIAL

Definition at line 56 of file acl.h.

#define ST_KEYSET_FILE_RO   SUBTYPE_KEYSET_FILE_READONLY

Definition at line 57 of file acl.h.

#define ST_KEYSET_HTTP   SUBTYPE_KEYSET_HTTP

Definition at line 60 of file acl.h.

#define ST_KEYSET_LDAP   SUBTYPE_KEYSET_LDAP

Definition at line 61 of file acl.h.

#define ST_NONE   0

Definition at line 124 of file acl.h.

#define ST_SESS_ANY   ( ST_SESS_ANY_CLIENT | ST_SESS_ANY_SVR )

Definition at line 111 of file acl.h.

#define ST_SESS_ANY_CLIENT
Value:
ST_SESS_OCSP | ST_SESS_TSP | ST_SESS_CMP | \
ST_SESS_SCEP )

Definition at line 98 of file acl.h.

#define ST_SESS_ANY_DATA
Value:

Definition at line 101 of file acl.h.

#define ST_SESS_ANY_REQRESP
Value:
ST_SESS_OCSP | ST_SESS_OCSP_SVR | \
ST_SESS_TSP | ST_SESS_TSP_SVR | \
ST_SESS_CMP | ST_SESS_CMP_SVR | \
ST_SESS_SCEP | ST_SESS_SCEP_SVR | \
ST_SESS_CERT_SVR )

Definition at line 103 of file acl.h.

#define ST_SESS_ANY_SEC
Value:
ST_SESS_CMP | ST_SESSION_CMP_SVR )

Definition at line 109 of file acl.h.

#define ST_SESS_ANY_SVR
Value:
ST_SESS_RTCS_SVR | ST_SESS_OCSP_SVR | \
ST_SESS_TSP_SVR | ST_SESS_CMP_SVR | \
ST_SESS_SCEP_SVR | ST_SESS_CERT_SVR )

Definition at line 94 of file acl.h.

#define ST_SESS_CERT_SVR   SUBTYPE_SESSION_CERT_SVR

Definition at line 93 of file acl.h.

#define ST_SESS_CMP   SUBTYPE_SESSION_CMP

Definition at line 89 of file acl.h.

#define ST_SESS_CMP_SVR   SUBTYPE_SESSION_CMP_SVR

Definition at line 90 of file acl.h.

#define ST_SESS_OCSP   SUBTYPE_SESSION_OCSP

Definition at line 85 of file acl.h.

#define ST_SESS_OCSP_SVR   SUBTYPE_SESSION_OCSP_SVR

Definition at line 86 of file acl.h.

#define ST_SESS_RTCS   SUBTYPE_SESSION_RTCS

Definition at line 83 of file acl.h.

#define ST_SESS_RTCS_SVR   SUBTYPE_SESSION_RTCS_SVR

Definition at line 84 of file acl.h.

#define ST_SESS_SCEP   SUBTYPE_SESSION_SCEP

Definition at line 91 of file acl.h.

#define ST_SESS_SCEP_SVR   SUBTYPE_SESSION_SCEP_SVR

Definition at line 92 of file acl.h.

#define ST_SESS_SSH   SUBTYPE_SESSION_SSH

Definition at line 79 of file acl.h.

#define ST_SESS_SSH_SVR   SUBTYPE_SESSION_SSH_SVR

Definition at line 80 of file acl.h.

#define ST_SESS_SSL   SUBTYPE_SESSION_SSL

Definition at line 81 of file acl.h.

#define ST_SESS_SSL_SVR   SUBTYPE_SESSION_SSL_SVR

Definition at line 82 of file acl.h.

#define ST_SESS_TSP   SUBTYPE_SESSION_TSP

Definition at line 87 of file acl.h.

#define ST_SESS_TSP_SVR   SUBTYPE_SESSION_TSP_SVR

Definition at line 88 of file acl.h.

#define ST_USER_ANY   ( ST_USER_NORMAL | ST_USER_SO | ST_USER_CA )

Definition at line 116 of file acl.h.

#define ST_USER_CA   SUBTYPE_USER_CA

Definition at line 115 of file acl.h.

#define ST_USER_NORMAL   SUBTYPE_USER_NORMAL

Definition at line 113 of file acl.h.

#define ST_USER_SO   SUBTYPE_USER_SO

Definition at line 114 of file acl.h.

Typedef Documentation

typedef struct CAA CHECK_ALT_ACL
typedef struct CRA CREATE_ACL

Enumeration Type Documentation

Enumerator:
ATTRIBUTE_VALUE_NONE 
ATTRIBUTE_VALUE_BOOLEAN 
ATTRIBUTE_VALUE_NUMERIC 
ATTRIBUTE_VALUE_STRING 
ATTRIBUTE_VALUE_WCSTRING 
ATTRIBUTE_VALUE_OBJECT 
ATTRIBUTE_VALUE_TIME 
ATTRIBUTE_VALUE_SPECIAL 
ATTRIBUTE_VALUE_LAST 

Definition at line 332 of file acl.h.

Enumerator:
PARAM_VALUE_NONE 
PARAM_VALUE_BOOLEAN 
PARAM_VALUE_NUMERIC 
PARAM_VALUE_STRING 
PARAM_VALUE_STRING_OPT 
PARAM_VALUE_STRING_NONE 
PARAM_VALUE_OBJECT 
PARAM_VALUE_UNUSED 
PARAM_VALUE_LAST 

Definition at line 643 of file acl.h.

Enumerator:
RANGEVAL_NONE 
RANGEVAL_ANY 
RANGEVAL_ALLOWEDVALUES 
RANGEVAL_SUBRANGES 
RANGEVAL_SUBTYPED 
RANGEVAL_LAST 

Definition at line 229 of file acl.h.