Open SCAP Library: OVAL

Open SCAP Library

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

Modules | Files | Enumerations | Functions
OVAL

Open Vulnerability and Assessment Language. More...

## Modules
| OVAL Agent
| OVAL Agent interface.
| OVAL Definitions
| Interface for Definition model.
| OVAL System Characteristics
| Interface for System Characteristics model.
| OVAL Results
| Interface for Results model.
| OVAL Directives
| Interface for Directives model.
| OVAL External Variable Binding
| Interface to Variable model.
| System checking mechanism - probes
| OVALADT
| Interface for Definition model.

## Files
file | oval_types.h

## Enumerations
enum | oval_family_t { OVAL_FAMILY_UNKNOWN = 0, OVAL_FAMILY_AIX = 1000, OVAL_FAMILY_APACHE = 2000, OVAL_FAMILY_CATOS = 3000, OVAL_FAMILY_ESX = 4000, OVAL_FAMILY_FREEBSD = 5000, OVAL_FAMILY_HPUX = 6000, OVAL_FAMILY_INDEPENDENT = 7000, OVAL_FAMILY_IOS = 8000, OVAL_FAMILY_LINUX = 9000, OVAL_FAMILY_MACOS = 10000, OVAL_FAMILY_PIXOS = 11000, OVAL_FAMILY_SOLARIS = 12000, OVAL_FAMILY_UNIX = 13000, OVAL_FAMILY_WINDOWS = 14000 }
| OVAL family. More...
enum | oval_subtype_t { OVAL_SUBTYPE_UNKNOWN = 0, OVAL_SUBTYPE_ALL = 1, OVAL_SUBTYPE_SYSINFO = 2 }
| Unknown subtypes.
enum | oval_aix_subtype_t { OVAL_AIX_FILESET = 1001, OVAL_AIX_FIX = OVAL_FAMILY_AIX + 2, OVAL_AIX_OSLEVEL = OVAL_FAMILY_AIX + 3 }
| AIX subtypes.
enum | oval_apache_subtype_t { OVAL_APACHE_HTTPD = OVAL_FAMILY_APACHE + 1, OVAL_APACHE_VERSION = OVAL_FAMILY_APACHE + 2 }
| Apache subtypes.
enum | oval_catos_subtype_t { OVAL_CATOS_LINE = OVAL_FAMILY_CATOS + 1, OVAL_CATOS_MODULE = OVAL_FAMILY_CATOS + 2, OVAL_CATOS_VERSION_55 = OVAL_FAMILY_CATOS + 3, OVAL_CATOS_VERSION = OVAL_FAMILY_CATOS + 4 }
| CatOS subtypes.
enum | oval_esx_subtype_t { OVAL_ESX_PATCH = OVAL_FAMILY_ESX + 1, OVAL_ESX_PATCH56 = OVAL_FAMILY_ESX + 2, OVAL_ESX_VERSION = OVAL_FAMILY_ESX + 3, OVAL_ESX_VISDKMANAGEDOBJECT = OVAL_FAMILY_ESX + 4 }
| ESX subtypes.
enum | oval_freebsd_subtype_t { OVAL_FREEBSD_PORT_INFO = OVAL_FAMILY_FREEBSD + 1 }
| FreeBSD subtypes.
enum | oval_hpux_subtype_t { OVAL_HPUX_GETCONF = OVAL_FAMILY_HPUX + 1, OVAL_HPUX_PATCH_53 = OVAL_FAMILY_HPUX + 2, OVAL_HPUX_PATCH = OVAL_FAMILY_HPUX + 3, OVAL_HPUX_SOFTWARE_LIST = OVAL_FAMILY_HPUX + 4, OVAL_HPUX_TRUSTED_ACCOUNTS = OVAL_FAMILY_HPUX + 5, OVAL_HPUX_NDD = OVAL_FAMILY_HPUX + 6, OVAL_HPUX_SWLIST = OVAL_FAMILY_HPUX + 7, OVAL_HPUX_TRUSTED = OVAL_FAMILY_HPUX + 8 }
| HPUX subtypes.
enum | oval_independent_subtype_t { OVAL_INDEPENDENT_FAMILY = OVAL_FAMILY_INDEPENDENT + 1, OVAL_INDEPENDENT_FILE_MD5 = OVAL_FAMILY_INDEPENDENT + 2, OVAL_INDEPENDENT_FILE_HASH = OVAL_FAMILY_INDEPENDENT + 3, OVAL_INDEPENDENT_ENVIRONMENT_VARIABLE = OVAL_FAMILY_INDEPENDENT + 4, OVAL_INDEPENDENT_SQL = OVAL_FAMILY_INDEPENDENT + 5, OVAL_INDEPENDENT_TEXT_FILE_CONTENT_54 = OVAL_FAMILY_INDEPENDENT + 6, OVAL_INDEPENDENT_TEXT_FILE_CONTENT = OVAL_FAMILY_INDEPENDENT + 7, OVAL_INDEPENDENT_UNKNOWN = OVAL_FAMILY_INDEPENDENT + 8, OVAL_INDEPENDENT_VARIABLE = OVAL_FAMILY_INDEPENDENT + 9, OVAL_INDEPENDENT_XML_FILE_CONTENT = OVAL_FAMILY_INDEPENDENT + 10, OVAL_INDEPENDENT_LDAP57 = OVAL_FAMILY_INDEPENDENT + 11, OVAL_INDEPENDENT_LDAP = OVAL_FAMILY_INDEPENDENT + 12, OVAL_INDEPENDENT_SQL57 = OVAL_FAMILY_INDEPENDENT + 13, OVAL_INDEPENDENT_ENVIRONMENT_VARIABLE58 = OVAL_FAMILY_INDEPENDENT + 14, OVAL_INDEPENDENT_FILE_HASH58 = OVAL_FAMILY_INDEPENDENT + 15 }
| Platform independent subtypes.
enum | oval_ios_subtype_t { OVAL_IOS_GLOBAL = OVAL_FAMILY_IOS + 1, OVAL_IOS_INTERFACE = OVAL_FAMILY_IOS + 2, OVAL_IOS_LINE = OVAL_FAMILY_IOS + 3, OVAL_IOS_SNMP = OVAL_FAMILY_IOS + 4, OVAL_IOS_TCLSH = OVAL_FAMILY_IOS + 5, OVAL_IOS_VERSION_55 = OVAL_FAMILY_IOS + 6 }
| IOS subtypes.
enum | oval_linux_subtype_t { OVAL_LINUX_DPKG_INFO = OVAL_FAMILY_LINUX + 1, OVAL_LINUX_INET_LISTENING_SERVERS = OVAL_FAMILY_LINUX + 2, OVAL_LINUX_RPM_INFO = OVAL_FAMILY_LINUX + 3, OVAL_LINUX_SLACKWARE_PKG_INFO_TEST = OVAL_FAMILY_LINUX + 4, OVAL_LINUX_PARTITION = OVAL_FAMILY_LINUX + 5, OVAL_LINUX_IFLISTENERS = OVAL_FAMILY_LINUX + 6, OVAL_LINUX_RPMVERIFY = OVAL_FAMILY_LINUX + 7, OVAL_LINUX_RPMVERIFYFILE = OVAL_FAMILY_LINUX + 71, OVAL_LINUX_RPMVERIFYPACKAGE = OVAL_FAMILY_LINUX + 72, OVAL_LINUX_SELINUXBOOLEAN = OVAL_FAMILY_LINUX + 8, OVAL_LINUX_SELINUXSECURITYCONTEXT = OVAL_FAMILY_LINUX + 9, OVAL_LINUX_INET_LISTENING_SERVER = OVAL_FAMILY_LINUX + 102, OVAL_LINUX_SYSTEMDUNITPROPERTY = OVAL_FAMILY_LINUX + 103, OVAL_LINUX_SYSTEMDUNITDEPENDENCY = OVAL_FAMILY_LINUX + 104 }
| Linux subtypes.
enum | oval_macos_subtype_t { OVAL_MACOS_ACCOUNT_INFO = OVAL_FAMILY_MACOS + 1, OVAL_MACOS_INET_LISTENING_SERVERS = OVAL_FAMILY_MACOS + 2, OVAL_MACOS_NVRAM_INFO = OVAL_FAMILY_MACOS + 3, OVAL_MACOS_PWPOLICY = OVAL_FAMILY_MACOS + 4 }
| MacOS subtypes.
enum | oval_pixos_subtype_t { OVAL_PIXOS_LINE = OVAL_FAMILY_PIXOS + 1, OVAL_PIXOS_VERSION = OVAL_FAMILY_PIXOS + 2 }
| PIXOS subtypes.
enum | oval_solaris_subtype_t { OVAL_SOLARIS_ISAINFO = OVAL_FAMILY_SOLARIS + 1, OVAL_SOLARIS_PACKAGE = OVAL_FAMILY_SOLARIS + 2, OVAL_SOLARIS_PATCH = OVAL_FAMILY_SOLARIS + 3, OVAL_SOLARIS_SMF = OVAL_FAMILY_SOLARIS + 4, OVAL_SOLARIS_PATCH54 = OVAL_FAMILY_SOLARIS + 5, OVAL_SOLARIS_NDD = OVAL_FAMILY_SOLARIS + 6, OVAL_SOLARIS_PACKAGECHECK = OVAL_FAMILY_SOLARIS + 7 }
| Solaris subtypes.
enum | oval_unix_subtype_t { OVAL_UNIX_FILE = OVAL_FAMILY_UNIX + 1, OVAL_UNIX_INETD = OVAL_FAMILY_UNIX + 2, OVAL_UNIX_INTERFACE = OVAL_FAMILY_UNIX + 3, OVAL_UNIX_PASSWORD = OVAL_FAMILY_UNIX + 4, OVAL_UNIX_PROCESS = OVAL_FAMILY_UNIX + 5, OVAL_UNIX_RUNLEVEL = OVAL_FAMILY_UNIX + 6, OVAL_UNIX_SCCS = OVAL_FAMILY_UNIX + 7, OVAL_UNIX_SHADOW = OVAL_FAMILY_UNIX + 8, OVAL_UNIX_UNAME = OVAL_FAMILY_UNIX + 9, OVAL_UNIX_XINETD = OVAL_FAMILY_UNIX + 10, OVAL_UNIX_DNSCACHE = OVAL_FAMILY_UNIX + 11, OVAL_UNIX_SYSCTL = OVAL_FAMILY_UNIX + 12, OVAL_UNIX_PROCESS58 = OVAL_FAMILY_UNIX + 13, OVAL_UNIX_FILEEXTENDEDATTRIBUTE = OVAL_FAMILY_UNIX + 14, OVAL_UNIX_GCONF = OVAL_FAMILY_UNIX + 15, OVAL_UNIX_ROUTINGTABLE = OVAL_FAMILY_UNIX + 16 }
| Unix subtypes.
enum | oval_windows_subtype_t { OVAL_WINDOWS_ACCESS_TOKEN = OVAL_FAMILY_WINDOWS + 1, OVAL_WINDOWS_ACTIVE_DIRECTORY = OVAL_FAMILY_WINDOWS + 2, OVAL_WINDOWS_AUDIT_EVENT_POLICY = OVAL_FAMILY_WINDOWS + 3, OVAL_WINDOWS_AUDIT_EVENT_SUBCATEGORIES = OVAL_FAMILY_WINDOWS + 4, OVAL_WINDOWS_FILE = OVAL_FAMILY_WINDOWS + 5, OVAL_WINDOWS_FILE_AUDITED_PERMISSIONS_53 = OVAL_FAMILY_WINDOWS + 6, OVAL_WINDOWS_FILE_AUDITED_PERMISSIONS = OVAL_FAMILY_WINDOWS + 7, OVAL_WINDOWS_FILE_EFFECTIVE_RIGHTS_53 = OVAL_FAMILY_WINDOWS + 8, OVAL_WINDOWS_FILE_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 9, OVAL_WINDOWS_GROUP = OVAL_FAMILY_WINDOWS + 10, OVAL_WINDOWS_GROUP_SID = OVAL_FAMILY_WINDOWS + 11, OVAL_WINDOWS_INTERFACE = OVAL_FAMILY_WINDOWS + 12, OVAL_WINDOWS_LOCKOUT_POLICY = OVAL_FAMILY_WINDOWS + 13, OVAL_WINDOWS_METABASE = OVAL_FAMILY_WINDOWS + 14, OVAL_WINDOWS_PASSWORD_POLICY = OVAL_FAMILY_WINDOWS + 15, OVAL_WINDOWS_PORT = OVAL_FAMILY_WINDOWS + 16, OVAL_WINDOWS_PRINTER_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 17, OVAL_WINDOWS_PROCESS = OVAL_FAMILY_WINDOWS + 18, OVAL_WINDOWS_REGISTRY = OVAL_FAMILY_WINDOWS + 19, OVAL_WINDOWS_REGKEY_AUDITED_PERMISSIONS_53 = OVAL_FAMILY_WINDOWS + 20, OVAL_WINDOWS_REGKEY_AUDITED_PERMISSIONS = OVAL_FAMILY_WINDOWS + 21, OVAL_WINDOWS_REGKEY_EFFECTIVE_RIGHTS_53 = OVAL_FAMILY_WINDOWS + 22, OVAL_WINDOWS_REGKEY_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 23, OVAL_WINDOWS_SHARED_RESOURCE = OVAL_FAMILY_WINDOWS + 24, OVAL_WINDOWS_SID = OVAL_FAMILY_WINDOWS + 25, OVAL_WINDOWS_SID_SID = OVAL_FAMILY_WINDOWS + 26, OVAL_WINDOWS_USER_ACCESS_CONTROL = OVAL_FAMILY_WINDOWS + 27, OVAL_WINDOWS_USER = OVAL_FAMILY_WINDOWS + 28, OVAL_WINDOWS_USER_SID_55 = OVAL_FAMILY_WINDOWS + 29, OVAL_WINDOWS_USER_SID = OVAL_FAMILY_WINDOWS + 30, OVAL_WINDOWS_VOLUME = OVAL_FAMILY_WINDOWS + 31, OVAL_WINDOWS_WMI = OVAL_FAMILY_WINDOWS + 32, OVAL_WINDOWS_WUA_UPDATE_SEARCHER = OVAL_FAMILY_WINDOWS + 33 }
| Windows subtypes.
enum | oval_xml_severity_t { XML_VALIDITY_WARNING = 1, XML_VALIDITY_ERROR = 2, XML_WARNING = 3, XML_ERROR = 4, OVAL_LOG_INFO = 15, OVAL_LOG_DEBUG = 16, OVAL_LOG_WARN = 17 }
| severity level

