Open SCAP Library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Files | Functions
CVRF

Detailed Description

Files

file  cvrf.h
 Interface to Common Vulnerability Reporting Framework.
 

Functions

struct oscap_iteratorcvrf_product_tree_get_branches (struct cvrf_product_tree *tree)
 
struct cvrf_product_statuscvrf_product_status::cvrf_product_status_new (void)
 New Status member of a ProductStatuses container within a Vulnerability element. More...
 
void cvrf_product_status::cvrf_product_status_free (struct cvrf_product_status *status)
 Deallocates memory for a Status element of the ProductStatuses container. More...
 
struct cvrf_product_statuscvrf_product_status::cvrf_product_status_clone (const struct cvrf_product_status *stat)
 
struct oscap_string_iteratorcvrf_product_status::cvrf_product_status_get_ids (struct cvrf_product_status *stat)
 
struct cvrf_threatcvrf_threat::cvrf_threat_new (void)
 New CVRF Threat element. More...
 
void cvrf_threat::cvrf_threat_free (struct cvrf_threat *threat)
 Deallocates memory for a Threat element of the Threats container. More...
 
struct cvrf_threatcvrf_threat::cvrf_threat_clone (const struct cvrf_threat *threat)
 
const char * cvrf_threat::cvrf_threat_get_date (const struct cvrf_threat *threat)
 
const char * cvrf_threat::cvrf_threat_get_description (const struct cvrf_threat *threat)
 
struct oscap_string_iteratorcvrf_threat::cvrf_threat_get_product_ids (struct cvrf_threat *threat)
 
struct oscap_string_iteratorcvrf_threat::cvrf_threat_get_group_ids (struct cvrf_threat *threat)
 
bool cvrf_threat::cvrf_threat_set_date (struct cvrf_threat *threat, const char *date)
 
bool cvrf_threat::cvrf_threat_set_description (struct cvrf_threat *threat, const char *description)
 
struct cvrf_remediationcvrf_remediation::cvrf_remediation_new (void)
 New CVRF Remediation. More...
 
void cvrf_remediation::cvrf_remediation_free (struct cvrf_remediation *remed)
 Deallocates memory for a Remediation element of the Remediations container. More...
 
struct cvrf_remediationcvrf_remediation::cvrf_remediation_clone (const struct cvrf_remediation *remed)
 
const char * cvrf_remediation::cvrf_remediation_get_date (const struct cvrf_remediation *remed)
 
const char * cvrf_remediation::cvrf_remediation_get_description (const struct cvrf_remediation *remed)
 
const char * cvrf_remediation::cvrf_remediation_get_url (const struct cvrf_remediation *remed)
 
const char * cvrf_remediation::cvrf_remediation_get_entitlement (const struct cvrf_remediation *remed)
 
struct oscap_string_iteratorcvrf_remediation::cvrf_remediation_get_product_ids (struct cvrf_remediation *remed)
 
struct oscap_string_iteratorcvrf_remediation::cvrf_remediation_get_group_ids (struct cvrf_remediation *remed)
 
bool cvrf_remediation::cvrf_remediation_set_date (struct cvrf_remediation *remed, const char *date)
 
bool cvrf_remediation::cvrf_remediation_set_description (struct cvrf_remediation *remed, const char *description)
 
bool cvrf_remediation::cvrf_remediation_set_url (struct cvrf_remediation *remed, const char *url)
 
bool cvrf_remediation::cvrf_remediation_set_entitlement (struct cvrf_remediation *remed, const char *entitlement)
 
struct cvrf_score_setcvrf_score_set::cvrf_score_set_new (void)
 New ScoreSet member of a CVSSScoreSets container within a Vulnerability element. More...
 
void cvrf_score_set::cvrf_score_set_free (struct cvrf_score_set *score_set)
 Deallocates memory for a ScoreSet element of the CVSSScoreSets container. More...
 
struct cvrf_score_setcvrf_score_set::cvrf_score_set_clone (const struct cvrf_score_set *score_set)
 
const char * cvrf_score_set::cvrf_score_set_get_vector (const struct cvrf_score_set *score_set)
 
struct oscap_string_iteratorcvrf_score_set::cvrf_score_set_get_product_ids (struct cvrf_score_set *score_set)
 
struct cvss_impactcvrf_score_set::cvrf_score_set_get_impact (const struct cvrf_score_set *score_set)
 
char * cvrf_score_set::cvrf_score_set_get_base_score (const struct cvrf_score_set *score_set)
 
char * cvrf_score_set::cvrf_score_set_get_environmental_score (const struct cvrf_score_set *score_set)
 
char * cvrf_score_set::cvrf_score_set_get_temporal_score (const struct cvrf_score_set *score_set)
 
bool cvrf_score_set::cvrf_score_set_set_vector (struct cvrf_score_set *score_set, const char *vector)
 
bool cvrf_score_set::cvrf_score_set_set_impact (struct cvrf_score_set *score_set, struct cvss_impact *impact)
 
bool cvrf_score_set::cvrf_score_set_add_metric (struct cvrf_score_set *score_set, enum cvss_category category, const char *score)
 
struct cvrf_involvementcvrf_involvement::cvrf_involvement_new (void)
 New CVRF Involvement. More...
 
void cvrf_involvement::cvrf_involvement_free (struct cvrf_involvement *involve)
 Deallocates memory for an Involvement element. More...
 
struct cvrf_involvementcvrf_involvement::cvrf_involvement_clone (const struct cvrf_involvement *involve)
 
const char * cvrf_involvement::cvrf_involvement_get_description (const struct cvrf_involvement *involve)
 
bool cvrf_involvement::cvrf_involvement_set_description (struct cvrf_involvement *involve, const char *description)
 
struct cvrf_vulnerability_cwecvrf_vulnerability_cwe::cvrf_vulnerability_cwe_new (void)
 New CVRF CWE structure. More...
 
void cvrf_vulnerability_cwe::cvrf_vulnerability_cwe_free (struct cvrf_vulnerability_cwe *cwe)
 Deallocates memory for a CWE element. More...
 
struct cvrf_vulnerability_cwecvrf_vulnerability_cwe::cvrf_vulnerability_cwe_clone (const struct cvrf_vulnerability_cwe *cwe)
 
const char * cvrf_vulnerability_cwe::cvrf_vulnerability_cwe_get_cwe (const struct cvrf_vulnerability_cwe *vuln_cwe)
 
const char * cvrf_vulnerability_cwe::cvrf_vulnerability_cwe_get_id (const struct cvrf_vulnerability_cwe *vuln_cwe)
 
bool cvrf_vulnerability_cwe::cvrf_vulnerability_cwe_set_cwe (struct cvrf_vulnerability_cwe *vuln_cwe, const char *cwe)
 
bool cvrf_vulnerability_cwe::cvrf_vulnerability_cwe_set_id (struct cvrf_vulnerability_cwe *vuln_cwe, const char *id)
 
struct cvrf_vulnerabilitycvrf_vulnerability::cvrf_vulnerability_new (void)
 New CVRF Vulnerability. More...
 
void cvrf_vulnerability::cvrf_vulnerability_free (struct cvrf_vulnerability *vulnerability)
 Deallocates memory for a Vulnerability element. More...
 
struct cvrf_vulnerabilitycvrf_vulnerability::cvrf_vulnerability_clone (const struct cvrf_vulnerability *vuln)
 
int cvrf_vulnerability::cvrf_vulnerability_filter_by_product (struct cvrf_vulnerability *vuln, const char *prod)
 
int cvrf_vulnerability::cvrf_vulnerability_get_ordinal (const struct cvrf_vulnerability *vuln)
 
const char * cvrf_vulnerability::cvrf_vulnerability_get_title (const struct cvrf_vulnerability *vuln)
 
const char * cvrf_vulnerability::cvrf_vulnerability_get_system_id (const struct cvrf_vulnerability *vuln)
 
const char * cvrf_vulnerability::cvrf_vulnerability_get_system_name (const struct cvrf_vulnerability *vuln)
 
const char * cvrf_vulnerability::cvrf_vulnerability_get_discovery_date (const struct cvrf_vulnerability *vuln)
 
const char * cvrf_vulnerability::cvrf_vulnerability_get_release_date (const struct cvrf_vulnerability *vuln)
 
const char * cvrf_vulnerability::cvrf_vulnerability_get_cve_id (const struct cvrf_vulnerability *vuln)
 
bool cvrf_vulnerability::cvrf_vulnerability_set_ordinal (struct cvrf_vulnerability *vuln, int ordinal)
 
bool cvrf_vulnerability::cvrf_vulnerability_set_title (struct cvrf_vulnerability *vuln, const char *vulnerability_title)
 
bool cvrf_vulnerability::cvrf_vulnerability_set_system_id (struct cvrf_vulnerability *vuln, const char *id)
 
bool cvrf_vulnerability::cvrf_vulnerability_set_system_name (struct cvrf_vulnerability *vuln, const char *sys_name)
 
bool cvrf_vulnerability::cvrf_vulnerability_set_discovery_date (struct cvrf_vulnerability *vuln, const char *discovery_date)
 
bool cvrf_vulnerability::cvrf_vulnerability_set_release_date (struct cvrf_vulnerability *vuln, const char *release_date)
 
bool cvrf_vulnerability::cvrf_vulnerability_set_cve_id (struct cvrf_vulnerability *vuln, const char *cve_id)
 
struct oscap_iteratorcvrf_vulnerability::cvrf_vulnerability_get_references (struct cvrf_vulnerability *vuln)
 
struct oscap_iteratorcvrf_vulnerability::cvrf_vulnerability_get_acknowledgments (struct cvrf_vulnerability *vuln)
 
struct oscap_iteratorcvrf_vulnerability::cvrf_vulnerability_get_notes (struct cvrf_vulnerability *vuln)
 
bool cvrf_vulnerability::cvrf_vulnerability_add_vulnerability_cwe (struct cvrf_vulnerability *vuln, struct cvrf_vulnerability_cwe *vulnerability_cwe)
 
struct
cvrf_vulnerability_cwe_iterator * 
cvrf_vulnerability::cvrf_vulnerability_get_vulnerability_cwes (const struct cvrf_vulnerability *vuln)
 
bool cvrf_vulnerability::cvrf_vulnerability_add_involvement (struct cvrf_vulnerability *vuln, struct cvrf_involvement *involvement)
 
struct cvrf_involvement_iterator * cvrf_vulnerability::cvrf_vulnerability_get_involvements (const struct cvrf_vulnerability *vuln)
 
bool cvrf_vulnerability::cvrf_vulnerability_add_score_set (struct cvrf_vulnerability *vuln, struct cvrf_score_set *score_set)
 
struct cvrf_score_set_iterator * cvrf_vulnerability::cvrf_vulnerability_get_score_sets (const struct cvrf_vulnerability *vuln)
 
bool cvrf_vulnerability::cvrf_vulnerability_add_cvrf_product_status (struct cvrf_vulnerability *vuln, struct cvrf_product_status *stat)
 
struct
cvrf_product_status_iterator * 
cvrf_vulnerability::cvrf_vulnerability_get_product_statuses (const struct cvrf_vulnerability *vuln)
 
bool cvrf_vulnerability::cvrf_vulnerability_add_remediation (struct cvrf_vulnerability *vuln, struct cvrf_remediation *remed)
 
