CVRF


Files

file  cvrf.h
 Interface to Common Vulnerability Reporting Framework.

Functions

struct cvrf_product_status * cvrf_product_status_new (void)
 New Status member of a ProductStatuses container within a Vulnerability element cvrf_product_status.
void cvrf_product_status_free (struct cvrf_product_status *status)
 Deallocates memory for a Status element of the ProductStatuses container cvrf_product_status.
struct cvrf_product_status * cvrf_product_status_clone (const struct cvrf_product_status *stat)
 cvrf_product_status
struct oscap_string_iteratorcvrf_product_status_get_ids (struct cvrf_product_status *stat)
 cvrf_product_status
struct cvrf_threat * cvrf_threat_new (void)
 New CVRF Threat element cvrf_threat.
void cvrf_threat_free (struct cvrf_threat *threat)
 Deallocates memory for a Threat element of the Threats container cvrf_threat.
struct cvrf_threat * cvrf_threat_clone (const struct cvrf_threat *threat)
 cvrf_threat
const char * cvrf_threat_get_date (const struct cvrf_threat *threat)
 cvrf_threat
const char * cvrf_threat_get_description (const struct cvrf_threat *threat)
 cvrf_threat
struct oscap_string_iteratorcvrf_threat_get_product_ids (struct cvrf_threat *threat)
 cvrf_threat
struct oscap_string_iteratorcvrf_threat_get_group_ids (struct cvrf_threat *threat)
 cvrf_threat
bool cvrf_threat_set_date (struct cvrf_threat *threat, const char *date)
 cvrf_threat
bool cvrf_threat_set_description (struct cvrf_threat *threat, const char *description)
 cvrf_threat
struct cvrf_remediation * cvrf_remediation_new (void)
 New CVRF Remediation cvrf_remediation.
void cvrf_remediation_free (struct cvrf_remediation *remed)
 Deallocates memory for a Remediation element of the Remediations container cvrf_remediation.
struct cvrf_remediation * cvrf_remediation_clone (const struct cvrf_remediation *remed)
 cvrf_remediation
const char * cvrf_remediation_get_date (const struct cvrf_remediation *remed)
 cvrf_remediation
const char * cvrf_remediation_get_description (const struct cvrf_remediation *remed)
 cvrf_remediation
const char * cvrf_remediation_get_url (const struct cvrf_remediation *remed)
 cvrf_remediation
const char * cvrf_remediation_get_entitlement (const struct cvrf_remediation *remed)
 cvrf_remediation
struct oscap_string_iteratorcvrf_remediation_get_product_ids (struct cvrf_remediation *remed)
 cvrf_remediation
struct oscap_string_iteratorcvrf_remediation_get_group_ids (struct cvrf_remediation *remed)
 cvrf_remediation
bool cvrf_remediation_set_date (struct cvrf_remediation *remed, const char *date)
 cvrf_remediation
bool cvrf_remediation_set_description (struct cvrf_remediation *remed, const char *description)
 cvrf_remediation
bool cvrf_remediation_set_url (struct cvrf_remediation *remed, const char *url)
 cvrf_remediation
bool cvrf_remediation_set_entitlement (struct cvrf_remediation *remed, const char *entitlement)
 cvrf_remediation
struct cvrf_score_set * cvrf_score_set_new (void)
 New ScoreSet member of a CVSSScoreSets container within a Vulnerability element cvrf_score_set.
void cvrf_score_set_free (struct cvrf_score_set *score_set)
 Deallocates memory for a ScoreSet element of the CVSSScoreSets container cvrf_score_set.
struct cvrf_score_set * cvrf_score_set_clone (const struct cvrf_score_set *score_set)
 cvrf_score_set
const char * cvrf_score_set_get_vector (const struct cvrf_score_set *score_set)
 cvrf_score_set
struct oscap_string_iteratorcvrf_score_set_get_product_ids (struct cvrf_score_set *score_set)
 cvrf_score_set
struct cvss_impactcvrf_score_set_get_impact (const struct cvrf_score_set *score_set)
 cvrf_score_set
char * cvrf_score_set_get_base_score (const struct cvrf_score_set *score_set)
 cvrf_score_set
char * cvrf_score_set_get_environmental_score (const struct cvrf_score_set *score_set)
 cvrf_score_set
char * cvrf_score_set_get_temporal_score (const struct cvrf_score_set *score_set)
 cvrf_score_set
bool cvrf_score_set_set_vector (struct cvrf_score_set *score_set, const char *vector)
 cvrf_score_set
bool cvrf_score_set_set_impact (struct cvrf_score_set *score_set, struct cvss_impact *impact)
 cvrf_score_set
bool cvrf_score_set_add_metric (struct cvrf_score_set *score_set, enum cvss_category category, const char *score)
 cvrf_score_set
struct cvrf_involvement * cvrf_involvement_new (void)
 New CVRF Involvement cvrf_involvement.
void cvrf_involvement_free (struct cvrf_involvement *involve)
 Deallocates memory for an Involvement element cvrf_involvement.
struct cvrf_involvement * cvrf_involvement_clone (const struct cvrf_involvement *involve)
 cvrf_involvement
const char * cvrf_involvement_get_description (const struct cvrf_involvement *involve)
 cvrf_involvement
bool cvrf_involvement_set_description (struct cvrf_involvement *involve, const char *description)
 cvrf_involvement
struct cvrf_vulnerability_cwe * cvrf_vulnerability_cwe_new (void)
 New CVRF CWE structure cvrf_vulnerability_cwe.
void cvrf_vulnerability_cwe_free (struct cvrf_vulnerability_cwe *cwe)
 Deallocates memory for a CWE element cvrf_vulnerability_cwe.
struct cvrf_vulnerability_cwe * cvrf_vulnerability_cwe_clone (const struct cvrf_vulnerability_cwe *cwe)
 cvrf_vulnerability_cwe
const char * cvrf_vulnerability_cwe_get_cwe (const struct cvrf_vulnerability_cwe *vuln_cwe)
 cvrf_vulnerability_cwe
const char * cvrf_vulnerability_cwe_get_id (const struct cvrf_vulnerability_cwe *vuln_cwe)
 cvrf_vulnerability_cwe
bool cvrf_vulnerability_cwe_set_cwe (struct cvrf_vulnerability_cwe *vuln_cwe, const char *cwe)
 cvrf_vulnerability_cwe
bool cvrf_vulnerability_cwe_set_id (struct cvrf_vulnerability_cwe *vuln_cwe, const char *id)
 cvrf_vulnerability_cwe
struct cvrf_vulnerability * cvrf_vulnerability_new (void)
 New CVRF Vulnerability cvrf_vulnerability.
void cvrf_vulnerability_free (struct cvrf_vulnerability *vulnerability)
 Deallocates memory for a Vulnerability element cvrf_vulnerability.
struct cvrf_vulnerability * cvrf_vulnerability_clone (const struct cvrf_vulnerability *vuln)
 cvrf_vulnerability
int cvrf_vulnerability_filter_by_product (struct cvrf_vulnerability *vuln, const char *prod)
 cvrf_vulnerability
int cvrf_vulnerability_get_ordinal (const struct cvrf_vulnerability *vuln)
 cvrf_vulnerability
const char * cvrf_vulnerability_get_title (const struct cvrf_vulnerability *vuln)
 cvrf_vulnerability
const char * cvrf_vulnerability_get_system_id (const struct cvrf_vulnerability *vuln)
 cvrf_vulnerability
const char * cvrf_vulnerability_get_system_name (const struct cvrf_vulnerability *vuln)
 cvrf_vulnerability
const char * cvrf_vulnerability_get_discovery_date (const struct cvrf_vulnerability *vuln)
 cvrf_vulnerability
const char * cvrf_vulnerability_get_release_date (const struct cvrf_vulnerability *vuln)
 cvrf_vulnerability
const char * cvrf_vulnerability_get_cve_id (const struct cvrf_vulnerability *vuln)
 cvrf_vulnerability
bool cvrf_vulnerability_set_ordinal (struct cvrf_vulnerability *vuln, int ordinal)
 cvrf_vulnerability
bool cvrf_vulnerability_set_title (struct cvrf_vulnerability *vuln, const char *vulnerability_title)
 cvrf_vulnerability
bool cvrf_vulnerability_set_system_id (struct cvrf_vulnerability *vuln, const char *id)
 cvrf_vulnerability
bool cvrf_vulnerability_set_system_name (struct cvrf_vulnerability *vuln, const char *sys_name)
 cvrf_vulnerability
bool cvrf_vulnerability_set_discovery_date (struct cvrf_vulnerability *vuln, const char *discovery_date)
 cvrf_vulnerability
bool cvrf_vulnerability_set_release_date (struct cvrf_vulnerability *vuln, const char *release_date)
 cvrf_vulnerability
bool cvrf_vulnerability_set_cve_id (struct cvrf_vulnerability *vuln, const char *cve_id)
 cvrf_vulnerability
struct oscap_iterator * cvrf_vulnerability_get_references (struct cvrf_vulnerability *vuln)
 cvrf_vulnerability
struct oscap_iterator * cvrf_vulnerability_get_acknowledgments (struct cvrf_vulnerability *vuln)
 cvrf_vulnerability
struct oscap_iterator * cvrf_vulnerability_get_notes (struct cvrf_vulnerability *vuln)
 cvrf_vulnerability
bool cvrf_vulnerability_add_vulnerability_cwe (struct cvrf_vulnerability *vuln, struct cvrf_vulnerability_cwe *vulnerability_cwe)
 cvrf_vulnerability
struct
cvrf_vulnerability_cwe_iterator * 
cvrf_vulnerability_get_vulnerability_cwes (const struct cvrf_vulnerability *vuln)
 cvrf_vulnerability
struct cvrf_vulnerability_cwe * cvrf_vulnerability_cwe_iterator_next (struct cvrf_vulnerability_cwe_iterator *it)
 cvrf_vulnerability_cwe_iterator
bool cvrf_vulnerability_cwe_iterator_has_more (struct cvrf_vulnerability_cwe_iterator *it)
 cvrf_vulnerability_cwe_iterator
void cvrf_vulnerability_cwe_iterator_free (struct cvrf_vulnerability_cwe_iterator *it)
 Deallocate memory for the CWE Iterator structure cvrf_vulnerability_cwe_iterator.
void cvrf_vulnerability_cwe_iterator_reset (struct cvrf_vulnerability_cwe_iterator *it)
 Restart iterator at the first CWE in the Vulnerability cvrf_vulnerability_cwe_iterator.
void cvrf_vulnerability_cwe_iterator_remove (struct cvrf_vulnerability_cwe_iterator *it)
 Detaches and frees the CWE iterator structure cvrf_vulnerability_cwe_iterator.
bool cvrf_vulnerability_add_involvement (struct cvrf_vulnerability *vuln, struct cvrf_involvement *involvement)
 cvrf_vulnerability
struct cvrf_involvement_iterator * cvrf_vulnerability_get_involvements (const struct cvrf_vulnerability *vuln)
 cvrf_vulnerability