## Functions
char * | oval_determine_document_schema_version (const char *, oscap_document_type_t)
| END OVALDEF. More...

## Detailed Description

Open Vulnerability and Assessment Language.

This layer covers interface to OVAL language. It provides easier way for manipulation with OVAL Definition, OVAL System Characteristics and OVAL Result content. Content can be imported from XML file adjusted and exported back to the file. Besides this basic functionality, it also enables user to use system checking mechanism. This mechanism probe the OS and gather OVAL System characteristics that can be later used to create OVAL Results.

Supported version: 5.10.1 and lower

OVAL Definition supported schemas:

- Core - http://oval.mitre.org/XMLSchema/oval-definitions-5
- Common - http://oval.mitre.org/XMLSchema/oval-common-5
- Independent - http://oval.mitre.org/XMLSchema/oval-definitions-5#independent
- Linux - http://oval.mitre.org/XMLSchema/oval-definitions-5#linux
- Unix - http://oval.mitre.org/XMLSchema/oval-definitions-5#unix

OVAL System Characteristics supported schemas:

- Core - http://oval.mitre.org/XMLSchema/oval-system-characteristics-5
- Common - http://oval.mitre.org/XMLSchema/oval-common-5
- Independent - http://oval.mitre.org/XMLSchema/oval-system-characteristics-5#independent
- Linux - http://oval.mitre.org/XMLSchema/oval-system-characteristics-5#linux
- Unix - http://oval.mitre.org/XMLSchema/oval-system-characteristics-5#unix