struct cvrf_remediation_iterator * cvrf_vulnerability::cvrf_vulnerability_get_remediations (const struct cvrf_vulnerability *vuln)
 
bool cvrf_vulnerability::cvrf_vulnerability_add_threat (struct cvrf_vulnerability *vuln, struct cvrf_threat *threat)
 
struct cvrf_threat_iterator * cvrf_vulnerability::cvrf_vulnerability_get_threats (const struct cvrf_vulnerability *vuln)
 
struct cvrf_product_namecvrf_product_name::cvrf_product_name_new (void)
 New FullProductName of Branch or ProductTree. More...
 
void cvrf_product_name::cvrf_product_name_free (struct cvrf_product_name *full_name)
 Deallocates memory for a FullProductName element. More...
 
struct cvrf_product_namecvrf_product_name::cvrf_product_name_clone (const struct cvrf_product_name *full_name)
 
const char * cvrf_product_name::cvrf_product_name_get_product_id (const struct cvrf_product_name *full_name)
 
const char * cvrf_product_name::cvrf_product_name_get_cpe (const struct cvrf_product_name *full_name)
 
bool cvrf_product_name::cvrf_product_name_set_product_id (struct cvrf_product_name *full_name, const char *product_id)
 
bool cvrf_product_name::cvrf_product_name_set_cpe (struct cvrf_product_name *full_name, const char *cpe)
 
struct cvrf_groupcvrf_group::cvrf_group_new (void)
 New CVRF Group child of ProductGroups container element. More...
 
void cvrf_group::cvrf_group_free (struct cvrf_group *group)
 Deallocates memory for a Group element. More...
 
struct cvrf_groupcvrf_group::cvrf_group_clone (const struct cvrf_group *group)
 
const char * cvrf_group::cvrf_group_get_group_id (const struct cvrf_group *group)
 
const char * cvrf_group::cvrf_group_get_description (const struct cvrf_group *group)
 
bool cvrf_group::cvrf_group_set_group_id (struct cvrf_group *group, const char *group_id)
 
bool cvrf_group::cvrf_group_set_description (struct cvrf_group *group, const char *description)
 
struct oscap_string_iteratorcvrf_group::cvrf_group_get_product_ids (struct cvrf_group *group)
 
struct cvrf_relationshipcvrf_relationship::cvrf_relationship_new (void)
 New CVRF Relationship element within ProductTree. More...
 
void cvrf_relationship::cvrf_relationship_free (struct cvrf_relationship *relationship)
 Deallocates memory for a Relationship element. More...
 
struct cvrf_relationshipcvrf_relationship::cvrf_relationship_clone (const struct cvrf_relationship *relation)
 
const char * cvrf_relationship::cvrf_relationship_get_product_reference (const struct cvrf_relationship *relation)
 
const char * cvrf_relationship::cvrf_relationship_get_relates_to_ref (const struct cvrf_relationship *relation)
 
struct cvrf_product_namecvrf_relationship::cvrf_relationship_get_product_name (const struct cvrf_relationship *relation)
 
bool cvrf_relationship::cvrf_relationship_set_product_reference (struct cvrf_relationship *relation, const char *product_reference)
 
bool cvrf_relationship::cvrf_relationship_set_relates_to_ref (struct cvrf_relationship *relation, const char *relates_to_ref)
 
bool cvrf_relationship::cvrf_relationship_set_product_name (struct cvrf_relationship *relation, struct cvrf_product_name *name)
 
struct cvrf_branchcvrf_branch::cvrf_branch_new (void)
 New CVRF branch of ProductTree or sub-branch. More...
 
void cvrf_branch::cvrf_branch_free (struct cvrf_branch *branch)
 Deallocates memory for a Branch element. More...
 
struct cvrf_branchcvrf_branch::cvrf_branch_clone (const struct cvrf_branch *branch)
 
const char * cvrf_branch::cvrf_branch_get_branch_name (const struct cvrf_branch *branch)
 
struct cvrf_product_namecvrf_branch::cvrf_branch_get_product_name (const struct cvrf_branch *branch)
 
struct oscap_iteratorcvrf_branch::cvrf_branch_get_subbranches (struct cvrf_branch *branch)
 
bool cvrf_branch::cvrf_branch_set_branch_name (struct cvrf_branch *branch, const char *branch_name)
 
bool cvrf_branch::cvrf_branch_set_product_name (struct cvrf_branch *branch, struct cvrf_product_name *name)
 
struct cvrf_product_treecvrf_product_tree::cvrf_product_tree_new (void)
 New ProductTree structure. More...
 
void cvrf_product_tree::cvrf_product_tree_free (struct cvrf_product_tree *tree)
 Deallocates memory for a ProductTree element and all its child Branches, Relationships, and FullProductNames, if they exist. More...
 
struct cvrf_product_treecvrf_product_tree::cvrf_product_tree_clone (const struct cvrf_product_tree *tree)
 
const char * cvrf_product_tree::get_cvrf_product_id_from_cpe (struct cvrf_product_tree *tree, const char *cpe)
 Find the unique ProductID for the given CPE by searching the branches of the ProductTree: find the ProductID attribute for the FullProductName element with the appropriate CPE. More...
 
int cvrf_product_tree::cvrf_product_tree_filter_by_cpe (struct cvrf_product_tree *tree, const char *cpe)
 Use the CPE name to find the matching ProductID, then filter the tree by removing branches and relationship elements not related to that ProductID. More...
 
bool cvrf_product_tree::cvrf_product_tree_add_product_name (struct cvrf_product_tree *tree, struct cvrf_product_name *full_name)
 
struct cvrf_product_name_iterator * cvrf_product_tree::cvrf_product_tree_get_product_names (const struct cvrf_product_tree *tree)
 
bool cvrf_product_tree::cvrf_product_tree_add_relationship (struct cvrf_product_tree *tree, struct cvrf_relationship *relation)
 
struct cvrf_relationship_iterator * cvrf_product_tree::cvrf_product_tree_get_relationships (const struct cvrf_product_tree *tree)
 
bool cvrf_product_tree::cvrf_product_tree_add_group (struct cvrf_product_tree *tree, struct cvrf_group *group)
 
struct cvrf_group_iterator * cvrf_product_tree::cvrf_product_tree_get_product_groups (const struct cvrf_product_tree *tree)
 
struct cvrf_acknowledgmentcvrf_acknowledgment::cvrf_acknowledgment_new (void)
 New CVRF Acknowledgment element within Acknowledgments container. More...
 
void cvrf_acknowledgment::cvrf_acknowledgment_free (struct cvrf_acknowledgment *ack)
 Deallocates memory for an Acknowledgment element of the Acknowledgments container. More...
 
struct cvrf_acknowledgmentcvrf_acknowledgment::cvrf_acknowledgment_clone (const struct cvrf_acknowledgment *ack)
 
const char * cvrf_acknowledgment::cvrf_acknowledgment_get_description (const struct cvrf_acknowledgment *ack)
 
bool cvrf_acknowledgment::cvrf_acknowledgment_set_description (struct cvrf_acknowledgment *ack, const char *description)
 
struct oscap_string_iteratorcvrf_acknowledgment::cvrf_acknowledgment_get_names (const struct cvrf_acknowledgment *ack)
 
struct oscap_string_iteratorcvrf_acknowledgment::cvrf_acknowledgment_get_organizations (const struct cvrf_acknowledgment *ack)
 
struct oscap_string_iteratorcvrf_acknowledgment::cvrf_acknowledgment_get_urls (const struct cvrf_acknowledgment *ack)
 
struct cvrf_notecvrf_note::cvrf_note_new (void)
 New CVRF Note element within Notes or DocumentNotes container. More...
 
void cvrf_note::cvrf_note_free (struct cvrf_note *note)
 Deallocates memory for a Note element of the Notes container. More...
 
struct cvrf_notecvrf_note::cvrf_note_clone (const struct cvrf_note *note)
 
int cvrf_note::cvrf_note_get_ordinal (const struct cvrf_note *note)
 
const char * cvrf_note::cvrf_note_get_audience (const struct cvrf_note *note)
 
const char * cvrf_note::cvrf_note_get_title (const struct cvrf_note *note)
 
const char * cvrf_note::cvrf_note_get_contents (const struct cvrf_note *note)
 
bool cvrf_note::cvrf_note_set_ordinal (struct cvrf_note *note, int ordinal)
 
bool cvrf_note::cvrf_note_set_audience (struct cvrf_note *note, const char *audience)
 
bool cvrf_note::cvrf_note_set_title (struct cvrf_note *note, const char *title)
 
bool cvrf_note::cvrf_note_set_contents (struct cvrf_note *note, const char *contents)
 
struct cvrf_revisioncvrf_revision::cvrf_revision_new (void)
 New CVRF Revision structure. More...
 
void cvrf_revision::cvrf_revision_free (struct cvrf_revision *revision)
 Deallocates memory for a Revision element of the RevisionHistory container. More...
 
struct cvrf_revisioncvrf_revision::cvrf_revision_clone (const struct cvrf_revision *revision)
 
const char * cvrf_revision::cvrf_revision_get_number (const struct cvrf_revision *revision)
 
const char * cvrf_revision::cvrf_revision_get_date (const struct cvrf_revision *revision)
 
const char * cvrf_revision::cvrf_revision_get_description (const struct cvrf_revision *revision)
 
bool cvrf_revision::cvrf_revision_set_number (struct cvrf_revision *revision, const char *number)
 
bool cvrf_revision::cvrf_revision_set_date (struct cvrf_revision *revision, const char *date)
 
bool cvrf_revision::cvrf_revision_set_description (struct cvrf_revision *revision, const char *description)
 
struct cvrf_doc_trackingcvrf_doc_tracking::cvrf_doc_tracking_new (void)
 New CVRF DocumentTracking structure. More...
 
void cvrf_doc_tracking::cvrf_doc_tracking_free (struct cvrf_doc_tracking *tracking)
 Deallocates memory for a DocumentTracking element. More...
 
struct cvrf_doc_trackingcvrf_doc_tracking::cvrf_doc_tracking_clone (const struct cvrf_doc_tracking *tracking)
 
const char * cvrf_doc_tracking::cvrf_doc_tracking_get_tracking_id (const struct cvrf_doc_tracking *tracking)
 
struct oscap_string_iteratorcvrf_doc_tracking::cvrf_doc_tracking_get_aliases (struct cvrf_doc_tracking *tracking)
 
const char * cvrf_doc_tracking::cvrf_doc_tracking_get_version (const struct cvrf_doc_tracking *tracking)
 
const char * cvrf_doc_tracking::cvrf_doc_tracking_get_init_release_date (const struct cvrf_doc_tracking *tracking)
 
const char * cvrf_doc_tracking::cvrf_doc_tracking_get_cur_release_date (const struct cvrf_doc_tracking *tracking)
 
const char * cvrf_doc_tracking::cvrf_doc_tracking_get_generator_engine (const struct cvrf_doc_tracking *tracking)
 
const char * cvrf_doc_tracking::cvrf_doc_tracking_get_generator_date (const struct cvrf_doc_tracking *tracking)
 
bool cvrf_doc_tracking::cvrf_doc_tracking_set_tracking_id (struct cvrf_doc_tracking *tracking, const char *id)
 
bool cvrf_doc_tracking::cvrf_doc_tracking_set_version (struct cvrf_doc_tracking *tracking, const char *version)
 