struct cvrf_involvement * cvrf_involvement_iterator_next (struct cvrf_involvement_iterator *it)
 cvrf_involvement_iterator
bool cvrf_involvement_iterator_has_more (struct cvrf_involvement_iterator *it)
 cvrf_involvement_iterator
void cvrf_involvement_iterator_free (struct cvrf_involvement_iterator *it)
 Deallocate memory for the CVRF Involvement Iterator structure cvrf_involvement_iterator.
void cvrf_involvement_iterator_reset (struct cvrf_involvement_iterator *it)
 Restart iterator at the first Involvement in the Vulnerability cvrf_involvement_iterator.
void cvrf_involvement_iterator_remove (struct cvrf_involvement_iterator *it)
 Detaches and frees the Involvement iterator structure cvrf_involvement_iterator.
bool cvrf_vulnerability_add_score_set (struct cvrf_vulnerability *vuln, struct cvrf_score_set *score_set)
 cvrf_vulnerability
struct cvrf_score_set_iterator * cvrf_vulnerability_get_score_sets (const struct cvrf_vulnerability *vuln)
 cvrf_vulnerability
struct cvrf_score_set * cvrf_score_set_iterator_next (struct cvrf_score_set_iterator *it)
 cvrf_score_set_iterator
bool cvrf_score_set_iterator_has_more (struct cvrf_score_set_iterator *it)
 cvrf_score_set_iterator
void cvrf_score_set_iterator_free (struct cvrf_score_set_iterator *it)
 Deallocate memory for the CVRF ScoreSet Iterator structure cvrf_score_set_iterator.
void cvrf_score_set_iterator_reset (struct cvrf_score_set_iterator *it)
 Restart iterator at the first ScoreSet in the Vulnerability cvrf_score_set_iterator.
void cvrf_score_set_iterator_remove (struct cvrf_score_set_iterator *it)
 Detaches and frees the ScoreSet iterator structure cvrf_score_set_iterator.
bool cvrf_vulnerability_add_cvrf_product_status (struct cvrf_vulnerability *vuln, struct cvrf_product_status *stat)
 cvrf_vulnerability
struct
cvrf_product_status_iterator * 
cvrf_vulnerability_get_product_statuses (const struct cvrf_vulnerability *vuln)
 cvrf_vulnerability
struct cvrf_product_status * cvrf_product_status_iterator_next (struct cvrf_product_status_iterator *it)
 cvrf_product_status_iterator
bool cvrf_product_status_iterator_has_more (struct cvrf_product_status_iterator *it)
 cvrf_product_status_iterator
void cvrf_product_status_iterator_free (struct cvrf_product_status_iterator *it)
 Deallocate memory for the CVRF Status Iterator structure cvrf_product_status_iterator.
void cvrf_product_status_iterator_reset (struct cvrf_product_status_iterator *it)
 Restart iterator at the first Status in the Vulnerability cvrf_product_status_iterator.
void cvrf_product_status_iterator_remove (struct cvrf_product_status_iterator *it)
 Detaches and frees the Status iterator structure cvrf_product_status_iterator.
bool cvrf_vulnerability_add_remediation (struct cvrf_vulnerability *vuln, struct cvrf_remediation *remed)
 cvrf_vulnerability
struct cvrf_remediation_iterator * cvrf_vulnerability_get_remediations (const struct cvrf_vulnerability *vuln)
 cvrf_vulnerability
struct cvrf_remediation * cvrf_remediation_iterator_next (struct cvrf_remediation_iterator *it)
 cvrf_remediation_iterator
bool cvrf_remediation_iterator_has_more (struct cvrf_remediation_iterator *it)
 cvrf_remediation_iterator
void cvrf_remediation_iterator_free (struct cvrf_remediation_iterator *it)
 Deallocate memory for the CVRF Remediation Iterator structure cvrf_remediation_iterator.
void cvrf_remediation_iterator_reset (struct cvrf_remediation_iterator *it)
 Restart iterator at the first Remediation in the Vulnerability cvrf_remediation_iterator.
void cvrf_remediation_iterator_remove (struct cvrf_remediation_iterator *it)
 Detaches and frees the Remediation iterator structure cvrf_remediation_iterator.
bool cvrf_vulnerability_add_threat (struct cvrf_vulnerability *vuln, struct cvrf_threat *threat)
 cvrf_vulnerability
struct cvrf_threat_iterator * cvrf_vulnerability_get_threats (const struct cvrf_vulnerability *vuln)
 cvrf_vulnerability
struct cvrf_threat * cvrf_threat_iterator_next (struct cvrf_threat_iterator *it)
 cvrf_threat_iterator
bool cvrf_threat_iterator_has_more (struct cvrf_threat_iterator *it)
 cvrf_threat_iterator
void cvrf_threat_iterator_free (struct cvrf_threat_iterator *it)
 Deallocate memory for the CVRF Threat Iterator structure cvrf_threat_iterator.
void cvrf_threat_iterator_reset (struct cvrf_threat_iterator *it)
 Restart iterator at the first Threat in the Vulnerability cvrf_threat_iterator.
void cvrf_threat_iterator_remove (struct cvrf_threat_iterator *it)
 Detaches and frees the Threat iterator structure cvrf_threat_iterator.
struct cvrf_product_name * cvrf_product_name_new (void)
 New FullProductName of Branch or ProductTree cvrf_product_name.
void cvrf_product_name_free (struct cvrf_product_name *full_name)
 Deallocates memory for a FullProductName element cvrf_product_name.
struct cvrf_product_name * cvrf_product_name_clone (const struct cvrf_product_name *full_name)
 cvrf_product_name
const char * cvrf_product_name_get_product_id (const struct cvrf_product_name *full_name)
 cvrf_product_name
const char * cvrf_product_name_get_cpe (const struct cvrf_product_name *full_name)
 cvrf_product_name
bool cvrf_product_name_set_product_id (struct cvrf_product_name *full_name, const char *product_id)
 cvrf_product_name
bool cvrf_product_name_set_cpe (struct cvrf_product_name *full_name, const char *cpe)
 cvrf_product_name
struct cvrf_group * cvrf_group_new (void)
 New CVRF Group child of ProductGroups container element cvrf_group.
void cvrf_group_free (struct cvrf_group *group)
 Deallocates memory for a Group element cvrf_group.
struct cvrf_group * cvrf_group_clone (const struct cvrf_group *group)
 cvrf_group
const char * cvrf_group_get_group_id (const struct cvrf_group *group)
 cvrf_group
const char * cvrf_group_get_description (const struct cvrf_group *group)
 cvrf_group
bool cvrf_group_set_group_id (struct cvrf_group *group, const char *group_id)
 cvrf_group
bool cvrf_group_set_description (struct cvrf_group *group, const char *description)
 cvrf_group
struct oscap_string_iteratorcvrf_group_get_product_ids (struct cvrf_group *group)
 cvrf_group
struct cvrf_relationship * cvrf_relationship_new (void)
 New CVRF Relationship element within ProductTree cvrf_relationship.
void cvrf_relationship_free (struct cvrf_relationship *relationship)
 Deallocates memory for a Relationship element cvrf_relationship.
struct cvrf_relationship * cvrf_relationship_clone (const struct cvrf_relationship *relation)
 cvrf_relationship
const char * cvrf_relationship_get_product_reference (const struct cvrf_relationship *relation)
 cvrf_relationship
const char * cvrf_relationship_get_relates_to_ref (const struct cvrf_relationship *relation)
 cvrf_relationship
struct cvrf_product_name * cvrf_relationship_get_product_name (const struct cvrf_relationship *relation)
 cvrf_relationship
bool cvrf_relationship_set_product_reference (struct cvrf_relationship *relation, const char *product_reference)
 cvrf_relationship
bool cvrf_relationship_set_relates_to_ref (struct cvrf_relationship *relation, const char *relates_to_ref)
 cvrf_relationship
bool cvrf_relationship_set_product_name (struct cvrf_relationship *relation, struct cvrf_product_name *name)
 cvrf_relationship
struct cvrf_branch * cvrf_branch_new (void)
 New CVRF branch of ProductTree or sub-branch cvrf_branch.
void cvrf_branch_free (struct cvrf_branch *branch)
 Deallocates memory for a Branch element cvrf_branch.
struct cvrf_branch * cvrf_branch_clone (const struct cvrf_branch *branch)
 cvrf_branch
const char * cvrf_branch_get_branch_name (const struct cvrf_branch *branch)
 cvrf_branch
struct cvrf_product_name * cvrf_branch_get_product_name (const struct cvrf_branch *branch)
 cvrf_branch
struct oscap_iterator * cvrf_branch_get_subbranches (struct cvrf_branch *branch)
 cvrf_branch
bool cvrf_branch_set_branch_name (struct cvrf_branch *branch, const char *branch_name)
 cvrf_branch
bool cvrf_branch_set_product_name (struct cvrf_branch *branch, struct cvrf_product_name *name)
 cvrf_branch
struct cvrf_product_tree * cvrf_product_tree_new (void)
 New ProductTree structure cvrf_product_tree.
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 cvrf_product_tree.
struct cvrf_product_tree * cvrf_product_tree_clone (const struct cvrf_product_tree *tree)
 cvrf_product_tree
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 cvrf_product_tree.
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 cvrf_product_tree.
struct oscap_iterator * cvrf_product_tree_get_branches (struct cvrf_product_tree *tree)
bool cvrf_product_tree_add_product_name (struct cvrf_product_tree *tree, struct cvrf_product_name *full_name)
 cvrf_product_tree
struct cvrf_product_name_iterator * cvrf_product_tree_get_product_names (const struct cvrf_product_tree *tree)
 cvrf_product_tree
struct cvrf_product_name * cvrf_product_name_iterator_next (struct cvrf_product_name_iterator *it)
 cvrf_product_name_iterator
bool cvrf_product_name_iterator_has_more (struct cvrf_product_name_iterator *it)
 cvrf_product_name_iterator
void cvrf_product_name_iterator_free (struct cvrf_product_name_iterator *it)
 Deallocate memory for the CVRF FullProductName Iterator structure cvrf_product_name_iterator.
void cvrf_product_name_iterator_reset (struct cvrf_product_name_iterator *it)
 Restart iterator at the first FullProductName element in the ProductTree cvrf_product_name_iterator.
void cvrf_product_name_iterator_remove (struct cvrf_product_name_iterator *it)
 Detaches and frees the FullProductName iterator structure cvrf_product_name_iterator.
bool cvrf_product_tree_add_relationship (struct cvrf_product_tree *tree, struct cvrf_relationship *relation)
 cvrf_product_tree
struct cvrf_relationship_iterator * cvrf_product_tree_get_relationships (const struct cvrf_product_tree *tree)
 cvrf_product_tree
struct cvrf_relationship * cvrf_relationship_iterator_next (struct cvrf_relationship_iterator *it)
 cvrf_relationship_iterator
bool cvrf_relationship_iterator_has_more (struct cvrf_relationship_iterator *it)
 cvrf_relationship_iterator
