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
}

| 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(..)".