bool cvrf_doc_tracking::cvrf_doc_tracking_set_init_release_date (struct cvrf_doc_tracking *tracking, const char *init_release_date)
 
bool cvrf_doc_tracking::cvrf_doc_tracking_set_cur_release_date (struct cvrf_doc_tracking *tracking, const char *cur_release_date)
 
bool cvrf_doc_tracking::cvrf_doc_tracking_set_generator_engine (struct cvrf_doc_tracking *tracking, const char *generator_engine)
 
bool cvrf_doc_tracking::cvrf_doc_tracking_set_generator_date (struct cvrf_doc_tracking *tracking, const char *generator_date)
 
bool cvrf_doc_tracking::cvrf_doc_tracking_add_revision (struct cvrf_doc_tracking *tracking, struct cvrf_revision *revision)
 
struct cvrf_revision_iterator * cvrf_doc_tracking::cvrf_doc_tracking_get_revision_history (const struct cvrf_doc_tracking *tracking)
 
struct cvrf_doc_publishercvrf_doc_publisher::cvrf_doc_publisher_new (void)
 New CVRF DocumentPublisher structure. More...
 
void cvrf_doc_publisher::cvrf_doc_publisher_free (struct cvrf_doc_publisher *publisher)
 Deallocates memory for a DocumentPublisher element. More...
 
struct cvrf_doc_publishercvrf_doc_publisher::cvrf_doc_publisher_clone (const struct cvrf_doc_publisher *publisher)
 
const char * cvrf_doc_publisher::cvrf_doc_publisher_get_vendor_id (const struct cvrf_doc_publisher *publisher)
 
const char * cvrf_doc_publisher::cvrf_doc_publisher_get_contact_details (const struct cvrf_doc_publisher *publisher)
 
const char * cvrf_doc_publisher::cvrf_doc_publisher_get_issuing_authority (const struct cvrf_doc_publisher *publisher)
 
bool cvrf_doc_publisher::cvrf_doc_publisher_set_vendor_id (struct cvrf_doc_publisher *publisher, const char *vendor_id)
 
bool cvrf_doc_publisher::cvrf_doc_publisher_set_contact_details (struct cvrf_doc_publisher *publisher, const char *contact_details)
 
bool cvrf_doc_publisher::cvrf_doc_publisher_set_issuing_authority (struct cvrf_doc_publisher *publisher, const char *issuing_authority)
 
struct cvrf_referencecvrf_reference::cvrf_reference_new (void)
 New CVRF Reference structure. More...
 
void cvrf_reference::cvrf_reference_free (struct cvrf_reference *reference)
 Deallocates memory for a Reference element of the References container. More...
 
struct cvrf_referencecvrf_reference::cvrf_reference_clone (const struct cvrf_reference *ref)
 
const char * cvrf_reference::cvrf_reference_get_url (const struct cvrf_reference *reference)
 
const char * cvrf_reference::cvrf_reference_get_description (const struct cvrf_reference *reference)
 
bool cvrf_reference::cvrf_reference_set_url (struct cvrf_reference *reference, const char *url)
 
bool cvrf_reference::cvrf_reference_set_description (struct cvrf_reference *reference, const char *description)
 
struct cvrf_documentcvrf_document::cvrf_document_new (void)
 New CVRF Document structure. More...
 
void cvrf_document::cvrf_document_free (struct cvrf_document *doc)
 Deallocates memory for the CVRF Document structure and all its child DocumentTracking, DocumentPublisher, DocumentReferences structures. More...
 
struct cvrf_documentcvrf_document::cvrf_document_clone (const struct cvrf_document *doc)
 
const char * cvrf_document::cvrf_document_get_doc_distribution (const struct cvrf_document *doc)
 
const char * cvrf_document::cvrf_document_get_aggregate_severity (const struct cvrf_document *doc)
 
const char * cvrf_document::cvrf_document_get_namespace (const struct cvrf_document *doc)
 
struct cvrf_doc_trackingcvrf_document::cvrf_document_get_tracking (const struct cvrf_document *doc)
 
struct cvrf_doc_publishercvrf_document::cvrf_document_get_publisher (const struct cvrf_document *doc)
 
struct oscap_iteratorcvrf_document::cvrf_document_get_notes (struct cvrf_document *doc)
 
struct oscap_iteratorcvrf_document::cvrf_document_get_references (struct cvrf_document *doc)
 
struct oscap_iteratorcvrf_document::cvrf_document_get_acknowledgments (struct cvrf_document *doc)
 
bool cvrf_document::cvrf_document_set_doc_distribution (struct cvrf_document *doc, const char *distribution)
 
bool cvrf_document::cvrf_document_set_aggregate_severity (struct cvrf_document *doc, const char *severity)
 
bool cvrf_document::cvrf_document_set_namespace (struct cvrf_document *doc, const char *ns)
 
bool cvrf_document::cvrf_document_set_publisher (struct cvrf_document *doc, struct cvrf_doc_publisher *publisher)
 
bool cvrf_document::cvrf_document_set_tracking (struct cvrf_document *doc, struct cvrf_doc_tracking *track)
 
struct cvrf_modelcvrf_model::cvrf_model_new (void)
 New CVRF model. More...
 
void cvrf_model::cvrf_model_free (struct cvrf_model *cvrf)
 Deallocates memory for the CVRF Model structure and all its child elements. More...
 
struct cvrf_modelcvrf_model::cvrf_model_clone (const struct cvrf_model *model)
 
int cvrf_model::cvrf_model_filter_by_cpe (struct cvrf_model *model, const char *cpe)
 Removes all Branches, Relationships, and ProductIDs within Vulnerabilities that do no pertain to the provided CPE. More...
 
const char * cvrf_model::cvrf_model_get_doc_title (const struct cvrf_model *model)
 
const char * cvrf_model::cvrf_model_get_doc_type (const struct cvrf_model *model)
 
bool cvrf_model::cvrf_model_set_doc_title (struct cvrf_model *model, const char *doc_title)
 
bool cvrf_model::cvrf_model_set_doc_type (struct cvrf_model *model, const char *doc_type)
 
struct cvrf_product_treecvrf_model::cvrf_model_get_product_tree (struct cvrf_model *model)
 
struct cvrf_documentcvrf_model::cvrf_model_get_document (const struct cvrf_model *model)
 
const char * cvrf_model::cvrf_model_get_identification (struct cvrf_model *model)
 
bool cvrf_model::cvrf_model_set_document (struct cvrf_model *model, struct cvrf_document *doc)
 
struct
cvrf_vulnerability_iterator * 
cvrf_model::cvrf_model_get_vulnerabilities (const struct cvrf_model *model)
 
bool cvrf_model::cvrf_model_add_vulnerability (struct cvrf_model *model, struct cvrf_vulnerability *vuln)
 
struct cvrf_indexcvrf_index::cvrf_index_new (void)
 New index structure holding all CVRF models. More...
 
void cvrf_index::cvrf_index_free (struct cvrf_index *index)
 Deallocates memory for the CVRF Index structure and all the Models it contains. More...
 
struct cvrf_indexcvrf_index::cvrf_index_clone (const struct cvrf_index *index)
 
const char * cvrf_index::cvrf_index_get_source_url (const struct cvrf_index *index)
 
const char * cvrf_index::cvrf_index_get_index_file (const struct cvrf_index *index)
 
bool cvrf_index::cvrf_index_set_source_url (struct cvrf_index *index, const char *url)
 
bool cvrf_index::cvrf_index_set_index_file (struct cvrf_index *index, const char *index_file)
 
bool cvrf_index::cvrf_index_add_model (struct cvrf_index *index, struct cvrf_model *model)
 
struct cvrf_model_iterator * cvrf_index::cvrf_index_get_models (const struct cvrf_index *index)
 
struct cvrf_sessioncvrf_session::cvrf_session_new_from_source_model (struct oscap_source *source)
 
struct cvrf_sessioncvrf_session::cvrf_session_new_from_source_index (struct oscap_source *source)
 
void cvrf_session::cvrf_session_free (struct cvrf_session *session)
 Deallocates memory for a CVRF Session structure. More...
 
struct cvrf_modelcvrf_session::cvrf_session_get_model (struct cvrf_session *session)
 
struct cvrf_indexcvrf_session::cvrf_session_get_index (const struct cvrf_session *session)
 
struct oscap_string_iteratorcvrf_session::cvrf_session_get_product_ids (struct cvrf_session *session)
 After filtering the CVRF model structure by the CPE, all the ProductIDs related to that operating system should be held in this stringlist. More...
 
const char * cvrf_session::cvrf_session_get_os_name (const struct cvrf_session *session)
 
void cvrf_session::cvrf_session_set_model (struct cvrf_session *session, struct cvrf_model *model)
 Add the CVRF model to be evaluated to the Session structure. More...
 
bool cvrf_session::cvrf_session_set_index (struct cvrf_session *session, struct cvrf_index *index)
 Add the CVRF index to be evaluated to the Session structure. More...
 
bool cvrf_session::cvrf_session_set_os_name (struct cvrf_session *session, const char *os_name)
 Add the CPE name for filtering of relevant ProductIDs and CVRF elements. More...
 
struct cvrf_rpm_attributescvrf_rpm_attributes::cvrf_rpm_attributes_new (void)
 Create a new CVRF RPM attributes structure. More...
 
void cvrf_rpm_attributes::cvrf_rpm_attributes_free (struct cvrf_rpm_attributes *attributes)
 Deallocate memory for the CVRF RPM attributes structure. More...
 
const char * cvrf_rpm_attributes::cvrf_rpm_attributes_get_full_package_name (const struct cvrf_rpm_attributes *attributes)
 
const char * cvrf_rpm_attributes::cvrf_rpm_attributes_get_rpm_name (const struct cvrf_rpm_attributes *attributes)
 Used to check if the RPM file exists on the system during evaluation. More...
 
const char * cvrf_rpm_attributes::cvrf_rpm_attributes_get_evr_format (const struct cvrf_rpm_attributes *attributes)
 Used to check if the system is vulnerable by comparing EVR from the system to EVR in the CVRF file. More...
 
bool cvrf_rpm_attributes::cvrf_rpm_attributes_set_full_package_name (struct cvrf_rpm_attributes *attributes, const char *full_package)
 
bool cvrf_rpm_attributes::cvrf_rpm_attributes_set_rpm_name (struct cvrf_rpm_attributes *attributes, const char *rpm_name)
 
bool cvrf_rpm_attributes::cvrf_rpm_attributes_set_evr_format (struct cvrf_rpm_attributes *attributes, const char *evr_format)
 
const char * cvrf_model::cvrf_model_supported (void)
 Get supported version of CVRF XML. More...
 
struct cvrf_indexcvrf_index::cvrf_index_import (struct oscap_source *index_source)
 Parses specified text index file and parses each filename in the list into a CVRF model contained in the CVRF index structure. More...
 
struct cvrf_modelcvrf_model::cvrf_model_import (struct oscap_source *source)
 Parses the specified XML file and creates a list of CVRF data structures. More...
 
struct oscap_sourcecvrf_index::cvrf_index_get_export_source (struct cvrf_index *index)
 Export CVRF Index to the export source as an XML doc. More...
 
struct oscap_sourcecvrf_model::cvrf_model_get_export_source (struct cvrf_model *model)
 Export CVRF Model to the export source as an XML doc. More...
 