void cvrf_relationship_iterator_free (struct cvrf_relationship_iterator *it)
 Deallocate memory for the CVRF Relationship Iterator structure cvrf_relationship_iterator.
void cvrf_relationship_iterator_reset (struct cvrf_relationship_iterator *it)
 Restart iterator at the first Relationship element in the ProductTree cvrf_relationship_iterator.
void cvrf_relationship_iterator_remove (struct cvrf_relationship_iterator *it)
 Detaches and frees the Relationship iterator structure cvrf_relationship_iterator.
bool cvrf_product_tree_add_group (struct cvrf_product_tree *tree, struct cvrf_group *group)
 cvrf_product_tree
struct cvrf_group_iterator * cvrf_product_tree_get_product_groups (const struct cvrf_product_tree *tree)
 cvrf_product_tree
struct cvrf_group * cvrf_group_iterator_next (struct cvrf_group_iterator *it)
 cvrf_group_iterator
bool cvrf_group_iterator_has_more (struct cvrf_group_iterator *it)
 cvrf_group_iterator
void cvrf_group_iterator_free (struct cvrf_group_iterator *it)
 Deallocate memory for the CVRF Group Iterator structure cvrf_group_iterator.
void cvrf_group_iterator_reset (struct cvrf_group_iterator *it)
 Restart iterator at the first Group element in the ProductTree cvrf_group_iterator.
void cvrf_group_iterator_remove (struct cvrf_group_iterator *it)
 Detaches and frees the Group iterator structure cvrf_group_iterator.
struct cvrf_acknowledgment * cvrf_acknowledgment_new (void)
 New CVRF Acknowledgment element within Acknowledgments container cvrf_acknowledgment.
void cvrf_acknowledgment_free (struct cvrf_acknowledgment *ack)
 Deallocates memory for an Acknowledgment element of the Acknowledgments container cvrf_acknowledgment.
struct cvrf_acknowledgment * cvrf_acknowledgment_clone (const struct cvrf_acknowledgment *ack)
 cvrf_acknowledgment
const char * cvrf_acknowledgment_get_description (const struct cvrf_acknowledgment *ack)
 cvrf_acknowledgment
bool cvrf_acknowledgment_set_description (struct cvrf_acknowledgment *ack, const char *description)
 cvrf_acknowledgment
struct oscap_string_iteratorcvrf_acknowledgment_get_names (const struct cvrf_acknowledgment *ack)
 cvrf_acknowledgment
struct oscap_string_iteratorcvrf_acknowledgment_get_organizations (const struct cvrf_acknowledgment *ack)
 cvrf_acknowledgment
struct oscap_string_iteratorcvrf_acknowledgment_get_urls (const struct cvrf_acknowledgment *ack)
 cvrf_acknowledgment
struct cvrf_note * cvrf_note_new (void)
 New CVRF Note element within Notes or DocumentNotes container cvrf_note.
void cvrf_note_free (struct cvrf_note *note)
 Deallocates memory for a Note element of the Notes container cvrf_note.
struct cvrf_note * cvrf_note_clone (const struct cvrf_note *note)
 cvrf_note
int cvrf_note_get_ordinal (const struct cvrf_note *note)
 cvrf_note
const char * cvrf_note_get_audience (const struct cvrf_note *note)
 cvrf_note
const char * cvrf_note_get_title (const struct cvrf_note *note)
 cvrf_note
const char * cvrf_note_get_contents (const struct cvrf_note *note)
 cvrf_note
bool cvrf_note_set_ordinal (struct cvrf_note *note, int ordinal)
 cvrf_note
bool cvrf_note_set_audience (struct cvrf_note *note, const char *audience)
 cvrf_note
bool cvrf_note_set_title (struct cvrf_note *note, const char *title)
 cvrf_note
bool cvrf_note_set_contents (struct cvrf_note *note, const char *contents)
 cvrf_note
struct cvrf_revision * cvrf_revision_new (void)
 New CVRF Revision structure cvrf_revision.
void cvrf_revision_free (struct cvrf_revision *revision)
 Deallocates memory for a Revision element of the RevisionHistory container cvrf_revision.
struct cvrf_revision * cvrf_revision_clone (const struct cvrf_revision *revision)
 cvrf_revision
const char * cvrf_revision_get_number (const struct cvrf_revision *revision)
 cvrf_revision
const char * cvrf_revision_get_date (const struct cvrf_revision *revision)
 cvrf_revision
const char * cvrf_revision_get_description (const struct cvrf_revision *revision)
 cvrf_revision
bool cvrf_revision_set_number (struct cvrf_revision *revision, const char *number)
 cvrf_revision
bool cvrf_revision_set_date (struct cvrf_revision *revision, const char *date)
 cvrf_revision
bool cvrf_revision_set_description (struct cvrf_revision *revision, const char *description)
 cvrf_revision
struct cvrf_doc_tracking * cvrf_doc_tracking_new (void)
 New CVRF DocumentTracking structure cvrf_doc_tracking.
void cvrf_doc_tracking_free (struct cvrf_doc_tracking *tracking)
 Deallocates memory for a DocumentTracking element cvrf_doc_tracking.
struct cvrf_doc_tracking * cvrf_doc_tracking_clone (const struct cvrf_doc_tracking *tracking)
 cvrf_doc_tracking
const char * cvrf_doc_tracking_get_tracking_id (const struct cvrf_doc_tracking *tracking)
 cvrf_doc_tracking
struct oscap_string_iteratorcvrf_doc_tracking_get_aliases (struct cvrf_doc_tracking *tracking)
 cvrf_doc_tracking
const char * cvrf_doc_tracking_get_version (const struct cvrf_doc_tracking *tracking)
 cvrf_doc_tracking
const char * cvrf_doc_tracking_get_init_release_date (const struct cvrf_doc_tracking *tracking)
 cvrf_doc_tracking
const char * cvrf_doc_tracking_get_cur_release_date (const struct cvrf_doc_tracking *tracking)
 cvrf_doc_tracking
const char * cvrf_doc_tracking_get_generator_engine (const struct cvrf_doc_tracking *tracking)
 cvrf_doc_tracking
const char * cvrf_doc_tracking_get_generator_date (const struct cvrf_doc_tracking *tracking)
 cvrf_doc_tracking
bool cvrf_doc_tracking_set_tracking_id (struct cvrf_doc_tracking *tracking, const char *id)
 cvrf_doc_tracking
bool cvrf_doc_tracking_set_version (struct cvrf_doc_tracking *tracking, const char *version)
 cvrf_doc_tracking
bool cvrf_doc_tracking_set_init_release_date (struct cvrf_doc_tracking *tracking, const char *init_release_date)
 cvrf_doc_tracking
bool cvrf_doc_tracking_set_cur_release_date (struct cvrf_doc_tracking *tracking, const char *cur_release_date)
 cvrf_doc_tracking
bool cvrf_doc_tracking_set_generator_engine (struct cvrf_doc_tracking *tracking, const char *generator_engine)
 cvrf_doc_tracking
bool cvrf_doc_tracking_set_generator_date (struct cvrf_doc_tracking *tracking, const char *generator_date)
 cvrf_doc_tracking
bool cvrf_doc_tracking_add_revision (struct cvrf_doc_tracking *tracking, struct cvrf_revision *revision)
 cvrf_doc_tracking
struct cvrf_revision_iterator * cvrf_doc_tracking_get_revision_history (const struct cvrf_doc_tracking *tracking)
 cvrf_doc_tracking
struct cvrf_revision * cvrf_revision_iterator_next (struct cvrf_revision_iterator *it)
 cvrf_revision_iterator
bool cvrf_revision_iterator_has_more (struct cvrf_revision_iterator *it)
 cvrf_revision_iterator
void cvrf_revision_iterator_free (struct cvrf_revision_iterator *it)
 Deallocate memory for the CVRF Revision Iterator structure cvrf_revision_iterator.
void cvrf_revision_iterator_reset (struct cvrf_revision_iterator *it)
 Restart iterator at the first Revision in the DocumentTracking cvrf_revision_iterator.
void cvrf_revision_iterator_remove (struct cvrf_revision_iterator *it)
 Detaches and frees the Revision iterator structure cvrf_revision_iterator.
struct cvrf_doc_publisher * cvrf_doc_publisher_new (void)
 New CVRF DocumentPublisher structure cvrf_doc_publisher.
void cvrf_doc_publisher_free (struct cvrf_doc_publisher *publisher)
 Deallocates memory for a DocumentPublisher element cvrf_doc_publisher.
struct cvrf_doc_publisher * cvrf_doc_publisher_clone (const struct cvrf_doc_publisher *publisher)
 cvrf_doc_publisher
const char * cvrf_doc_publisher_get_vendor_id (const struct cvrf_doc_publisher *publisher)
 cvrf_doc_publisher
const char * cvrf_doc_publisher_get_contact_details (const struct cvrf_doc_publisher *publisher)
 cvrf_doc_publisher
const char * cvrf_doc_publisher_get_issuing_authority (const struct cvrf_doc_publisher *publisher)
 cvrf_doc_publisher
bool cvrf_doc_publisher_set_vendor_id (struct cvrf_doc_publisher *publisher, const char *vendor_id)
 cvrf_doc_publisher
bool cvrf_doc_publisher_set_contact_details (struct cvrf_doc_publisher *publisher, const char *contact_details)
 cvrf_doc_publisher
bool cvrf_doc_publisher_set_issuing_authority (struct cvrf_doc_publisher *publisher, const char *issuing_authority)
 cvrf_doc_publisher
struct cvrf_reference * cvrf_reference_new (void)
 New CVRF Reference structure cvrf_reference.
void cvrf_reference_free (struct cvrf_reference *reference)
 Deallocates memory for a Reference element of the References container cvrf_reference.
struct cvrf_reference * cvrf_reference_clone (const struct cvrf_reference *ref)
 cvrf_reference
const char * cvrf_reference_get_url (const struct cvrf_reference *reference)
 cvrf_reference
const char * cvrf_reference_get_description (const struct cvrf_reference *reference)
 cvrf_reference
bool cvrf_reference_set_url (struct cvrf_reference *reference, const char *url)
 cvrf_reference
bool cvrf_reference_set_description (struct cvrf_reference *reference, const char *description)
 cvrf_reference
struct cvrf_document * cvrf_document_new (void)
 New CVRF Document structure cvrf_document.
void cvrf_document_free (struct cvrf_document *doc)
 Deallocates memory for the CVRF Document structure and all its child DocumentTracking, DocumentPublisher, DocumentReferences structures cvrf_document.
struct cvrf_document * cvrf_document_clone (const struct cvrf_document *doc)
 cvrf_document
const char * cvrf_document_get_doc_distribution (const struct cvrf_document *doc)
 cvrf_document
const char * cvrf_document_get_aggregate_severity (const struct cvrf_document *doc)
 cvrf_document
const char * cvrf_document_get_namespace (const struct cvrf_document *doc)
 cvrf_document
struct cvrf_doc_tracking * cvrf_document_get_tracking (const struct cvrf_document *doc)
 cvrf_document