OVAL Results supported schemas:

- Core - http://oval.mitre.org/XMLSchema/oval-results-5
- Common - http://oval.mitre.org/XMLSchema/oval-common-5

## Enumeration Type Documentation

enum oval_family_t

OVAL family.

Enumerator
OVAL_FAMILY_UNKNOWN | Unknown platform. See Also oval_subtype_t
OVAL_FAMILY_AIX | AIX family. See Also oval_aix_subtype_t
OVAL_FAMILY_APACHE | Apache family. See Also oval_apache_subtype_t
OVAL_FAMILY_CATOS | CatOS family. See Also oval_catos_subtype_t
OVAL_FAMILY_ESX | ESX family. See Also oval_esx_subtype_t
OVAL_FAMILY_FREEBSD | FreeBSD family. See Also oval_freebsd_subtype_t
OVAL_FAMILY_HPUX | HPUX family. See Also oval_hpux_subtype_t
OVAL_FAMILY_INDEPENDENT | Platform independent family. See Also oval_independent_subtype_t
OVAL_FAMILY_IOS | IOS family. See Also oval_ios_subtype_t
OVAL_FAMILY_LINUX | Linux family. See Also oval_linux_subtype_t
OVAL_FAMILY_MACOS | MacOS family. See Also oval_macos_subtype_t
OVAL_FAMILY_PIXOS | PIXOS family. See Also oval_pixos_subtype_t
OVAL_FAMILY_SOLARIS | Solaris family. See Also oval_solaris_subtype_t
OVAL_FAMILY_UNIX | Unix family. See Also oval_unix_subtype_t
OVAL_FAMILY_WINDOWS | Windows family. See Also oval_windows_subtype_t

## Function Documentation

char* oval_determine_document_schema_version | ( | const char * | ,
|  | oscap_document_type_t |
| ) |  |

END OVALDEF.

Returns the version of the schema this document should be validated against

Deallocate the result after use with "free(..)".