struct oscap_sourcecvrf_session::cvrf_model_get_results_source (struct oscap_source *import_source, const char *os_name)
 Import and parse the CVRF Model from the provided source, filter it by CPE to find appropriate packages, check these for vulnerabilities, and generate an XML document of the results. More...
 
struct oscap_sourcecvrf_session::cvrf_index_get_results_source (struct oscap_source *import_source, const char *os_name)
 Import and parse the CVRF Index from the provided source, filter it by CPE to find appropriate packages, check these for vulnerabilities, and generate an XML document of the results. More...
 

Function Documentation

struct cvrf_acknowledgment * cvrf_acknowledgment_clone ( const struct cvrf_acknowledgment ack)
Parameters
ackOriginal Acknowledgment structure to be cloned
Returns
New cloned Acknowledgment structure with same data as the original
void cvrf_acknowledgment_free ( struct cvrf_acknowledgment ack)

Deallocates memory for an Acknowledgment element of the Acknowledgments container.

Parameters
ackThe CVRF Acknowledgment structure to be freed
const char * cvrf_acknowledgment_get_description ( const struct cvrf_acknowledgment ack)
Parameters
ackCVRF Acknowledgment structure Contextual information about acknowledgers or acknowledged parties
Returns
contents of Description element within an Acknowledgment element
struct oscap_string_iterator * cvrf_acknowledgment_get_names ( const struct cvrf_acknowledgment ack)
Parameters
ackCVRF Acknowledgment structure List of names of all parties who are being acknowledged
Returns
String iterator representing list of all names
struct oscap_string_iterator * cvrf_acknowledgment_get_organizations ( const struct cvrf_acknowledgment ack)
Parameters
ackCVRF Acknowledgment structure Organizations of parties and/or organization(s) itself being acknowledged
Returns
String iterator representing list of all organizations
struct oscap_string_iterator * cvrf_acknowledgment_get_urls ( const struct cvrf_acknowledgment ack)
Parameters
ackCVRF Acknowledgment structure URLs to people or parties being acknowledged
Returns
String iterator representing list of all URLs
struct cvrf_acknowledgment * cvrf_acknowledgment_new ( void  )

New CVRF Acknowledgment element within Acknowledgments container.

Returns
New CVRF Acknowledgment structure
bool cvrf_acknowledgment_set_description ( struct cvrf_acknowledgment ack,
const char *  description 
)
Parameters
ackCVRF Acknowledgment structure
descriptionContextual information about acknowledgers or acknowledged parties
Returns
true on success
struct cvrf_branch * cvrf_branch_clone ( const struct cvrf_branch branch)
Parameters
branchOriginal Branch structure to be cloned
Returns
New cloned Branch structure with same data as the original
void cvrf_branch_free ( struct cvrf_branch branch)

Deallocates memory for a Branch element.

Parameters
branchThe CVRF Branch structure to be freed
const char * cvrf_branch_get_branch_name ( const struct cvrf_branch branch)
Parameters
branchCVRF Branch structure Canonical description of the Branch; paired with Branch Type
Returns
contents of Name attribute within a Branch element
struct cvrf_product_name * cvrf_branch_get_product_name ( const struct cvrf_branch branch)
Parameters
branchCVRF Branch structure Child element and endpoint of tree for branches not of the type 'Product Family'
Returns
FullProductName child element of a Branch element
struct oscap_iterator * cvrf_branch_get_subbranches ( struct cvrf_branch branch)
Parameters
branchCVRF Branch structure Sub-branch children of 'Product Family'-type Branches
Returns
Iterator for sub-branch structures for this Branch element
struct cvrf_branch * cvrf_branch_new ( void  )

New CVRF branch of ProductTree or sub-branch.

Returns
New CVRF branch
bool cvrf_branch_set_branch_name ( struct cvrf_branch branch,
const char *  branch_name 
)
Parameters
branchCVRF Branch structure
branch_nameCanonical description of the Branch; paired with Branch Type
Returns
true on success
bool cvrf_branch_set_product_name ( struct cvrf_branch branch,
struct cvrf_product_name name 
)
Parameters
branchCVRF Branch structure
nameChild element and endpoint of tree for branches not of the type 'Product Family'
Returns
true on success
struct cvrf_doc_publisher * cvrf_doc_publisher_clone ( const struct cvrf_doc_publisher publisher)
Parameters
revisionOriginal DocumentPublisher structure to be cloned
Returns
New cloned DocumentPublisher structure with same data as the original
void cvrf_doc_publisher_free ( struct cvrf_doc_publisher publisher)

Deallocates memory for a DocumentPublisher element.

Parameters
publisherThe CVRF DocumentPublisher structure to be freed
const char * cvrf_doc_publisher_get_contact_details ( const struct cvrf_doc_publisher publisher)
Parameters
publisherCVRF DocumentPublisher structure Contains information needed to get contact with the document publisher
Returns
Content of the ContactDetails element of the DocumentPublisher element
const char * cvrf_doc_publisher_get_issuing_authority ( const struct cvrf_doc_publisher publisher)
Parameters
publisherCVRF DocumentPublisher structure Contains name of the issuer and their level of authority over the document's release
Returns
Content of the IssuingAuthority element of the DocumentPublisher element
const char * cvrf_doc_publisher_get_vendor_id ( const struct cvrf_doc_publisher publisher)
Parameters
publisherCVRF DocumentPublisher structure Unique ID of the Vendor, if any, who published the document
Returns
Content of the VendorID attribute of the DocumentPublisher element
struct cvrf_doc_publisher * cvrf_doc_publisher_new ( void  )

New CVRF DocumentPublisher structure.

Returns
New CVRF DocumentPublisher structure
bool cvrf_doc_publisher_set_contact_details ( struct cvrf_doc_publisher publisher,
const char *  contact_details 
)
Parameters
publisherCVRF DocumentPublisher structure
contact_detailsInformation needed to get contact with the document publisher
Returns
true on success
bool cvrf_doc_publisher_set_issuing_authority ( struct cvrf_doc_publisher publisher,
const char *  issuing_authority 
)
Parameters
publisherCVRF DocumentPublisher structure
issuing_authorityName of the issuer and their level of authority over the document's release
Returns
true on success
bool cvrf_doc_publisher_set_vendor_id ( struct cvrf_doc_publisher publisher,
const char *  vendor_id 
)
Parameters
publisherCVRF DocumentPublisher structure
vendor_idUnique ID of the Vendor, if any, who published the document
Returns
true on success
bool cvrf_doc_tracking_add_revision ( struct cvrf_doc_tracking tracking,
struct cvrf_revision revision 
)
Parameters
trackingCVRF DocumentTracking structure
revisionCVRF Revision structure to be added to the DocumentTracking
Returns
true on success
struct cvrf_doc_tracking * cvrf_doc_tracking_clone ( const struct cvrf_doc_tracking tracking)
Parameters
trackingOriginal DocumentTracking structure to be cloned
Returns
New cloned DocumentTracking structure with same data as the original
void cvrf_doc_tracking_free ( struct cvrf_doc_tracking tracking)

Deallocates memory for a DocumentTracking element.

Parameters
trackingThe CVRF DocumentTracking structure to be freed
struct oscap_string_iterator * cvrf_doc_tracking_get_aliases ( struct cvrf_doc_tracking tracking)
Parameters
trackingCVRF DocumentTracking structure Optional alternative ID(s) for the document
Returns
Iterator for the stringlist of Alias elements within Identification element
const char * cvrf_doc_tracking_get_cur_release_date ( const struct cvrf_doc_tracking tracking)
Parameters
trackingCVRF DocumentTracking structure Datetime of the document's current release by the issuer
Returns
contents of CurrentReleaseDate element within DocumentTracking element
const char * cvrf_doc_tracking_get_generator_date ( const struct cvrf_doc_tracking tracking)
Parameters
trackingCVRF DocumentTracking structure Datetime of when the document was generated
Returns
contents of Date element within Generator element
const char * cvrf_doc_tracking_get_generator_engine ( const struct cvrf_doc_tracking tracking)
Parameters
trackingCVRF DocumentTracking structure Name and optional version of the generator of the document
Returns
contents of Engine element within Generator element
const char * cvrf_doc_tracking_get_init_release_date ( const struct cvrf_doc_tracking tracking)
Parameters
trackingCVRF DocumentTracking structure Datetime of the document's original release by the issuer
Returns
contents of InitialReleaseDate element within DocumentTracking element
struct cvrf_revision_iterator * cvrf_doc_tracking_get_revision_history ( const struct cvrf_doc_tracking tracking)
Parameters
trackingCVRF DocumentTracking structure
Returns
Iterator representing list of all Revisions in the DocumentTracking
const char * cvrf_doc_tracking_get_tracking_id ( const struct cvrf_doc_tracking tracking)
Parameters
trackingCVRF DocumentTracking structure Short identifier to unambiguously reference the document in any context
Returns
contents of ID element within Identification element
const char * cvrf_doc_tracking_get_version ( const struct cvrf_doc_tracking tracking)
Parameters
trackingCVRF DocumentTracking structure Counter to track the document in tokenized format "nn" - "nn.nn.nn.nn"
Returns
contents of
contents of Version element within DocumentTracking element
struct cvrf_doc_tracking * cvrf_doc_tracking_new ( void  )

New CVRF DocumentTracking structure.

Returns
New CVRF DocumentTracking
bool cvrf_doc_tracking_set_cur_release_date ( struct cvrf_doc_tracking tracking,
const char *  cur_release_date 
)
Parameters
trackingCVRF DocumentTracking structure
cur_release_dateDatetime of the document's current release by the issuer
Returns
true on success
bool cvrf_doc_tracking_set_generator_date ( struct cvrf_doc_tracking tracking,
const char *  generator_date 
)
Parameters
trackingCVRF DocumentTracking structure
generator_dateDatetime of when the document was generated
Returns
true on success
bool cvrf_doc_tracking_set_generator_engine ( struct cvrf_doc_tracking tracking,
const char *  generator_engine 
)
Parameters
trackingCVRF DocumentTracking structure
generator_engineName and optional version of the generator of the document
Returns
true on success
bool cvrf_doc_tracking_set_init_release_date ( struct cvrf_doc_tracking tracking,
const char *  init_release_date 
)
Parameters
trackingCVRF DocumentTracking structure
init_release_dateDatetime of the document's original release by the issuer
Returns
true on success
bool cvrf_doc_tracking_set_tracking_id ( struct cvrf_doc_tracking tracking,
const char *  id 
)
Parameters
trackingCVRF DocumentTracking structure
idShort identifier to unambiguously reference the document in any context
Returns
true on success
bool cvrf_doc_tracking_set_version ( struct cvrf_doc_tracking tracking,
const char *  version 
)
Parameters
trackingCVRF DocumentTracking structure
versionCounter to track the document in tokenized format "nn" - "nn.nn.nn.nn"
Returns
true on success
struct cvrf_document * cvrf_document_clone ( const struct cvrf_document doc)
Parameters
revisionOriginal Document structure to be cloned
Returns
New cloned Document structure with same data as the original
void cvrf_document_free ( struct cvrf_document doc)

Deallocates memory for the CVRF Document structure and all its child DocumentTracking, DocumentPublisher, DocumentReferences structures.