struct cvrf_doc_publisher * cvrf_document_get_publisher (const struct cvrf_document *doc)
 cvrf_document
struct oscap_iterator * cvrf_document_get_notes (struct cvrf_document *doc)
 cvrf_document
struct oscap_iterator * cvrf_document_get_references (struct cvrf_document *doc)
 cvrf_document
struct oscap_iterator * cvrf_document_get_acknowledgments (struct cvrf_document *doc)
 cvrf_document
bool cvrf_document_set_doc_distribution (struct cvrf_document *doc, const char *distribution)
 cvrf_document
bool cvrf_document_set_aggregate_severity (struct cvrf_document *doc, const char *severity)
 cvrf_document
bool cvrf_document_set_namespace (struct cvrf_document *doc, const char *ns)
 cvrf_document
bool cvrf_document_set_publisher (struct cvrf_document *doc, struct cvrf_doc_publisher *publisher)
 cvrf_document
bool cvrf_document_set_tracking (struct cvrf_document *doc, struct cvrf_doc_tracking *track)
 cvrf_document
struct cvrf_model * cvrf_model_new (void)
 New CVRF model cvrf_model.
void cvrf_model_free (struct cvrf_model *cvrf)
 Deallocates memory for the CVRF Model structure and all its child elements cvrf_model.
struct cvrf_model * cvrf_model_clone (const struct cvrf_model *model)
 cvrf_model
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 cvrf_model.
const char * cvrf_model_get_doc_title (const struct cvrf_model *model)
 cvrf_model
const char * cvrf_model_get_doc_type (const struct cvrf_model *model)
 cvrf_model
bool cvrf_model_set_doc_title (struct cvrf_model *model, const char *doc_title)
 cvrf_model
bool cvrf_model_set_doc_type (struct cvrf_model *model, const char *doc_type)
 cvrf_model
struct cvrf_product_tree * cvrf_model_get_product_tree (struct cvrf_model *model)
 cvrf_model
struct cvrf_document * cvrf_model_get_document (const struct cvrf_model *model)
 cvrf_model
const char * cvrf_model_get_identification (struct cvrf_model *model)
 cvrf_model
bool cvrf_model_set_document (struct cvrf_model *model, struct cvrf_document *doc)
 cvrf_model
struct
cvrf_vulnerability_iterator * 
cvrf_model_get_vulnerabilities (const struct cvrf_model *model)
 cvrf_model
bool cvrf_model_add_vulnerability (struct cvrf_model *model, struct cvrf_vulnerability *vuln)
 cvrf_model
struct cvrf_vulnerability * cvrf_vulnerability_iterator_next (struct cvrf_vulnerability_iterator *it)
 cvrf_vulnerability_iterator
bool cvrf_vulnerability_iterator_has_more (struct cvrf_vulnerability_iterator *it)
 cvrf_vulnerability_iterator
void cvrf_vulnerability_iterator_free (struct cvrf_vulnerability_iterator *it)
 Deallocate memory for the CVRF Vulnerability Iterator structure cvrf_vulnerability_iterator.
void cvrf_vulnerability_iterator_reset (struct cvrf_vulnerability_iterator *it)
 Restart iterator at the first Vulnerability in the document cvrf_vulnerability_iterator.
void cvrf_vulnerability_iterator_remove (struct cvrf_vulnerability_iterator *it)
 Detaches and frees the Vulnerability iterator structure cvrf_vulnerability_iterator.
struct cvrf_index * cvrf_index_new (void)
 New index structure holding all CVRF models cvrf_index.
void cvrf_index_free (struct cvrf_index *index)
 Deallocates memory for the CVRF Index structure and all the Models it contains cvrf_index.
struct cvrf_index * cvrf_index_clone (const struct cvrf_index *index)
 cvrf_index
const char * cvrf_index_get_source_url (const struct cvrf_index *index)
 cvrf_index
const char * cvrf_index_get_index_file (const struct cvrf_index *index)
 cvrf_index
bool cvrf_index_set_source_url (struct cvrf_index *index, const char *url)
 cvrf_index
bool cvrf_index_set_index_file (struct cvrf_index *index, const char *index_file)
 cvrf_index
bool cvrf_index_add_model (struct cvrf_index *index, struct cvrf_model *model)
 cvrf_index
struct cvrf_model_iterator * cvrf_index_get_models (const struct cvrf_index *index)
 cvrf_index
struct cvrf_model * cvrf_model_iterator_next (struct cvrf_model_iterator *it)
 cvrf_model_iterator
bool cvrf_model_iterator_has_more (struct cvrf_model_iterator *it)
 cvrf_model_iterator
void cvrf_model_iterator_free (struct cvrf_model_iterator *it)
 Deallocate memory for the CVRF Model Iterator structure cvrf_model_iterator.
void cvrf_model_iterator_reset (struct cvrf_model_iterator *it)
 Restart iterator at the first Model contained in the Index cvrf_model_iterator.
void cvrf_model_iterator_remove (struct cvrf_model_iterator *it)
 Detaches and frees the Model iterator structure cvrf_model_iterator.
struct cvrf_session * cvrf_session_new_from_source_model (struct oscap_source *source)
 cvrf_session
struct cvrf_session * cvrf_session_new_from_source_index (struct oscap_source *source)
 cvrf_session
void cvrf_session_free (struct cvrf_session *session)
 Deallocates memory for a CVRF Session structure cvrf_session.
struct cvrf_model * cvrf_session_get_model (struct cvrf_session *session)
 cvrf_session
struct cvrf_index * cvrf_session_get_index (const struct cvrf_session *session)
 cvrf_session
struct oscap_string_iteratorcvrf_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 cvrf_session.
const char * cvrf_session_get_os_name (const struct cvrf_session *session)
 cvrf_session
void cvrf_session_set_model (struct cvrf_session *session, struct cvrf_model *model)
 Add the CVRF model to be evaluated to the Session structure cvrf_session.
bool cvrf_session_set_index (struct cvrf_session *session, struct cvrf_index *index)
 Add the CVRF index to be evaluated to the Session structure cvrf_session.
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 cvrf_session.
struct cvrf_rpm_attributes * cvrf_rpm_attributes_new (void)
 Create a new CVRF RPM attributes structure cvrf_rpm_attributes.
void cvrf_rpm_attributes_free (struct cvrf_rpm_attributes *attributes)
 Deallocate memory for the CVRF RPM attributes structure cvrf_rpm_attributes.
const char * cvrf_rpm_attributes_get_full_package_name (const struct cvrf_rpm_attributes *attributes)
 cvrf_rpm_attributes
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 cvrf_rpm_attributes.
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 cvrf_rpm_attributes.
bool cvrf_rpm_attributes_set_full_package_name (struct cvrf_rpm_attributes *attributes, const char *full_package)
 cvrf_rpm_attributes
bool cvrf_rpm_attributes_set_rpm_name (struct cvrf_rpm_attributes *attributes, const char *rpm_name)
 cvrf_rpm_attributes
bool cvrf_rpm_attributes_set_evr_format (struct cvrf_rpm_attributes *attributes, const char *evr_format)
 cvrf_rpm_attributes
const char * cvrf_model_supported (void)
 Get supported version of CVRF XML.
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 cvrf_index.
struct cvrf_model * cvrf_model_import (struct oscap_source *source)
 Parses the specified XML file and creates a list of CVRF data structures.
struct oscap_source * cvrf_index_get_export_source (struct cvrf_index *index)
 Export CVRF Index to the export source as an XML doc cvrf_index.
struct oscap_source * cvrf_model_get_export_source (struct cvrf_model *model)
 Export CVRF Model to the export source as an XML doc cvrf_model.
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 cvrf_session.
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 cvrf_session.

Function Documentation

struct cvrf_acknowledgment* cvrf_acknowledgment_clone ( const struct cvrf_acknowledgment *  ack  )  [read]

cvrf_acknowledgment

Parameters:
ack Original 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 cvrf_acknowledgment.

Parameters:
ack The CVRF Acknowledgment structure to be freed

const char* cvrf_acknowledgment_get_description ( const struct cvrf_acknowledgment *  ack  ) 

cvrf_acknowledgment

Parameters:
ack CVRF 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  )  [read]

cvrf_acknowledgment

Parameters:
ack CVRF 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  )  [read]

cvrf_acknowledgment

Parameters:
ack CVRF 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  )  [read]

cvrf_acknowledgment

Parameters:
ack CVRF Acknowledgment structure URLs to people or parties being acknowledged
Returns:
String iterator representing list of all URLs

struct cvrf_acknowledgment* cvrf_acknowledgment_new ( void   )  [read]

New CVRF Acknowledgment element within Acknowledgments container cvrf_acknowledgment.

Returns:
New CVRF Acknowledgment structure

bool cvrf_acknowledgment_set_description ( struct cvrf_acknowledgment *  ack,
const char *  description 
)

cvrf_acknowledgment

Parameters:
ack CVRF Acknowledgment structure
description Contextual information about acknowledgers or acknowledged parties
Returns:
true on success

struct cvrf_branch* cvrf_branch_clone ( const struct cvrf_branch *  branch  )  [read]

cvrf_branch

Parameters:
branch Original 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 cvrf_branch.

Parameters:
branch The CVRF Branch structure to be freed

const char* cvrf_branch_get_branch_name ( const struct cvrf_branch *  branch  ) 

cvrf_branch

Parameters:
branch CVRF 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  )  [read]

cvrf_branch

Parameters:
branch CVRF 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  )  [read]

cvrf_branch

Parameters:
branch CVRF 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   )  [read]

New CVRF branch of ProductTree or sub-branch cvrf_branch.

Returns:
New CVRF branch

bool cvrf_branch_set_branch_name ( struct cvrf_branch *  branch,
const char *  branch_name 
)

cvrf_branch

Parameters:
branch CVRF Branch structure
branch_name Canonical 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 
)

cvrf_branch

Parameters:
branch CVRF Branch structure
name Child 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  )  [read]

cvrf_doc_publisher

Parameters:
revision Original 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 cvrf_doc_publisher.

Parameters:
publisher The CVRF DocumentPublisher structure to be freed

const char* cvrf_doc_publisher_get_contact_details ( const struct cvrf_doc_publisher *  publisher  ) 

cvrf_doc_publisher

Parameters:
publisher CVRF 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  ) 

cvrf_doc_publisher

Parameters:
publisher CVRF 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  ) 

cvrf_doc_publisher

Parameters:
publisher CVRF 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   )  [read]

New CVRF DocumentPublisher structure cvrf_doc_publisher.

Returns:
New CVRF DocumentPublisher structure

bool cvrf_doc_publisher_set_contact_details ( struct cvrf_doc_publisher *  publisher,
const char *  contact_details 
)

cvrf_doc_publisher

Parameters:
publisher CVRF DocumentPublisher structure
contact_details Information 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 
)

cvrf_doc_publisher

Parameters:
publisher CVRF DocumentPublisher structure
issuing_authority Name 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 
)

cvrf_doc_publisher

Parameters:
publisher CVRF DocumentPublisher structure
vendor_id Unique 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 
)