Parameters
docThe CVRF Document structure to be freed
struct oscap_iterator * cvrf_document_get_acknowledgments ( struct cvrf_document doc)
Parameters
docCVRF Document structure Represents the Acknowledgments container that holds all Acknowledgment elements
Returns
Iterator for the Acknowledgment list within the Acknowledgments container
const char * cvrf_document_get_aggregate_severity ( const struct cvrf_document doc)
Parameters
docCVRF Document structure Conveys information about the severity of Vulnerabilities in the document
Returns
contents of the AggregateSeverity element within the root cvrfdoc element
const char * cvrf_document_get_doc_distribution ( const struct cvrf_document doc)
Parameters
docCVRF Document structure Contains legal restrains about reproducing and using the document
Returns
contents of the DocumentDistribution element within the root cvrfdoc element
const char * cvrf_document_get_namespace ( const struct cvrf_document doc)
Parameters
docCVRF Document structure Contains URL with link to Namespace of the AggregateSeverity element
Returns
contents of the Namespace attribute of the AggregateSeverity element
struct oscap_iterator * cvrf_document_get_notes ( struct cvrf_document doc)
Parameters
docCVRF Document structure Represents the DocumentNotes container that holds all Note elements
Returns
Iterator for the list of Notes within the DocumentNotes container
struct cvrf_doc_publisher * cvrf_document_get_publisher ( const struct cvrf_document doc)
Parameters
docCVRF Document structure Structure with all elements that give information about the publisher
Returns
DocumentPublisher structure of the cvrfdoc root element
struct oscap_iterator * cvrf_document_get_references ( struct cvrf_document doc)
Parameters
docCVRF Document structure Represents the DocumentReferences container that holds all Reference elements
Returns
Iterator for the list of References within the DocumentReferences container
struct cvrf_doc_tracking * cvrf_document_get_tracking ( const struct cvrf_document doc)
Parameters
docCVRF Document structure Structure with all elements for tracking and referencing the document itself
Returns
DocumentTracking structure of the cvrfdoc root element
struct cvrf_document * cvrf_document_new ( void  )

New CVRF Document structure.

Returns
New CVRF Document structure
bool cvrf_document_set_aggregate_severity ( struct cvrf_document doc,
const char *  severity 
)
Parameters
docCVRF Document structure
severityInformation about the severity of Vulnerabilities in the document
Returns
true on success
bool cvrf_document_set_doc_distribution ( struct cvrf_document doc,
const char *  distribution 
)
Parameters
docCVRF Document structure
distributionLegal restrains about reproducing and using the document
Returns
true on success
bool cvrf_document_set_namespace ( struct cvrf_document doc,
const char *  ns 
)
Parameters
docCVRF Document structure
nsURL with link to Namespace of the AggregateSeverity element
Returns
true on success
bool cvrf_document_set_publisher ( struct cvrf_document doc,
struct cvrf_doc_publisher publisher 
)
Parameters
docCVRF Document structure
publisherStructure with all elements that give information about the publisher
Returns
true on success
bool cvrf_document_set_tracking ( struct cvrf_document doc,
struct cvrf_doc_tracking track 
)
Parameters
docCVRF Document structure
trackStructure with all elements for tracking and referencing the document itself
Returns
true on success
struct cvrf_group * cvrf_group_clone ( const struct cvrf_group group)
Parameters
groupOriginal Group structure to be cloned
Returns
New cloned Group structure with same data as the original
void cvrf_group_free ( struct cvrf_group group)

Deallocates memory for a Group element.

Parameters
groupThe CVRF Group structure to be freed
const char * cvrf_group_get_description ( const struct cvrf_group group)
Parameters
groupCVRF Group structure Short and human-readable description about the Group
Returns
contents of Description element of a Group element
const char * cvrf_group_get_group_id ( const struct cvrf_group group)
Parameters
groupCVRF Group structure Unique identifier for a Group; used for referencing the Group elsewhere in the document
Returns
contents of GroupID attribute of a Group element
struct oscap_string_iterator * cvrf_group_get_product_ids ( struct cvrf_group group)
Parameters
groupCVRF Group structure List of all ProductIDs representing the products that belong to this Group
Returns
Iterator for the stringlist of ProductIDs
struct cvrf_group * cvrf_group_new ( void  )

New CVRF Group child of ProductGroups container element.

Returns
New CVRF Group structure
bool cvrf_group_set_description ( struct cvrf_group group,
const char *  description 
)
Parameters
groupCVRF Group structure
descriptionShort and human-readable description about the Group
Returns
true on success
bool cvrf_group_set_group_id ( struct cvrf_group group,
const char *  group_id 
)
Parameters
groupCVRF Group structure
group_idUnique identifier for a Group for referencing elsewhere in the document
Returns
true on success
bool cvrf_index_add_model ( struct cvrf_index index,
struct cvrf_model model 
)
Parameters
indexCVRF Index structure
modelCVRF Model structure to be added to the Index structure
Returns
true on success
struct cvrf_index * cvrf_index_clone ( const struct cvrf_index index)
Parameters
indexOriginal CVRF Index structure to be cloned
Returns
New cloned CVRF Index structure with same data as the original
void cvrf_index_free ( struct cvrf_index index)

Deallocates memory for the CVRF Index structure and all the Models it contains.

Parameters
indexThe CVRF Index structure to be freed
struct oscap_source * cvrf_index_get_export_source ( struct cvrf_index index)

Export CVRF Index to the export source as an XML doc.

Parameters
indexCVRF index structure
Returns
Export target source for the Index, NULL on failure
const char * cvrf_index_get_index_file ( const struct cvrf_index index)
Parameters
indexCVRF Index structure Reference to path to local index file with list of all CVRF files contained in the index
Returns
String representation of source filepath
struct cvrf_model_iterator * cvrf_index_get_models ( const struct cvrf_index index)
Parameters
indexCVRF Index structure
Returns
Iterator representing list of all Models in the Index
struct oscap_source * cvrf_index_get_results_source ( struct oscap_source import_source,
const char *  os_name 
)

Import and parse the CVRF Index from the provided source, filter it by CPE to find appropriate packages, check these for vulnerabilities, and generate an XML document of the results.

Parameters
import_sourceOSCAP source used to import the CVRF Index into the session
os_nameCPE name used to find relevant RPM packages to check for vulnerabilities
Returns
OSCAP source export target for the results XML file
const char * cvrf_index_get_source_url ( const struct cvrf_index index)
Parameters
indexCVRF Index structure Reference to source URL used to find all CVRF files contained in the index
Returns
String representation of source URL, if one was used
struct cvrf_index * cvrf_index_import ( struct oscap_source index_source)

Parses specified text index file and parses each filename in the list into a CVRF model contained in the CVRF index structure.

Parameters
index_sourceOSCAP source with path to CVRF file
Returns
New CVRF index containing all CVRF models
struct cvrf_index * cvrf_index_new ( void  )

New index structure holding all CVRF models.

Returns
New CVRF index structure
bool cvrf_index_set_index_file ( struct cvrf_index index,
const char *  index_file 
)
Parameters
indexCVRF Index structure
index_fileFilepath with list of all CVRF files contained in the index
Returns
true on success
bool cvrf_index_set_source_url ( struct cvrf_index index,
const char *  url 
)
Parameters
indexCVRF Index structure
urlSource URL used to find all CVRF files contained in the index
Returns
true on success
struct cvrf_involvement * cvrf_involvement_clone ( const struct cvrf_involvement involve)
Parameters
involveOriginal Involvement structure to be cloned
Returns
New cloned Involvement structure with same data as the original
void cvrf_involvement_free ( struct cvrf_involvement involve)

Deallocates memory for an Involvement element.

Parameters
involveThe CVRF Involvement structure to be freed
const char * cvrf_involvement_get_description ( const struct cvrf_involvement involve)
Parameters
involveCVRF Involvement structure Gives context about the involvement or about the Party's contribution
Returns
contents of Description element within Involvement element
struct cvrf_involvement * cvrf_involvement_new ( void  )

New CVRF Involvement.

Returns
New CVRF Involvement
bool cvrf_involvement_set_description ( struct cvrf_involvement involve,
const char *  description 
)
Parameters
involveCVRF Involvement structure
descriptionGives context about the involvement or about the Party's contribution
Returns
true on success
bool cvrf_model_add_vulnerability ( struct cvrf_model model,
struct cvrf_vulnerability vuln 
)
Parameters
modelCVRF Model structure
vulnCVRF Vulnerability structure to be added to the model
Returns
true on success
struct cvrf_model * cvrf_model_clone ( const struct cvrf_model model)
Parameters
modelOriginal CVRF Model structure to be cloned
Returns
New cloned CVRF Model structure with same data as the original
int cvrf_model_filter_by_cpe ( struct cvrf_model model,
const char *  cpe 
)

Removes all Branches, Relationships, and ProductIDs within Vulnerabilities that do no pertain to the provided CPE.

Parameters
cvrfThe CVRF Model structure to be filtered
cpeCPE name by which to filter the Model
Returns
0 on success, -1 on failure
void cvrf_model_free ( struct cvrf_model cvrf)

Deallocates memory for the CVRF Model structure and all its child elements.

Parameters
cvrfThe CVRF Model structure to be freed
const char * cvrf_model_get_doc_title ( const struct cvrf_model model)
Parameters
modelCVRF Model structure Definitive canonical name for the document
Returns
Contents of DocumentTitle element within the root cvrfdoc element
const char * cvrf_model_get_doc_type ( const struct cvrf_model model)
Parameters
modelCVRF Model structure Short canonical name of the document's type
Returns
Contents of DocumentType element within the root cvrfdoc element
struct cvrf_document * cvrf_model_get_document ( const struct cvrf_model model)
Parameters
modelCVRF Model structure Structure that holds all document-related metadata, such as References, DocumentTracking, DocumentPublisher, and Notes
Returns
Document structures within the root cvrfdoc element
struct oscap_source * cvrf_model_get_export_source ( struct cvrf_model model)

Export CVRF Model to the export source as an XML doc.

Parameters
modelCVRF Model structure
Returns
Export target source for the Model, NULL on failure
const char * cvrf_model_get_identification ( struct cvrf_model model)
Parameters
modelCVRF Model structure
Returns
Unique ID used to track this document
struct cvrf_product_tree * cvrf_model_get_product_tree ( struct cvrf_model model)
Parameters
modelCVRF Model structure Contains all Product names needed for referencing elsewhere in the document
Returns
ProductTree structure within the root cvrfdoc element
struct oscap_source * cvrf_model_get_results_source ( struct oscap_source import_source,
const char *  os_name 
)

Import and parse the CVRF Model from the provided source, filter it by CPE to find appropriate packages, check these for vulnerabilities, and generate an XML document of the results.

Parameters
import_sourceOSCAP source used to import the CVRF Model into the session
os_nameCPE name used to find relevant RPM packages to check for vulnerabilities
Returns
OSCAP source export target for the results XML file
struct cvrf_vulnerability_iterator * cvrf_model_get_vulnerabilities ( const struct cvrf_model model)
Parameters
modelCVRF Model structure
Returns
Iterator representing list of all Vulnerabilities in the model
struct cvrf_model * cvrf_model_import ( struct oscap_source source)

Parses the specified XML file and creates a list of CVRF data structures.

Parameters
sourceOSCAP source with path to CVRF file
Returns
New CVRF model structure
struct cvrf_model * cvrf_model_new ( void  )

New CVRF model.

Returns
New CVRF model
bool cvrf_model_set_doc_title ( struct cvrf_model model,
const char *  doc_title 
)
Parameters
modelCVRF Model structure
doc_titleDefinitive canonical name for the document
Returns
true on success
bool cvrf_model_set_doc_type ( struct cvrf_model model,
const char *  doc_type 
)
Parameters
modelCVRF Model structure
doc_typeShort canonical name of the document's type
Returns
true on success
bool cvrf_model_set_document ( struct cvrf_model model,
struct cvrf_document doc 
)
Parameters
modelCVRF Model structure
docStructure that holds all document-related metadata
Returns
true on success
const char * cvrf_model_supported ( void  )

Get supported version of CVRF XML.

Returns
version of XML file format
struct cvrf_note * cvrf_note_clone ( const struct cvrf_note note)
Parameters
noteOriginal Note structure to be cloned
Returns
New cloned Note structure with same data as the original
void cvrf_note_free ( struct cvrf_note note)

Deallocates memory for a Note element of the Notes container.

Parameters
noteThe CVRF Note structure to be freed
const char * cvrf_note_get_audience ( const struct cvrf_note note)
Parameters
noteCVRF Note structure Party to whom the information in this note is directed
Returns
Contents of Audience attribute of the Note element
const char * cvrf_note_get_contents ( const struct cvrf_note note)
Parameters
noteCVRF Note structure Information relating to the document that is contained in the Note
Returns
Contents of the Note element itself
int cvrf_note_get_ordinal ( const struct cvrf_note note)
Parameters
noteCVRF Note structure Index of a Note element within a Notes container
Returns
Ordinal attribute of the Note element
const char * cvrf_note_get_title ( const struct cvrf_note note)
Parameters
noteCVRF Note structure Concise description of the contents of the Note
Returns
Contents of Title attribute of the Note element
struct cvrf_note * cvrf_note_new ( void  )

New CVRF Note element within Notes or DocumentNotes container.

Returns
New CVRF Note structure
bool cvrf_note_set_audience ( struct cvrf_note note,
const char *  audience 
)
Parameters
noteCVRF Note structure
audienceParty to whom the information in this note is directed
Returns
true on success
bool cvrf_note_set_contents ( struct cvrf_note note,
const char *  contents 
)
Parameters
noteCVRF Note structure
contentsInformation that is contained in the Note
Returns
true on success
bool cvrf_note_set_ordinal ( struct cvrf_note note,
int  ordinal 
)
Parameters
noteCVRF Note structure
ordinalIndex of a Note element within a Notes container
Returns
true on success
bool cvrf_note_set_title ( struct cvrf_note note,
const char *  title 
)
Parameters
noteCVRF Note structure
titleConcise description of the contents of the Note
Returns
true on success
struct cvrf_product_name * cvrf_product_name_clone ( const struct cvrf_product_name full_name)
Parameters
full_nameOriginal FullProductName structure to be cloned
Returns
New cloned FullProductName structure with same data as the original
void cvrf_product_name_free ( struct cvrf_product_name full_name)

Deallocates memory for a FullProductName element.

Parameters
full_nameThe CVRF FullProductName structure to be freed
const char * cvrf_product_name_get_cpe ( const struct cvrf_product_name full_name)
Parameters
full_nameCVRF FullProductName structure
Returns
CPE information contained in the FullProductName element
const char * cvrf_product_name_get_product_id ( const struct cvrf_product_name full_name)
Parameters
full_nameCVRF FullProductName structure
Returns
ProductID attribute within the FullProductName element
struct cvrf_product_name * cvrf_product_name_new ( void  )

New FullProductName of Branch or ProductTree.

Returns
New FullProductName
bool cvrf_product_name_set_cpe ( struct cvrf_product_name full_name,
const char *  cpe 
)
Parameters
full_nameCVRF FullProductName structure
Returns
true on success
bool cvrf_product_name_set_product_id ( struct cvrf_product_name full_name,
const char *  product_id 
)
Parameters
full_nameCVRF FullProductName structure
Returns
true on success
struct cvrf_product_status * cvrf_product_status_clone ( const struct cvrf_product_status stat)
Parameters
statOriginal Status structure to be cloned
Returns
New cloned Status structure with same data as the original
void cvrf_product_status_free ( struct cvrf_product_status status)

Deallocates memory for a Status element of the ProductStatuses container.

Parameters
statusThe CVRF Status element to be freed
struct oscap_string_iterator * cvrf_product_status_get_ids ( struct cvrf_product_status stat)
Parameters
statStatus structure with stringlist of ProductIDs
Returns
Iterator for the stringlist of ProductIDs
struct cvrf_product_status * cvrf_product_status_new ( void  )

New Status member of a ProductStatuses container within a Vulnerability element.

Returns
New CVRF ProductStatus
bool cvrf_product_tree_add_group ( struct cvrf_product_tree tree,
struct cvrf_group group 
)
Parameters
treeCVRF ProductTree structure
groupCVRF Group structure to be added to the ProductTree
Returns
true on success
bool cvrf_product_tree_add_product_name ( struct cvrf_product_tree tree,
struct cvrf_product_name full_name 
)
Parameters
treeCVRF ProductTree structure
full_nameCVRF FullProductName structure to be added to the ProductTree
Returns
true on success
bool cvrf_product_tree_add_relationship ( struct cvrf_product_tree tree,
struct cvrf_relationship relation 
)
Parameters
treeCVRF ProductTree structure
relationCVRF Relationship structure to be added to the ProductTree
Returns
true on success
struct cvrf_product_tree * cvrf_product_tree_clone ( const struct cvrf_product_tree tree)
Parameters
treeOriginal ProductTree structure to be cloned
Returns
New cloned ProductTree structure with same data as the original
int cvrf_product_tree_filter_by_cpe ( struct cvrf_product_tree tree,
const char *  cpe 
)

Use the CPE name to find the matching ProductID, then filter the tree by removing branches and relationship elements not related to that ProductID.

Parameters
treeProductTree structure to be filtered
cpeCPE name used to filter all unrelated elements
Returns
0 on success, -1 on failure
void cvrf_product_tree_free ( struct cvrf_product_tree tree)

Deallocates memory for a ProductTree element and all its child Branches, Relationships, and FullProductNames, if they exist.

Parameters
treeThe CVRF ProductTree structure to be freed
struct cvrf_group_iterator * cvrf_product_tree_get_product_groups ( const struct cvrf_product_tree tree)
Parameters
treeCVRF ProductTree structure
Returns
Iterator representing list of all Groups in the ProductTree
struct cvrf_product_name_iterator * cvrf_product_tree_get_product_names ( const struct cvrf_product_tree tree)
Parameters
treeCVRF ProductTree structure
Returns
Iterator representing list of all FullProductNames in the ProductTree
struct cvrf_relationship_iterator * cvrf_product_tree_get_relationships ( const struct cvrf_product_tree tree)
Parameters
treeCVRF ProductTree structure
Returns
Iterator representing list of all Relationships in the ProductTree
struct cvrf_product_tree * cvrf_product_tree_new ( void  )

New ProductTree structure.

Returns
New CVRF ProductTree
struct cvrf_reference * cvrf_reference_clone ( const struct cvrf_reference ref)
Parameters
revisionOriginal Reference structure to be cloned
Returns
New cloned Reference structure with same data as the original
void cvrf_reference_free ( struct cvrf_reference reference)

Deallocates memory for a Reference element of the References container.

Parameters
referenceThe CVRF Reference structure to be freed
const char * cvrf_reference_get_description ( const struct cvrf_reference reference)
Parameters
referenceCVRF Reference structure Title or name of the Reference element
Returns
Contents of Description element within the Reference element
const char * cvrf_reference_get_url ( const struct cvrf_reference reference)
Parameters
referenceCVRF Reference structure Contains fixed URL link to the advisory or other reference
Returns
Contents of URL element within the Reference element
struct cvrf_reference * cvrf_reference_new ( void  )

New CVRF Reference structure.

Returns
New CVRF Reference
bool cvrf_reference_set_description ( struct cvrf_reference reference,
const char *  description 
)
Parameters
referenceCVRF Reference structure
descriptionTitle or name of the Reference element
Returns
true on success
bool cvrf_reference_set_url ( struct cvrf_reference reference,
const char *  url 
)
Parameters
referenceCVRF Reference structure
urlContains fixed URL link to the advisory or other reference
Returns
true on success
struct cvrf_relationship * cvrf_relationship_clone ( const struct cvrf_relationship relation)
Parameters
relationOriginal Relationship structure to be cloned
Returns
New cloned Relationship structure with same data as the original
void cvrf_relationship_free ( struct cvrf_relationship relationship)

Deallocates memory for a Relationship element.

Parameters
relationshipThe CVRF Relationship structure to be freed
struct cvrf_product_name * cvrf_relationship_get_product_name ( const struct cvrf_relationship relation)
Parameters
relationCVRF Relationship structure Typically combines references to the CPE and package ProductID named in Relationship attributes
Returns
FullProductName child element of a Relationship element
const char * cvrf_relationship_get_product_reference ( const struct cvrf_relationship relation)
Parameters
relationCVRF Relationship structure Reference to a package ProductID that is a component of the CPE in RelatesToProductReference
Returns
contents of ProductReference attribute of a Relationship element
const char * cvrf_relationship_get_relates_to_ref ( const struct cvrf_relationship relation)
Parameters
relationCVRF Relationship structure ProductID for a CPE referenced in preceding Branches in the ProductTree
Returns
contents of RelatesToProductReference attribute of a Relationship element
struct cvrf_relationship * cvrf_relationship_new ( void  )

New CVRF Relationship element within ProductTree.

Returns
New CVRF Relationship structure
bool cvrf_relationship_set_product_name ( struct cvrf_relationship relation,
struct cvrf_product_name name 
)
Parameters
relationCVRF Relationship structure
nameReferences to the CPE and package ProductID named in Relationship attributes
Returns
true on success
bool cvrf_relationship_set_product_reference ( struct cvrf_relationship relation,
const char *  product_reference 
)
Parameters
relationCVRF Relationship structure
product_referenceCombined reference to the CPE and package ProductID
Returns
true on success
bool cvrf_relationship_set_relates_to_ref ( struct cvrf_relationship relation,
const char *  relates_to_ref 
)
Parameters
relationCVRF Relationship structure
relates_to_refProductID for a CPE referenced in preceding Branches in the ProductTree
Returns
true on success
struct cvrf_remediation * cvrf_remediation_clone ( const struct cvrf_remediation remed)
Parameters
remedOriginal Remediation structure to be cloned
Returns
New cloned Remediation structure with same data as the original
void cvrf_remediation_free ( struct cvrf_remediation remed)

Deallocates memory for a Remediation element of the Remediations container.