cvrf_doc_tracking

Parameters:
tracking CVRF DocumentTracking structure
revision CVRF 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  )  [read]

cvrf_doc_tracking

Parameters:
tracking Original 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 cvrf_doc_tracking.

Parameters:
tracking The CVRF DocumentTracking structure to be freed

struct oscap_string_iterator* cvrf_doc_tracking_get_aliases ( struct cvrf_doc_tracking *  tracking  )  [read]

cvrf_doc_tracking

Parameters:
tracking CVRF 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  ) 

cvrf_doc_tracking

Parameters:
tracking CVRF 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  ) 

cvrf_doc_tracking

Parameters:
tracking CVRF 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  ) 

cvrf_doc_tracking

Parameters:
tracking CVRF 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  ) 

cvrf_doc_tracking

Parameters:
tracking CVRF 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  )  [read]

cvrf_doc_tracking

Parameters:
tracking CVRF 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  ) 

cvrf_doc_tracking

Parameters:
tracking CVRF 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  ) 

cvrf_doc_tracking

Parameters:
tracking CVRF 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   )  [read]

New CVRF DocumentTracking structure cvrf_doc_tracking.

Returns:
New CVRF DocumentTracking

bool cvrf_doc_tracking_set_cur_release_date ( struct cvrf_doc_tracking *  tracking,
const char *  cur_release_date 
)

cvrf_doc_tracking

Parameters:
tracking CVRF DocumentTracking structure
cur_release_date Datetime 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 
)

cvrf_doc_tracking

Parameters:
tracking CVRF DocumentTracking structure
generator_date Datetime 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 
)

cvrf_doc_tracking

Parameters:
tracking CVRF DocumentTracking structure
generator_engine Name 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 
)

cvrf_doc_tracking

Parameters:
tracking CVRF DocumentTracking structure
init_release_date Datetime 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 
)

cvrf_doc_tracking

Parameters:
tracking CVRF DocumentTracking structure
id Short 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 
)

cvrf_doc_tracking

Parameters:
tracking CVRF DocumentTracking structure
version Counter 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  )  [read]

cvrf_document

Parameters:
revision Original 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 cvrf_document.

Parameters:
doc The CVRF Document structure to be freed

struct oscap_iterator* cvrf_document_get_acknowledgments ( struct cvrf_document *  doc  )  [read]

cvrf_document

Parameters:
doc CVRF 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  ) 

cvrf_document

Parameters:
doc CVRF 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  ) 

cvrf_document

Parameters:
doc CVRF 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  ) 

cvrf_document

Parameters:
doc CVRF 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  )  [read]

cvrf_document

Parameters:
doc CVRF 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  )  [read]

cvrf_document

Parameters:
doc CVRF 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  )  [read]

cvrf_document

Parameters:
doc CVRF 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  )  [read]

cvrf_document

Parameters:
doc CVRF 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   )  [read]

New CVRF Document structure cvrf_document.

Returns:
New CVRF Document structure

bool cvrf_document_set_aggregate_severity ( struct cvrf_document *  doc,
const char *  severity 
)

cvrf_document

Parameters:
doc CVRF Document structure
severity Information 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 
)

cvrf_document

Parameters:
doc CVRF Document structure
distribution Legal restrains about reproducing and using the document
Returns:
true on success

bool cvrf_document_set_namespace ( struct cvrf_document *  doc,
const char *  ns 
)

cvrf_document

Parameters:
doc CVRF Document structure
ns URL 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 
)

cvrf_document

Parameters:
doc CVRF Document structure
publisher Structure 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 
)

cvrf_document

Parameters:
doc CVRF Document structure
track Structure 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  )  [read]

cvrf_group

Parameters:
group Original 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 cvrf_group.

Parameters:
group The CVRF Group structure to be freed

const char* cvrf_group_get_description ( const struct cvrf_group *  group  ) 

cvrf_group

Parameters:
group CVRF 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  ) 

cvrf_group

Parameters:
group CVRF 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  )  [read]

cvrf_group

Parameters:
group CVRF Group structure List of all ProductIDs representing the products that belong to this Group
Returns:
Iterator for the stringlist of ProductIDs

void cvrf_group_iterator_free ( struct cvrf_group_iterator *  it  ) 

Deallocate memory for the CVRF Group Iterator structure cvrf_group_iterator.

Parameters:
it CVRF Group iterator structure

bool cvrf_group_iterator_has_more ( struct cvrf_group_iterator *  it  ) 

cvrf_group_iterator

Parameters:
it CVRF Group iterator structure
Returns:
true if the Iterator has another Group element left

struct cvrf_group* cvrf_group_iterator_next ( struct cvrf_group_iterator *  it  )  [read]

cvrf_group_iterator

Parameters:
it CVRF Group iterator structure
Returns:
Next CVRF Group in ProductGroups container in the ProductTree

void cvrf_group_iterator_remove ( struct cvrf_group_iterator *  it  ) 

Detaches and frees the Group iterator structure cvrf_group_iterator.

Parameters:
it CVRF Group iterator structure

void cvrf_group_iterator_reset ( struct cvrf_group_iterator *  it  ) 

Restart iterator at the first Group element in the ProductTree cvrf_group_iterator.

Parameters:
it CVRF Group iterator structure

struct cvrf_group* cvrf_group_new ( void   )  [read]

New CVRF Group child of ProductGroups container element cvrf_group.

Returns:
New CVRF Group structure

bool cvrf_group_set_description ( struct cvrf_group *  group,
const char *  description 
)

cvrf_group

Parameters:
group CVRF Group structure
description Short 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 
)

cvrf_group

Parameters:
group CVRF Group structure
group_id Unique 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 
)

cvrf_index

Parameters:
index CVRF Index structure
model CVRF Model structure to be added to the Index structure
Returns:
true on success

struct cvrf_index* cvrf_index_clone ( const struct cvrf_index *  index  )  [read]

cvrf_index

Parameters:
index Original 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 cvrf_index.

Parameters:
index The CVRF Index structure to be freed

struct oscap_source* cvrf_index_get_export_source ( struct cvrf_index *  index  )  [read]

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

Parameters:
index CVRF index structure
Returns:
Export target source for the Index, NULL on failure

const char* cvrf_index_get_index_file ( const struct cvrf_index *  index  ) 

cvrf_index

Parameters:
index CVRF 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  )  [read]

cvrf_index

Parameters:
index CVRF 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 
) [read]

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 cvrf_session.

Parameters:
import_source OSCAP source used to import the CVRF Index into the session
os_name CPE 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  ) 

cvrf_index

Parameters:
index CVRF 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  )  [read]

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

Parameters:
index_source OSCAP source with path to CVRF file
Returns:
New CVRF index containing all CVRF models

struct cvrf_index* cvrf_index_new ( void   )  [read]

New index structure holding all CVRF models cvrf_index.

Returns:
New CVRF index structure

bool cvrf_index_set_index_file ( struct cvrf_index *  index,
const char *  index_file 
)

cvrf_index

Parameters:
index CVRF Index structure
index_file Filepath 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 
)

cvrf_index

Parameters:
index CVRF Index structure
url Source 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  )  [read]

cvrf_involvement

Parameters:
involve Original 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 cvrf_involvement.

Parameters:
involve The CVRF Involvement structure to be freed

const char* cvrf_involvement_get_description ( const struct cvrf_involvement *  involve  ) 

cvrf_involvement

Parameters:
involve CVRF Involvement structure Gives context about the involvement or about the Party's contribution
Returns:
contents of Description element within Involvement element

void cvrf_involvement_iterator_free ( struct cvrf_involvement_iterator *  it  ) 

Deallocate memory for the CVRF Involvement Iterator structure cvrf_involvement_iterator.

Parameters:
it CVRF Involvement iterator structure

bool cvrf_involvement_iterator_has_more ( struct cvrf_involvement_iterator *  it  ) 

cvrf_involvement_iterator

Parameters:
it CVRF Involvement iterator structure
Returns:
true if the iterator has another Involvement element left

struct cvrf_involvement* cvrf_involvement_iterator_next ( struct cvrf_involvement_iterator *  it  )  [read]

cvrf_involvement_iterator

Parameters:
it CVRF Involvement iterator structure
Returns:
Next CVRF Involvement in list of all Involvements in the Vulnerability

void cvrf_involvement_iterator_remove ( struct cvrf_involvement_iterator *  it  ) 

Detaches and frees the Involvement iterator structure cvrf_involvement_iterator.

Parameters:
it CVRF Involvement iterator structure

void cvrf_involvement_iterator_reset ( struct cvrf_involvement_iterator *  it  ) 

Restart iterator at the first Involvement in the Vulnerability cvrf_involvement_iterator.

Parameters:
it CVRF Involvement iterator structure

struct cvrf_involvement* cvrf_involvement_new ( void   )  [read]

New CVRF Involvement cvrf_involvement.

Returns:
New CVRF Involvement

bool cvrf_involvement_set_description ( struct cvrf_involvement *  involve,
const char *  description 
)

cvrf_involvement

Parameters:
involve CVRF Involvement structure
description Gives 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 
)

cvrf_model

Parameters:
model CVRF Model structure
vuln CVRF Vulnerability structure to be added to the model
Returns:
true on success

struct cvrf_model* cvrf_model_clone ( const struct cvrf_model *  model  )  [read]

cvrf_model

Parameters:
model Original 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 cvrf_model.

Parameters:
cvrf The CVRF Model structure to be filtered
cpe CPE 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 cvrf_model.

Parameters:
cvrf The CVRF Model structure to be freed

const char* cvrf_model_get_doc_title ( const struct cvrf_model *  model  ) 

cvrf_model

Parameters:
model CVRF 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  ) 

cvrf_model

Parameters:
model CVRF 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  )  [read]

cvrf_model

Parameters:
model CVRF 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  )  [read]

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

Parameters:
model CVRF Model structure
Returns:
Export target source for the Model, NULL on failure

const char* cvrf_model_get_identification ( struct cvrf_model *  model  ) 

cvrf_model

Parameters:
model CVRF Model structure
Returns:
Unique ID used to track this document

struct cvrf_product_tree* cvrf_model_get_product_tree ( struct cvrf_model *  model  )  [read]

cvrf_model

Parameters:
model CVRF 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 
) [read]

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 cvrf_session.

Parameters:
import_source OSCAP source used to import the CVRF Model into the session
os_name CPE 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  )  [read]

cvrf_model

Parameters:
model CVRF Model structure
Returns:
Iterator representing list of all Vulnerabilities in the model

struct cvrf_model* cvrf_model_import ( struct oscap_source *  source  )  [read]

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

cvrf_model

Parameters:
source OSCAP source with path to CVRF file
Returns:
New CVRF model structure
Parses the specified XML file and creates a list of CVRF data structures.

Function returns CVRF model, need to free source after calling this function

void cvrf_model_iterator_free ( struct cvrf_model_iterator *  it  ) 

Deallocate memory for the CVRF Model Iterator structure cvrf_model_iterator.