Parameters
remedThe CVRF Remediation structure to be freed
const char * cvrf_remediation_get_date ( const struct cvrf_remediation remed)
Parameters
remedCVRF Remediation structure Date that the Remediation was created
Returns
contents of Date attribute of the Remediation attribute
const char * cvrf_remediation_get_description ( const struct cvrf_remediation remed)
Parameters
remedCVRF Remediation structure Description contains a human-readable explanation of Remediation process
Returns
contents of Description element within a Remediation element
const char * cvrf_remediation_get_entitlement ( const struct cvrf_remediation remed)
Parameters
remedCVRF Remediation structure Contains vendor-defined constraints for products used to resolve the Vulnerability
Returns
contents of Entitlement element within a Remediation element
struct oscap_string_iterator * cvrf_remediation_get_group_ids ( struct cvrf_remediation remed)
Parameters
remedCVRF Remediation structure Stringlist can have from zero to unbounded number of GroupIDs GroupIDs reference the GroupID of a Group element in the document
Returns
Iterator for the stringlist of GroupIDs
struct oscap_string_iterator * cvrf_remediation_get_product_ids ( struct cvrf_remediation remed)
Parameters
remedCVRF Remediation structure Stringlist can have from zero to unbounded number of ProductIDs ProductIDs reference the ProductID of a FullProductName element in the document
Returns
Iterator for the stringlist of ProductIDs
const char * cvrf_remediation_get_url ( const struct cvrf_remediation remed)
Parameters
remedCVRF Remediation structure Optional URL link to a Remediation for a particular Vulnerability
Returns
contents of URL element within a Remediation element
struct cvrf_remediation * cvrf_remediation_new ( void  )

New CVRF Remediation.

Returns
New CVRF Remediation
bool cvrf_remediation_set_date ( struct cvrf_remediation remed,
const char *  date 
)
Parameters
remedCVRF Remediation structure
dateDate that the Remediation was created
Returns
true on success
bool cvrf_remediation_set_description ( struct cvrf_remediation remed,
const char *  description 
)
Parameters
remedCVRF Remediation structure
descriptiona human-readable explanation of Remediation process
Returns
true on success
bool cvrf_remediation_set_entitlement ( struct cvrf_remediation remed,
const char *  entitlement 
)
Parameters
remedCVRF Remediation structure
entitlementvendor-defined constraints for products used to resolve the Vulnerability
Returns
true on success
bool cvrf_remediation_set_url ( struct cvrf_remediation remed,
const char *  url 
)
Parameters
remedCVRF Remediation structure
urlOptional URL link to a Remediation for a particular Vulnerability
Returns
true on success
struct cvrf_revision * cvrf_revision_clone ( const struct cvrf_revision revision)
Parameters
revisionOriginal Revision structure to be cloned
Returns
New cloned Revision structure with same data as the original
void cvrf_revision_free ( struct cvrf_revision revision)

Deallocates memory for a Revision element of the RevisionHistory container.

Parameters
revisionThe CVRF Revision structure to be freed
const char * cvrf_revision_get_date ( const struct cvrf_revision revision)
Parameters
revisionCVRF Revision structure Datetime of when the Revision was made
Returns
contents of Date element within the Revision element
const char * cvrf_revision_get_description ( const struct cvrf_revision revision)
Parameters
revisionCVRF Revision structure Short list of items changed and/or reasons for making the change
Returns
contents of Description element within the Revision element
const char * cvrf_revision_get_number ( const struct cvrf_revision revision)
Parameters
revisionCVRF Revision structure Numeric representation of document version in tokenized format "nn.nn.nn.nn"
Returns
contents of Number element within the Revision element
struct cvrf_revision * cvrf_revision_new ( void  )

New CVRF Revision structure.

Returns
New CVRF Revision
bool cvrf_revision_set_date ( struct cvrf_revision revision,
const char *  date 
)
Parameters
revisionCVRF Revision structure
dateDatetime of when the Revision was made
Returns
true on success
bool cvrf_revision_set_description ( struct cvrf_revision revision,
const char *  description 
)
Parameters
revisionCVRF Revision structure
descriptionShort list of items changed and/or reasons for making the change
Returns
true on success
bool cvrf_revision_set_number ( struct cvrf_revision revision,
const char *  number 
)
Parameters
revisionCVRF Revision structure
numberNumeric representation of document version in format "nn.nn.nn.nn"
Returns
true on success
void cvrf_rpm_attributes_free ( struct cvrf_rpm_attributes attributes)

Deallocate memory for the CVRF RPM attributes structure.

Parameters
attributesCVRF RPM attributes structure to be freed
const char * cvrf_rpm_attributes_get_evr_format ( const struct cvrf_rpm_attributes attributes)

Used to check if the system is vulnerable by comparing EVR from the system to EVR in the CVRF file.

Parameters
attributesCVRF RPM Attributes structure
Returns
EVR format of the RPM package
const char * cvrf_rpm_attributes_get_full_package_name ( const struct cvrf_rpm_attributes attributes)
Parameters
attributesCVRF RPM Attributes structure
Returns
Entire RPM package name
const char * cvrf_rpm_attributes_get_rpm_name ( const struct cvrf_rpm_attributes attributes)

Used to check if the RPM file exists on the system during evaluation.

Parameters
attributesCVRF RPM Attributes structure
Returns
RPM package name (without release or version)
struct cvrf_rpm_attributes * cvrf_rpm_attributes_new ( void  )

Create a new CVRF RPM attributes structure.

Returns
New CVRF RPM attributes structure
bool cvrf_rpm_attributes_set_evr_format ( struct cvrf_rpm_attributes attributes,
const char *  evr_format 
)
Parameters
attributesCVRF RPM Attributes structure
evr_formatString representation of the EVR of an RPM package
Returns
true on success
bool cvrf_rpm_attributes_set_full_package_name ( struct cvrf_rpm_attributes attributes,
const char *  full_package 
)
Parameters
attributesCVRF RPM Attributes structure
full_packageFull length RPM package name
Returns
true on success
bool cvrf_rpm_attributes_set_rpm_name ( struct cvrf_rpm_attributes attributes,
const char *  rpm_name 
)
Parameters
attributesCVRF RPM Attributes structure
rpm_namePackage name (without version or release) of an RPM package
Returns
true on success
bool cvrf_score_set_add_metric ( struct cvrf_score_set score_set,
enum cvss_category  category,
const char *  score 
)
Parameters
score_setScoreSet structure
categoryCVSS_BASE, CVSS_TEMPORAL, or CVSS_ENVIRONMENTAL
scoreString representation of the CVSS score
Returns
true on success
struct cvrf_score_set * cvrf_score_set_clone ( const struct cvrf_score_set score_set)
Parameters
score_setOriginal ScoreSet structure to be cloned
Returns
New cloned ScoreSet structure with same data as the original
void cvrf_score_set_free ( struct cvrf_score_set score_set)

Deallocates memory for a ScoreSet element of the CVSSScoreSets container.

Parameters
score_setThe CVRF ScoreSet structure to be freed
char * cvrf_score_set_get_base_score ( const struct cvrf_score_set score_set)
Parameters
score_setScoreSet structure Range: 0.0 - 10.0
Returns
string representation of BaseScore element within a ScoreSet element
char * cvrf_score_set_get_environmental_score ( const struct cvrf_score_set score_set)
Parameters
score_setScoreSet structure Range: 0.0 - 10.0
Returns
string representation of EnvironmentalScore element within a ScoreSet element
struct cvss_impact * cvrf_score_set_get_impact ( const struct cvrf_score_set score_set)
Parameters
score_setScoreSet structure
Returns
CVSS impact structure generated by parsing XML ScoreSet element in CVRF document
struct oscap_string_iterator * cvrf_score_set_get_product_ids ( struct cvrf_score_set score_set)
Parameters
score_setScoreSet structure with stringlist of ProductIDs Stringlist can have from zero to unbounded number of ProductIDs ProductIDs reference the ProductID of a FullProductName element in the document
Returns
Iterator for the stringlist of ProductIDs
char * cvrf_score_set_get_temporal_score ( const struct cvrf_score_set score_set)
Parameters
score_setScoreSet structure Range: 0.0 - 10.0
Returns
string representation of TemporalScore element within a ScoreSet element
const char * cvrf_score_set_get_vector ( const struct cvrf_score_set score_set)
Parameters
score_setScoreSet structure Contains official CVSS notation of values used to compute all the scores
Returns
contents of Vector element within a ScoreSet element
struct cvrf_score_set * cvrf_score_set_new ( void  )

New ScoreSet member of a CVSSScoreSets container within a Vulnerability element.

Returns
New CVRF ScoreSet structure
bool cvrf_score_set_set_impact ( struct cvrf_score_set score_set,
struct cvss_impact impact 
)
Parameters
score_setScoreSet structure
impactCVSS impact structure with scores for parent Vulnerability
Returns
true on success
bool cvrf_score_set_set_vector ( struct cvrf_score_set score_set,
const char *  vector 
)
Parameters
score_setScoreSet structure
vectorOfficial CVSS notation of values used to compute all the scores
Returns
true on success
void cvrf_session_free ( struct cvrf_session session)

Deallocates memory for a CVRF Session structure.

Parameters
sessionCVRF session structure to be freed
struct cvrf_index * cvrf_session_get_index ( const struct cvrf_session session)
Parameters
sessionCVRF session structure
Returns
CVRF index structure imported into the session, if any
struct cvrf_model * cvrf_session_get_model ( struct cvrf_session session)
Parameters
sessionCVRF session structure
Returns
CVRF model structure imported into the session, if any
const char * cvrf_session_get_os_name ( const struct cvrf_session session)
Parameters
sessionCVRF session structure
Returns
CPE used to evaluate the CVRF model(s)
struct oscap_string_iterator * cvrf_session_get_product_ids ( struct cvrf_session session)

After filtering the CVRF model structure by the CPE, all the ProductIDs related to that operating system should be held in this stringlist.

Parameters
sessionCVRF session structure
Returns
Iterator for the list of ProductIDs maintained by the session structure
struct cvrf_session * cvrf_session_new_from_source_index ( struct oscap_source source)
Parameters
sourceOSCAP import source for an index of CVRF files
Returns
CVRF session structure generated from this import source
struct cvrf_session * cvrf_session_new_from_source_model ( struct oscap_source source)
Parameters
sourceOSCAP import source for a CVRF document
Returns
CVRF session structure generated from this import source
bool cvrf_session_set_index ( struct cvrf_session session,
struct cvrf_index index 
)

Add the CVRF index to be evaluated to the Session structure.

Parameters
sessionCVRF session structure
indexCVRF index to be added to the CVRF session structure
Returns
true on success
void cvrf_session_set_model ( struct cvrf_session session,
struct cvrf_model model 
)

Add the CVRF model to be evaluated to the Session structure.

Parameters
sessionCVRF session structure
modelCVRF model to be added to the CVRF session structure
bool cvrf_session_set_os_name ( struct cvrf_session session,
const char *  os_name 
)

Add the CPE name for filtering of relevant ProductIDs and CVRF elements.

Parameters
sessionCVRF session structure
os_nameCPE name to be added to the Session structure
Returns
true on success
struct cvrf_threat * cvrf_threat_clone ( const struct cvrf_threat threat)
Parameters
threatOriginal Threat structure to be cloned
Returns
New cloned Threat structure with same data as the original
void cvrf_threat_free ( struct cvrf_threat threat)

Deallocates memory for a Threat element of the Threats container.

Parameters
threatThe CVRF Threat structure to be freed
const char * cvrf_threat_get_date ( const struct cvrf_threat threat)
Parameters
threatCVRF Threat structure Datetime that the Threat was identified and documented
Returns
contents of Date attribute within a Threat element
const char * cvrf_threat_get_description ( const struct cvrf_threat threat)
Parameters
threatCVRF Threat structure Description contains a human-readable explanation of the threat
Returns
contents of Description element within a Threat element
struct oscap_string_iterator * cvrf_threat_get_group_ids ( struct cvrf_threat threat)
Parameters
threatThreat structure with stringlist of GroupIDs Stringlist can have from zero to unbounded number of GroupIDs GroupIDs reference the GroupID of a Group element in the document
Returns
Iterator for the stringlist of GroupIDs
struct oscap_string_iterator * cvrf_threat_get_product_ids ( struct cvrf_threat threat)
Parameters
threatThreat structure with stringlist of ProductIDs Stringlist can have from zero to unbounded number of ProductIDs ProductIDs reference the ProductID of a FullProductName element in the document
Returns
Iterator for the stringlist of ProductIDs
struct cvrf_threat * cvrf_threat_new ( void  )

New CVRF Threat element.

Returns
New CVRF Threat structure
bool cvrf_threat_set_date ( struct cvrf_threat threat,
const char *  date 
)
Parameters
threatCVRF Threat structure
dateDatetime that the Threat was identified and documented
Returns
true on success
bool cvrf_threat_set_description ( struct cvrf_threat threat,
const char *  description 
)
Parameters
threatCVRF Threat structure
descriptionA human-readable explanation of the threat
Returns
true on success
bool cvrf_vulnerability_add_cvrf_product_status ( struct cvrf_vulnerability vuln,
struct cvrf_product_status stat 
)
Parameters
vulnCVRF Vulnerability structure
vulnCVRF Status structure to be added to the Vulnerability
Returns
true on success
bool cvrf_vulnerability_add_involvement ( struct cvrf_vulnerability vuln,
struct cvrf_involvement involvement 
)
Parameters
vulnCVRF Vulnerability structure
involvementCVRF Involvement structure to be added to the Vulnerability
Returns
true on success
bool cvrf_vulnerability_add_remediation ( struct cvrf_vulnerability vuln,
struct cvrf_remediation remed 
)
Parameters
vulnCVRF Vulnerability structure
vulnCVRF Remediation structure to be added to the Vulnerability
Returns
true on success
bool cvrf_vulnerability_add_score_set ( struct cvrf_vulnerability vuln,
struct cvrf_score_set score_set 
)
Parameters
vulnCVRF Vulnerability structure
vulnCVRF ScoreSet structure to be added to the Vulnerability
Returns
true on success
bool cvrf_vulnerability_add_threat ( struct cvrf_vulnerability vuln,
struct cvrf_threat threat 
)
Parameters
vulnCVRF Vulnerability structure
vulnCVRF Threat structure to be added to the Vulnerability
Returns
true on success
bool cvrf_vulnerability_add_vulnerability_cwe ( struct cvrf_vulnerability vuln,
struct cvrf_vulnerability_cwe vulnerability_cwe 
)
Parameters
vulnCVRF Vulnerability structure
vulnerability_cweCWE structure to be added to the Vulnerability
Returns
true on success
struct cvrf_vulnerability * cvrf_vulnerability_clone ( const struct cvrf_vulnerability vuln)
Parameters
vulnOriginal Vulnerability structure to be cloned
Returns
New cloned Vulnerability structure with same data as the original
struct cvrf_vulnerability_cwe * cvrf_vulnerability_cwe_clone ( const struct cvrf_vulnerability_cwe cwe)
Parameters
cweOriginal CWE structure to be cloned
Returns
New cloned CWE structure with same data as the original
void cvrf_vulnerability_cwe_free ( struct cvrf_vulnerability_cwe cwe)

Deallocates memory for a CWE element.

Parameters
cweThe CWE structure to be freed
const char * cvrf_vulnerability_cwe_get_cwe ( const struct cvrf_vulnerability_cwe vuln_cwe)
Parameters
vuln_cweCWE structure
Returns
contents of a the CWE element
const char * cvrf_vulnerability_cwe_get_id ( const struct cvrf_vulnerability_cwe vuln_cwe)
Parameters
vuln_cweCWE structure
Returns
ID attribute of a CWE element
struct cvrf_vulnerability_cwe * cvrf_vulnerability_cwe_new ( void  )

New CVRF CWE structure.

Returns
New CWE structure
bool cvrf_vulnerability_cwe_set_cwe ( struct cvrf_vulnerability_cwe vuln_cwe,
const char *  cwe 
)
Parameters
vuln_cweCWE structure
cweCWE name and content of the CWE element
Returns
true on success
bool cvrf_vulnerability_cwe_set_id ( struct cvrf_vulnerability_cwe vuln_cwe,
const char *  id 
)
Parameters
vuln_cweCWE structure
idUnique identifier for a CWE
Returns
true on success
int cvrf_vulnerability_filter_by_product ( struct cvrf_vulnerability vuln,
const char *  prod 
)
Parameters
vulnCVRF Vulnerability structure to be filtered
prodProductID of the CPE; this is the prefix of package ProductIDs in Statuses
Returns
0 on success, -1 on failure
void cvrf_vulnerability_free ( struct cvrf_vulnerability vulnerability)

Deallocates memory for a Vulnerability element.

Parameters
vulnerabilityThe CVRF Vulnerability structure to be freed
struct oscap_iterator * cvrf_vulnerability_get_acknowledgments ( struct cvrf_vulnerability vuln)
Parameters
vulnCVRF Vulnerability structure
Returns
Iterator for the list of Acknowledgment elements in the Acknowledgments container
const char * cvrf_vulnerability_get_cve_id ( const struct cvrf_vulnerability vuln)
Parameters
vulnCVRF Vulnerability structure MITRE standard CVE ID used to track Vulnerabilities
Returns
contents of CVE element within a Vulnerability element
const char * cvrf_vulnerability_get_discovery_date ( const struct cvrf_vulnerability vuln)
Parameters
vulnCVRF Vulnerability structure DateTime value of the original discovery time for this Vulnerability
Returns
contents of DiscoveryDate element within a Vulnerability element
struct cvrf_involvement_iterator * cvrf_vulnerability_get_involvements ( const struct cvrf_vulnerability vuln)
Parameters
vulnCVRF Vulnerability structure
Returns
Iterator representing list of all Involvements in the Vulnerability
struct oscap_iterator * cvrf_vulnerability_get_notes ( struct cvrf_vulnerability vuln)
Parameters
vulnCVRF Vulnerability structure
Returns
Iterator for the list of Note elements in the Notes container
int cvrf_vulnerability_get_ordinal ( const struct cvrf_vulnerability vuln)
Parameters
vulnCVRF Vulnerability structure Index and ordering of a Vulnerability element within a document
Returns
Ordinal attribute of a Vulnerability element
struct cvrf_product_status_iterator * cvrf_vulnerability_get_product_statuses ( const struct cvrf_vulnerability vuln)
Parameters
vulnCVRF Vulnerability structure
Returns
Iterator representing list of all Statuses in the Vulnerability
struct oscap_iterator * cvrf_vulnerability_get_references ( struct cvrf_vulnerability vuln)
Parameters
vulnCVRF Vulnerability structure
Returns
Iterator for the list of Reference elements in the References container
const char * cvrf_vulnerability_get_release_date ( const struct cvrf_vulnerability vuln)
Parameters
vulnCVRF Vulnerability structure DateTime value of the original public release time for this Vulnerability
Returns
contents of ReleaseDate element within a Vulnerability element
struct cvrf_remediation_iterator * cvrf_vulnerability_get_remediations ( const struct cvrf_vulnerability vuln)
Parameters
vulnCVRF Vulnerability structure
Returns
Iterator representing list of all Remediations in the Vulnerability
struct cvrf_score_set_iterator * cvrf_vulnerability_get_score_sets ( const struct cvrf_vulnerability vuln)
Parameters
vulnCVRF Vulnerability structure
Returns
Iterator representing list of all ScoreSets in the Vulnerability
const char * cvrf_vulnerability_get_system_id ( const struct cvrf_vulnerability vuln)
Parameters
vulnCVRF Vulnerability structure Unique ID of the Vulnerability given by the document producer
Returns
contents of an ID element within a Vulnerability element
const char * cvrf_vulnerability_get_system_name ( const struct cvrf_vulnerability vuln)
Parameters
vulnCVRF Vulnerability structure Gives name or numbering system of the Vulnerability ID
Returns
contents of SystemName attribute within an ID element
struct cvrf_threat_iterator * cvrf_vulnerability_get_threats ( const struct cvrf_vulnerability vuln)
Parameters
vulnCVRF Vulnerability structure
Returns
Iterator representing list of all Threats in the Vulnerability
const char * cvrf_vulnerability_get_title ( const struct cvrf_vulnerability vuln)
Parameters
vulnCVRF Vulnerability structure Canonical name of Vulnerability; should match nomenclature of references elsewhere
Returns
contents of a Title element within a Vulnerability element
struct cvrf_vulnerability_cwe_iterator * cvrf_vulnerability_get_vulnerability_cwes ( const struct cvrf_vulnerability vuln)
Parameters
vulnCVRF Vulnerability structure
Returns
Iterator representing list of all CWEs in the Vulnerability
struct cvrf_vulnerability * cvrf_vulnerability_new ( void  )

New CVRF Vulnerability.

Returns
New CVRF Vulnerability
bool cvrf_vulnerability_set_cve_id ( struct cvrf_vulnerability vuln,
const char *  cve_id 
)
Parameters
vulnCVRF Vulnerability structure
cve_idMITRE standard CVE ID used to track Vulnerabilities
Returns
true on success
bool cvrf_vulnerability_set_discovery_date ( struct cvrf_vulnerability vuln,
const char *  discovery_date 
)
Parameters
vulnCVRF Vulnerability structure
Originaldiscovery time for this Vulnerability
Returns
true on success
bool cvrf_vulnerability_set_ordinal ( struct cvrf_vulnerability vuln,
int  ordinal 
)
Parameters
vulnCVRF Vulnerability structure
ordinalIndex of a Vulnerability element within a document
Returns
true on success
bool cvrf_vulnerability_set_release_date ( struct cvrf_vulnerability vuln,
const char *  release_date 
)
Parameters
vulnCVRF Vulnerability structure
release_dateOriginal public release time for this Vulnerability
Returns
true on success
bool cvrf_vulnerability_set_system_id ( struct cvrf_vulnerability vuln,
const char *  id 
)
Parameters
vulnCVRF Vulnerability structure
idUnique ID of the Vulnerability given by the document producer
Returns
true on success
bool cvrf_vulnerability_set_system_name ( struct cvrf_vulnerability vuln,
const char *  sys_name 
)
Parameters
vulnCVRF Vulnerability structure
sys_nameName or numbering system of the Vulnerability ID
Returns
true on success
bool cvrf_vulnerability_set_title ( struct cvrf_vulnerability vuln,
const char *  vulnerability_title 
)
Parameters
vulnCVRF Vulnerability structure
vulnerability_titleCanonical name of Vulnerability
Returns
true on success
const char * get_cvrf_product_id_from_cpe ( struct cvrf_product_tree tree,
const char *  cpe 
)

Find the unique ProductID for the given CPE by searching the branches of the ProductTree: find the ProductID attribute for the FullProductName element with the appropriate CPE.

Parameters
treeProductTree structure to be searched
cpeCPE string in the FullProductName element used to get the ProductID
Returns
ProductID for the given CPE