Parameters:
it CVRF Model iterator structure

bool cvrf_model_iterator_has_more ( struct cvrf_model_iterator *  it  ) 

cvrf_model_iterator

Parameters:
it CVRF Model iterator structure
Returns:
true if the iterator has another Model element left

struct cvrf_model* cvrf_model_iterator_next ( struct cvrf_model_iterator *  it  )  [read]

cvrf_model_iterator

Parameters:
it CVRF Model iterator structure
Returns:
Next CVRF Model in list of all Models in the Index

void cvrf_model_iterator_remove ( struct cvrf_model_iterator *  it  ) 

Detaches and frees the Model iterator structure cvrf_model_iterator.

Parameters:
it CVRF Model iterator structure

void cvrf_model_iterator_reset ( struct cvrf_model_iterator *  it  ) 

Restart iterator at the first Model contained in the Index cvrf_model_iterator.

Parameters:
it CVRF Model iterator structure

struct cvrf_model* cvrf_model_new ( void   )  [read]

New CVRF model cvrf_model.

Returns:
New CVRF model

bool cvrf_model_set_doc_title ( struct cvrf_model *  model,
const char *  doc_title 
)

cvrf_model

Parameters:
model CVRF Model structure
doc_title Definitive canonical name for the document
Returns:
true on success

bool cvrf_model_set_doc_type ( struct cvrf_model *  model,
const char *  doc_type 
)

cvrf_model

Parameters:
model CVRF Model structure
doc_type Short canonical name of the document's type
Returns:
true on success

bool cvrf_model_set_document ( struct cvrf_model *  model,
struct cvrf_document *  doc 
)

cvrf_model

Parameters:
model CVRF Model structure
doc Structure 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 cvrf_model

struct cvrf_note* cvrf_note_clone ( const struct cvrf_note *  note  )  [read]

cvrf_note

Parameters:
note Original 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 cvrf_note.

Parameters:
note The CVRF Note structure to be freed

const char* cvrf_note_get_audience ( const struct cvrf_note *  note  ) 

cvrf_note

Parameters:
note CVRF 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  ) 

cvrf_note

Parameters:
note CVRF 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  ) 

cvrf_note

Parameters:
note CVRF 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  ) 

cvrf_note

Parameters:
note CVRF 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   )  [read]

New CVRF Note element within Notes or DocumentNotes container cvrf_note.

Returns:
New CVRF Note structure

bool cvrf_note_set_audience ( struct cvrf_note *  note,
const char *  audience 
)

cvrf_note

Parameters:
note CVRF Note structure
audience Party 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 
)

cvrf_note

Parameters:
note CVRF Note structure
contents Information that is contained in the Note
Returns:
true on success

bool cvrf_note_set_ordinal ( struct cvrf_note *  note,
int  ordinal 
)

cvrf_note

Parameters:
note CVRF Note structure
ordinal Index of a Note element within a Notes container
Returns:
true on success

bool cvrf_note_set_title ( struct cvrf_note *  note,
const char *  title 
)

cvrf_note

Parameters:
note CVRF Note structure
title Concise 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  )  [read]

cvrf_product_name

Parameters:
full_name Original 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 cvrf_product_name.

Parameters:
full_name The CVRF FullProductName structure to be freed

const char* cvrf_product_name_get_cpe ( const struct cvrf_product_name *  full_name  ) 

cvrf_product_name

Parameters:
full_name CVRF 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  ) 

cvrf_product_name

Parameters:
full_name CVRF FullProductName structure
Returns:
ProductID attribute within the FullProductName element

void cvrf_product_name_iterator_free ( struct cvrf_product_name_iterator *  it  ) 

Deallocate memory for the CVRF FullProductName Iterator structure cvrf_product_name_iterator.

Parameters:
it CVRF FullProductName iterator structure

bool cvrf_product_name_iterator_has_more ( struct cvrf_product_name_iterator *  it  ) 

cvrf_product_name_iterator

Parameters:
it CVRF FullProductName iterator structure
Returns:
true if the Iterator has another FullProductName element left

struct cvrf_product_name* cvrf_product_name_iterator_next ( struct cvrf_product_name_iterator *  it  )  [read]

cvrf_product_name_iterator

Parameters:
it CVRF FullProductName iterator structure
Returns:
Next CVRF FullProductName in list of all FullProductNames in the ProductTree

void cvrf_product_name_iterator_remove ( struct cvrf_product_name_iterator *  it  ) 

Detaches and frees the FullProductName iterator structure cvrf_product_name_iterator.

Parameters:
it CVRF FullProductName iterator structure

void cvrf_product_name_iterator_reset ( struct cvrf_product_name_iterator *  it  ) 

Restart iterator at the first FullProductName element in the ProductTree cvrf_product_name_iterator.

Parameters:
it CVRF FullProductName iterator structure

struct cvrf_product_name* cvrf_product_name_new ( void   )  [read]

New FullProductName of Branch or ProductTree cvrf_product_name.

Returns:
New FullProductName

bool cvrf_product_name_set_cpe ( struct cvrf_product_name *  full_name,
const char *  cpe 
)

cvrf_product_name

Parameters:
full_name CVRF FullProductName structure
Returns:
true on success

bool cvrf_product_name_set_product_id ( struct cvrf_product_name *  full_name,
const char *  product_id 
)

cvrf_product_name

Parameters:
full_name CVRF FullProductName structure
Returns:
true on success

struct cvrf_product_status* cvrf_product_status_clone ( const struct cvrf_product_status *  stat  )  [read]

cvrf_product_status

Parameters:
stat Original 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 cvrf_product_status.

Parameters:
status The CVRF Status element to be freed

struct oscap_string_iterator* cvrf_product_status_get_ids ( struct cvrf_product_status *  stat  )  [read]

cvrf_product_status

Parameters:
stat Status structure with stringlist of ProductIDs
Returns:
Iterator for the stringlist of ProductIDs

void cvrf_product_status_iterator_free ( struct cvrf_product_status_iterator *  it  ) 

Deallocate memory for the CVRF Status Iterator structure cvrf_product_status_iterator.

Parameters:
it CVRF Status iterator structure

bool cvrf_product_status_iterator_has_more ( struct cvrf_product_status_iterator *  it  ) 

cvrf_product_status_iterator

Parameters:
it CVRF Status iterator structure
Returns:
true if the iterator has another Status element left

struct cvrf_product_status* cvrf_product_status_iterator_next ( struct cvrf_product_status_iterator *  it  )  [read]

cvrf_product_status_iterator

Parameters:
it CVRF ProductStatus iterator structure
Returns:
Next CVRF Status in list of all ProductStatuses in the Vulnerability

void cvrf_product_status_iterator_remove ( struct cvrf_product_status_iterator *  it  ) 

Detaches and frees the Status iterator structure cvrf_product_status_iterator.

Parameters:
it CVRF Status iterator structure

void cvrf_product_status_iterator_reset ( struct cvrf_product_status_iterator *  it  ) 

Restart iterator at the first Status in the Vulnerability cvrf_product_status_iterator.

Parameters:
it CVRF Status iterator structure

struct cvrf_product_status* cvrf_product_status_new ( void   )  [read]

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

Returns:
New CVRF ProductStatus

bool cvrf_product_tree_add_group ( struct cvrf_product_tree *  tree,
struct cvrf_group *  group 
)

cvrf_product_tree

Parameters:
tree CVRF ProductTree structure
group CVRF 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 
)

cvrf_product_tree

Parameters:
tree CVRF ProductTree structure
full_name CVRF 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 
)

cvrf_product_tree

Parameters:
tree CVRF ProductTree structure
relation CVRF 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  )  [read]

cvrf_product_tree

Parameters:
tree Original 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 cvrf_product_tree.

Parameters:
tree ProductTree structure to be filtered
cpe CPE 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 cvrf_product_tree.

Parameters:
tree The CVRF ProductTree structure to be freed

struct cvrf_group_iterator* cvrf_product_tree_get_product_groups ( const struct cvrf_product_tree *  tree  )  [read]

cvrf_product_tree

Parameters:
tree CVRF 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  )  [read]

cvrf_product_tree

Parameters:
tree CVRF 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  )  [read]

cvrf_product_tree

Parameters:
tree CVRF ProductTree structure
Returns:
Iterator representing list of all Relationships in the ProductTree

struct cvrf_product_tree* cvrf_product_tree_new ( void   )  [read]

New ProductTree structure cvrf_product_tree.

Returns:
New CVRF ProductTree

struct cvrf_reference* cvrf_reference_clone ( const struct cvrf_reference *  ref  )  [read]

cvrf_reference

Parameters:
revision Original 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 cvrf_reference.

Parameters:
reference The CVRF Reference structure to be freed

const char* cvrf_reference_get_description ( const struct cvrf_reference *  reference  ) 

cvrf_reference

Parameters:
reference CVRF 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  ) 

cvrf_reference

Parameters:
reference CVRF 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   )  [read]

New CVRF Reference structure cvrf_reference.

Returns:
New CVRF Reference

bool cvrf_reference_set_description ( struct cvrf_reference *  reference,
const char *  description 
)

cvrf_reference

Parameters:
reference CVRF Reference structure
description Title or name of the Reference element
Returns:
true on success

bool cvrf_reference_set_url ( struct cvrf_reference *  reference,
const char *  url 
)

cvrf_reference

Parameters:
reference CVRF Reference structure
url Contains fixed URL link to the advisory or other reference
Returns:
true on success

struct cvrf_relationship* cvrf_relationship_clone ( const struct cvrf_relationship *  relation  )  [read]

cvrf_relationship

Parameters:
relation Original 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 cvrf_relationship.

Parameters:
relationship The CVRF Relationship structure to be freed

struct cvrf_product_name* cvrf_relationship_get_product_name ( const struct cvrf_relationship *  relation  )  [read]

cvrf_relationship

Parameters:
relation CVRF 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  ) 

cvrf_relationship

Parameters:
relation CVRF 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  ) 

cvrf_relationship

Parameters:
relation CVRF Relationship structure ProductID for a CPE referenced in preceding Branches in the ProductTree
Returns:
contents of RelatesToProductReference attribute of a Relationship element

void cvrf_relationship_iterator_free ( struct cvrf_relationship_iterator *  it  ) 

Deallocate memory for the CVRF Relationship Iterator structure cvrf_relationship_iterator.

Parameters:
it CVRF Relationship iterator structure

bool cvrf_relationship_iterator_has_more ( struct cvrf_relationship_iterator *  it  ) 

cvrf_relationship_iterator

Parameters:
it CVRF Relationship iterator structure
Returns:
true if the Iterator has another Relationship element left

struct cvrf_relationship* cvrf_relationship_iterator_next ( struct cvrf_relationship_iterator *  it  )  [read]

cvrf_relationship_iterator

Parameters:
it CVRF Relationship iterator structure
Returns:
Next CVRF Relationship in list of all Relationships in the ProductTree

void cvrf_relationship_iterator_remove ( struct cvrf_relationship_iterator *  it  ) 

Detaches and frees the Relationship iterator structure cvrf_relationship_iterator.

Parameters:
it CVRF Relationship iterator structure

void cvrf_relationship_iterator_reset ( struct cvrf_relationship_iterator *  it  ) 

Restart iterator at the first Relationship element in the ProductTree cvrf_relationship_iterator.

Parameters:
it CVRF Relationship iterator structure

struct cvrf_relationship* cvrf_relationship_new ( void   )  [read]

New CVRF Relationship element within ProductTree cvrf_relationship.

Returns:
New CVRF Relationship structure

bool cvrf_relationship_set_product_name ( struct cvrf_relationship *  relation,
struct cvrf_product_name *  name 
)

cvrf_relationship

Parameters:
relation CVRF Relationship structure
name References 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 
)

cvrf_relationship

Parameters:
relation CVRF Relationship structure
product_reference Combined 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 
)

cvrf_relationship

Parameters:
relation CVRF Relationship structure
relates_to_ref ProductID 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  )  [read]

cvrf_remediation

Parameters:
remed Original 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 cvrf_remediation.

Parameters:
remed The CVRF Remediation structure to be freed

const char* cvrf_remediation_get_date ( const struct cvrf_remediation *  remed  ) 

cvrf_remediation

Parameters:
remed CVRF 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  ) 

cvrf_remediation

Parameters:
remed CVRF 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  ) 

cvrf_remediation

Parameters:
remed CVRF 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  )  [read]

cvrf_remediation

Parameters:
remed CVRF 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  )  [read]

cvrf_remediation

Parameters:
remed CVRF 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  ) 

cvrf_remediation

Parameters:
remed CVRF Remediation structure Optional URL link to a Remediation for a particular Vulnerability
Returns:
contents of URL element within a Remediation element

void cvrf_remediation_iterator_free ( struct cvrf_remediation_iterator *  it  ) 

Deallocate memory for the CVRF Remediation Iterator structure cvrf_remediation_iterator.

Parameters:
it CVRF Remediation iterator structure

bool cvrf_remediation_iterator_has_more ( struct cvrf_remediation_iterator *  it  ) 

cvrf_remediation_iterator

Parameters:
it CVRF Remediation iterator structure
Returns:
true if the iterator has another Remediation element left

struct cvrf_remediation* cvrf_remediation_iterator_next ( struct cvrf_remediation_iterator *  it  )  [read]

cvrf_remediation_iterator

Parameters:
it CVRF Remediation iterator structure
Returns:
Next CVRF Remediation in list of all Remediations in the Vulnerability

void cvrf_remediation_iterator_remove ( struct cvrf_remediation_iterator *  it  ) 

Detaches and frees the Remediation iterator structure cvrf_remediation_iterator.

Parameters:
it CVRF Remediation iterator structure

void cvrf_remediation_iterator_reset ( struct cvrf_remediation_iterator *  it  ) 

Restart iterator at the first Remediation in the Vulnerability cvrf_remediation_iterator.

Parameters:
it CVRF Remediation iterator structure

struct cvrf_remediation* cvrf_remediation_new ( void   )  [read]

New CVRF Remediation cvrf_remediation.

Returns:
New CVRF Remediation

bool cvrf_remediation_set_date ( struct cvrf_remediation *  remed,
const char *  date 
)

cvrf_remediation

Parameters:
remed CVRF Remediation structure
date Date that the Remediation was created
Returns:
true on success

bool cvrf_remediation_set_description ( struct cvrf_remediation *  remed,
const char *  description 
)

cvrf_remediation

Parameters:
remed CVRF Remediation structure
description a human-readable explanation of Remediation process
Returns:
true on success

bool cvrf_remediation_set_entitlement ( struct cvrf_remediation *  remed,
const char *  entitlement 
)

cvrf_remediation

Parameters:
remed CVRF Remediation structure
entitlement vendor-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 
)

cvrf_remediation

Parameters:
remed CVRF Remediation structure
url Optional URL link to a Remediation for a particular Vulnerability
Returns:
true on success

struct cvrf_revision* cvrf_revision_clone ( const struct cvrf_revision *  revision  )  [read]

cvrf_revision

Parameters:
revision Original 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 cvrf_revision.

Parameters:
revision The CVRF Revision structure to be freed

const char* cvrf_revision_get_date ( const struct cvrf_revision *  revision  ) 

cvrf_revision

Parameters:
revision CVRF 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  ) 

cvrf_revision

Parameters:
revision CVRF 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  ) 

cvrf_revision

Parameters:
revision CVRF Revision structure Numeric representation of document version in tokenized format "nn.nn.nn.nn"
Returns:
contents of Number element within the Revision element

void cvrf_revision_iterator_free ( struct cvrf_revision_iterator *  it  ) 

Deallocate memory for the CVRF Revision Iterator structure cvrf_revision_iterator.

Parameters:
it CVRF Revision iterator structure

bool cvrf_revision_iterator_has_more ( struct cvrf_revision_iterator *  it  ) 

cvrf_revision_iterator

Parameters:
it CVRF Revision iterator structure
Returns:
true if the iterator has another Revision element left

struct cvrf_revision* cvrf_revision_iterator_next ( struct cvrf_revision_iterator *  it  )  [read]

cvrf_revision_iterator

Parameters:
it CVRF Revision iterator structure
Returns:
Next CVRF Revision in list of all Revisions in the DocumentTracking

void cvrf_revision_iterator_remove ( struct cvrf_revision_iterator *  it  ) 

Detaches and frees the Revision iterator structure cvrf_revision_iterator.

Parameters:
it CVRF Revision iterator structure

void cvrf_revision_iterator_reset ( struct cvrf_revision_iterator *  it  ) 

Restart iterator at the first Revision in the DocumentTracking cvrf_revision_iterator.

Parameters:
it CVRF Revision iterator structure

struct cvrf_revision* cvrf_revision_new ( void   )  [read]

New CVRF Revision structure cvrf_revision.

Returns:
New CVRF Revision

bool cvrf_revision_set_date ( struct cvrf_revision *  revision,
const char *  date 
)

cvrf_revision

Parameters:
revision CVRF Revision structure
date Datetime of when the Revision was made
Returns:
true on success

bool cvrf_revision_set_description ( struct cvrf_revision *  revision,
const char *  description 
)

cvrf_revision

Parameters:
revision CVRF Revision structure
description Short 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 
)

cvrf_revision

Parameters:
revision CVRF Revision structure
number Numeric 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 cvrf_rpm_attributes.

Parameters:
attributes CVRF 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 cvrf_rpm_attributes.

Parameters:
attributes CVRF 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  ) 

cvrf_rpm_attributes

Parameters:
attributes CVRF 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 cvrf_rpm_attributes.

Parameters:
attributes CVRF RPM Attributes structure
Returns:
RPM package name (without release or version)

struct cvrf_rpm_attributes* cvrf_rpm_attributes_new ( void   )  [read]

Create a new CVRF RPM attributes structure cvrf_rpm_attributes.

Returns:
New CVRF RPM attributes structure

bool cvrf_rpm_attributes_set_evr_format ( struct cvrf_rpm_attributes *  attributes,
const char *  evr_format 
)

cvrf_rpm_attributes

Parameters:
attributes CVRF RPM Attributes structure
evr_format String 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 
)

cvrf_rpm_attributes

Parameters:
attributes CVRF RPM Attributes structure
full_package Full length RPM package name
Returns:
true on success

bool cvrf_rpm_attributes_set_rpm_name ( struct cvrf_rpm_attributes *  attributes,
const char *  rpm_name 
)

cvrf_rpm_attributes

Parameters:
attributes CVRF RPM Attributes structure
rpm_name Package 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 
)

cvrf_score_set

Parameters:
score_set ScoreSet structure
category CVSS_BASE, CVSS_TEMPORAL, or CVSS_ENVIRONMENTAL
score String representation of the CVSS score
Returns:
true on success

struct cvrf_score_set* cvrf_score_set_clone ( const struct cvrf_score_set *  score_set  )  [read]

cvrf_score_set

Parameters:
score_set Original 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 cvrf_score_set.

Parameters:
score_set The CVRF ScoreSet structure to be freed

char* cvrf_score_set_get_base_score ( const struct cvrf_score_set *  score_set  ) 

cvrf_score_set

Parameters:
score_set ScoreSet 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  ) 

cvrf_score_set

Parameters:
score_set ScoreSet 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  )  [read]

cvrf_score_set

Parameters:
score_set ScoreSet 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  )  [read]

cvrf_score_set

Parameters:
score_set ScoreSet 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  ) 

cvrf_score_set

Parameters:
score_set ScoreSet 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  ) 

cvrf_score_set

Parameters:
score_set ScoreSet structure Contains official CVSS notation of values used to compute all the scores
Returns:
contents of Vector element within a ScoreSet element

void cvrf_score_set_iterator_free ( struct cvrf_score_set_iterator *  it  ) 

Deallocate memory for the CVRF ScoreSet Iterator structure cvrf_score_set_iterator.

Parameters:
it CVRF ScoreSet iterator structure

bool cvrf_score_set_iterator_has_more ( struct cvrf_score_set_iterator *  it  ) 

cvrf_score_set_iterator

Parameters:
it CVRF ScoreSet iterator structure
Returns:
true if the iterator has another ScoreSet element left

struct cvrf_score_set* cvrf_score_set_iterator_next ( struct cvrf_score_set_iterator *  it  )  [read]

cvrf_score_set_iterator

Parameters:
it CVRF ScoreSet iterator structure
Returns:
Next CVRF ScoreSet in list of all CVSSScoreSets in the Vulnerability

void cvrf_score_set_iterator_remove ( struct cvrf_score_set_iterator *  it  ) 

Detaches and frees the ScoreSet iterator structure cvrf_score_set_iterator.

Parameters:
it CVRF ScoreSet iterator structure

void cvrf_score_set_iterator_reset ( struct cvrf_score_set_iterator *  it  ) 

Restart iterator at the first ScoreSet in the Vulnerability cvrf_score_set_iterator.

Parameters:
it CVRF ScoreSet iterator structure

struct cvrf_score_set* cvrf_score_set_new ( void   )  [read]

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

Returns:
New CVRF ScoreSet structure

bool cvrf_score_set_set_impact ( struct cvrf_score_set *  score_set,
struct cvss_impact impact 
)

cvrf_score_set

Parameters:
score_set ScoreSet structure
impact CVSS 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 
)

cvrf_score_set

Parameters:
score_set ScoreSet structure
vector Official 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 cvrf_session.

Parameters:
session CVRF session structure to be freed

struct cvrf_index* cvrf_session_get_index ( const struct cvrf_session *  session  )  [read]

cvrf_session

Parameters:
session CVRF session structure
Returns:
CVRF index structure imported into the session, if any

struct cvrf_model* cvrf_session_get_model ( struct cvrf_session *  session  )  [read]

cvrf_session

Parameters:
session CVRF session structure
Returns:
CVRF model structure imported into the session, if any

const char* cvrf_session_get_os_name ( const struct cvrf_session *  session  ) 

cvrf_session

Parameters:
session CVRF session structure
Returns:
CPE used to evaluate the CVRF model(s)

struct oscap_string_iterator* cvrf_session_get_product_ids ( struct cvrf_session *  session  )  [read]

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

Parameters:
session CVRF 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  )  [read]

cvrf_session

Parameters:
source OSCAP 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  )  [read]

cvrf_session

Parameters:
source OSCAP 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 cvrf_session.

Parameters:
session CVRF session structure
index CVRF 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 cvrf_session.

Parameters:
session CVRF session structure
model CVRF 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 cvrf_session.

Parameters:
session CVRF session structure
os_name CPE name to be added to the Session structure
Returns:
true on success

struct cvrf_threat* cvrf_threat_clone ( const struct cvrf_threat *  threat  )  [read]

cvrf_threat

Parameters:
threat Original 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 cvrf_threat.

Parameters:
threat The CVRF Threat structure to be freed

const char* cvrf_threat_get_date ( const struct cvrf_threat *  threat  ) 

cvrf_threat

Parameters:
threat CVRF 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  ) 

cvrf_threat

Parameters:
threat CVRF 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  )  [read]

cvrf_threat

Parameters:
threat Threat 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  )  [read]

cvrf_threat

Parameters:
threat Threat 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

void cvrf_threat_iterator_free ( struct cvrf_threat_iterator *  it  ) 

Deallocate memory for the CVRF Threat Iterator structure cvrf_threat_iterator.

Parameters:
it CVRF Threat iterator structure

bool cvrf_threat_iterator_has_more ( struct cvrf_threat_iterator *  it  ) 

cvrf_threat_iterator

Parameters:
it CVRF Threat iterator structure
Returns:
true if the iterator has another Threat element left

struct cvrf_threat* cvrf_threat_iterator_next ( struct cvrf_threat_iterator *  it  )  [read]

cvrf_threat_iterator

Parameters:
it CVRF Threat iterator structure
Returns:
Next CVRF Threat in list of all Threats in the Vulnerability

void cvrf_threat_iterator_remove ( struct cvrf_threat_iterator *  it  ) 

Detaches and frees the Threat iterator structure cvrf_threat_iterator.

Parameters:
it CVRF Threat iterator structure

void cvrf_threat_iterator_reset ( struct cvrf_threat_iterator *  it  ) 

Restart iterator at the first Threat in the Vulnerability cvrf_threat_iterator.

Parameters:
it CVRF Threat iterator structure

struct cvrf_threat* cvrf_threat_new ( void   )  [read]

New CVRF Threat element cvrf_threat.

Returns:
New CVRF Threat structure

bool cvrf_threat_set_date ( struct cvrf_threat *  threat,
const char *  date 
)

cvrf_threat

Parameters:
threat CVRF Threat structure
date Datetime that the Threat was identified and documented
Returns:
true on success

bool cvrf_threat_set_description ( struct cvrf_threat *  threat,
const char *  description 
)

cvrf_threat

Parameters:
threat CVRF Threat structure
description A 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 
)

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
vuln CVRF 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 
)

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
involvement CVRF 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 
)

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
vuln CVRF 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 
)

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
vuln CVRF 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 
)

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
vuln CVRF 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 
)

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
vulnerability_cwe CWE structure to be added to the Vulnerability
Returns:
true on success

struct cvrf_vulnerability* cvrf_vulnerability_clone ( const struct cvrf_vulnerability *  vuln  )  [read]

cvrf_vulnerability

Parameters:
vuln Original 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  )  [read]

cvrf_vulnerability_cwe

Parameters:
cwe Original 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 cvrf_vulnerability_cwe.

Parameters:
cwe The CWE structure to be freed

const char* cvrf_vulnerability_cwe_get_cwe ( const struct cvrf_vulnerability_cwe *  vuln_cwe  ) 

cvrf_vulnerability_cwe

Parameters:
vuln_cwe CWE structure
Returns:
contents of a the CWE element

const char* cvrf_vulnerability_cwe_get_id ( const struct cvrf_vulnerability_cwe *  vuln_cwe  ) 

cvrf_vulnerability_cwe

Parameters:
vuln_cwe CWE structure
Returns:
ID attribute of a CWE element

void cvrf_vulnerability_cwe_iterator_free ( struct cvrf_vulnerability_cwe_iterator *  it  ) 

Deallocate memory for the CWE Iterator structure cvrf_vulnerability_cwe_iterator.

Parameters:
it CWE iterator structure

bool cvrf_vulnerability_cwe_iterator_has_more ( struct cvrf_vulnerability_cwe_iterator *  it  ) 

cvrf_vulnerability_cwe_iterator

Parameters:
it CWE iterator structure
Returns:
true if the iterator has another CWE element left

struct cvrf_vulnerability_cwe* cvrf_vulnerability_cwe_iterator_next ( struct cvrf_vulnerability_cwe_iterator *  it  )  [read]

cvrf_vulnerability_cwe_iterator

Parameters:
it CWE iterator structure
Returns:
Next CWE in list of all CWEs in the Vulnerability

void cvrf_vulnerability_cwe_iterator_remove ( struct cvrf_vulnerability_cwe_iterator *  it  ) 

Detaches and frees the CWE iterator structure cvrf_vulnerability_cwe_iterator.

Parameters:
it CWE iterator structure

void cvrf_vulnerability_cwe_iterator_reset ( struct cvrf_vulnerability_cwe_iterator *  it  ) 

Restart iterator at the first CWE in the Vulnerability cvrf_vulnerability_cwe_iterator.

Parameters:
it CWE iterator structure

struct cvrf_vulnerability_cwe* cvrf_vulnerability_cwe_new ( void   )  [read]

New CVRF CWE structure cvrf_vulnerability_cwe.

Returns:
New CWE structure

bool cvrf_vulnerability_cwe_set_cwe ( struct cvrf_vulnerability_cwe *  vuln_cwe,
const char *  cwe 
)

cvrf_vulnerability_cwe

Parameters:
vuln_cwe CWE structure
cwe CWE 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 
)

cvrf_vulnerability_cwe

Parameters:
vuln_cwe CWE structure
id Unique identifier for a CWE
Returns:
true on success

int cvrf_vulnerability_filter_by_product ( struct cvrf_vulnerability *  vuln,
const char *  prod 
)

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure to be filtered
prod ProductID 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 cvrf_vulnerability.

Parameters:
vulnerability The CVRF Vulnerability structure to be freed

struct oscap_iterator* cvrf_vulnerability_get_acknowledgments ( struct cvrf_vulnerability *  vuln  )  [read]

cvrf_vulnerability

Parameters:
vuln CVRF 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  ) 

cvrf_vulnerability

Parameters:
vuln CVRF 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  ) 

cvrf_vulnerability

Parameters:
vuln CVRF 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  )  [read]

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
Returns:
Iterator representing list of all Involvements in the Vulnerability

struct oscap_iterator* cvrf_vulnerability_get_notes ( struct cvrf_vulnerability *  vuln  )  [read]

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
Returns:
Iterator for the list of Note elements in the Notes container

int cvrf_vulnerability_get_ordinal ( const struct cvrf_vulnerability *  vuln  ) 

cvrf_vulnerability

Parameters:
vuln CVRF 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  )  [read]

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
Returns:
Iterator representing list of all Statuses in the Vulnerability

struct oscap_iterator* cvrf_vulnerability_get_references ( struct cvrf_vulnerability *  vuln  )  [read]

cvrf_vulnerability

Parameters:
vuln CVRF 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  ) 

cvrf_vulnerability

Parameters:
vuln CVRF 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  )  [read]

cvrf_vulnerability

Parameters:
vuln CVRF 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  )  [read]

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
Returns:
Iterator representing list of all ScoreSets in the Vulnerability

const char* cvrf_vulnerability_get_system_id ( const struct cvrf_vulnerability *  vuln  ) 

cvrf_vulnerability

Parameters:
vuln CVRF 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  ) 

cvrf_vulnerability

Parameters:
vuln CVRF 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  )  [read]

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
Returns:
Iterator representing list of all Threats in the Vulnerability

const char* cvrf_vulnerability_get_title ( const struct cvrf_vulnerability *  vuln  ) 

cvrf_vulnerability

Parameters:
vuln CVRF 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  )  [read]

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
Returns:
Iterator representing list of all CWEs in the Vulnerability

void cvrf_vulnerability_iterator_free ( struct cvrf_vulnerability_iterator *  it  ) 

Deallocate memory for the CVRF Vulnerability Iterator structure cvrf_vulnerability_iterator.

Parameters:
it CVRF Vulnerability iterator structure

bool cvrf_vulnerability_iterator_has_more ( struct cvrf_vulnerability_iterator *  it  ) 

cvrf_vulnerability_iterator

Parameters:
it CVRF Vulnerability iterator structure
Returns:
true if the iterator has another Vulnerability element left

struct cvrf_vulnerability* cvrf_vulnerability_iterator_next ( struct cvrf_vulnerability_iterator *  it  )  [read]

cvrf_vulnerability_iterator

Parameters:
it CVRF Vulnerability iterator structure
Returns:
Next CVRF Vulnerability in list of all Vulnerabilities in the document

void cvrf_vulnerability_iterator_remove ( struct cvrf_vulnerability_iterator *  it  ) 

Detaches and frees the Vulnerability iterator structure cvrf_vulnerability_iterator.

Parameters:
it CVRF Vulnerability iterator structure

void cvrf_vulnerability_iterator_reset ( struct cvrf_vulnerability_iterator *  it  ) 

Restart iterator at the first Vulnerability in the document cvrf_vulnerability_iterator.

Parameters:
it CVRF Vulnerability iterator structure

struct cvrf_vulnerability* cvrf_vulnerability_new ( void   )  [read]

New CVRF Vulnerability cvrf_vulnerability.

Returns:
New CVRF Vulnerability

bool cvrf_vulnerability_set_cve_id ( struct cvrf_vulnerability *  vuln,
const char *  cve_id 
)

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
cve_id MITRE 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 
)

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
Original discovery time for this Vulnerability
Returns:
true on success

bool cvrf_vulnerability_set_ordinal ( struct cvrf_vulnerability *  vuln,
int  ordinal 
)

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
ordinal Index 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 
)

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
release_date Original public release time for this Vulnerability
Returns:
true on success

bool cvrf_vulnerability_set_system_id ( struct cvrf_vulnerability *  vuln,
const char *  id 
)

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
id Unique 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 
)

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
sys_name Name or numbering system of the Vulnerability ID
Returns:
true on success

bool cvrf_vulnerability_set_title ( struct cvrf_vulnerability *  vuln,
const char *  vulnerability_title 
)

cvrf_vulnerability

Parameters:
vuln CVRF Vulnerability structure
vulnerability_title Canonical 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 cvrf_product_tree.

Parameters:
tree ProductTree structure to be searched
cpe CPE string in the FullProductName element used to get the ProductID
Returns:
ProductID for the given CPE


Generated on Tue Nov 14 12:19:01 2017 for Open SCAP Library by  doxygen 1.5.6