34 #include "oscap_source.h"
680 struct cvrf_vulnerability_cwe_iterator;
702 struct cvrf_vulnerability_cwe *cvrf_vulnerability_cwe_iterator_next(
struct cvrf_vulnerability_cwe_iterator *it);
709 bool cvrf_vulnerability_cwe_iterator_has_more(
struct cvrf_vulnerability_cwe_iterator *it);
716 void cvrf_vulnerability_cwe_iterator_free(
struct cvrf_vulnerability_cwe_iterator *it);
723 void cvrf_vulnerability_cwe_iterator_reset(
struct cvrf_vulnerability_cwe_iterator *it);
730 void cvrf_vulnerability_cwe_iterator_remove(
struct cvrf_vulnerability_cwe_iterator *it);
737 struct cvrf_involvement_iterator;
759 struct cvrf_involvement *cvrf_involvement_iterator_next(
struct cvrf_involvement_iterator *it);
766 bool cvrf_involvement_iterator_has_more(
struct cvrf_involvement_iterator *it);
773 void cvrf_involvement_iterator_free(
struct cvrf_involvement_iterator *it);
780 void cvrf_involvement_iterator_reset(
struct cvrf_involvement_iterator *it);
787 void cvrf_involvement_iterator_remove(
struct cvrf_involvement_iterator *it);
794 struct cvrf_score_set_iterator;
816 struct cvrf_score_set *cvrf_score_set_iterator_next(
struct cvrf_score_set_iterator *it);
823 bool cvrf_score_set_iterator_has_more(
struct cvrf_score_set_iterator *it);
830 void cvrf_score_set_iterator_free(
struct cvrf_score_set_iterator *it);
837 void cvrf_score_set_iterator_reset(
struct cvrf_score_set_iterator *it);
844 void cvrf_score_set_iterator_remove(
struct cvrf_score_set_iterator *it);
851 struct cvrf_product_status_iterator;
873 struct cvrf_product_status *cvrf_product_status_iterator_next(
struct cvrf_product_status_iterator *it);
880 bool cvrf_product_status_iterator_has_more(
struct cvrf_product_status_iterator *it);
887 void cvrf_product_status_iterator_free(
struct cvrf_product_status_iterator *it);
894 void cvrf_product_status_iterator_reset(
struct cvrf_product_status_iterator *it);
901 void cvrf_product_status_iterator_remove(
struct cvrf_product_status_iterator *it);
908 struct cvrf_remediation_iterator;
930 struct cvrf_remediation *cvrf_remediation_iterator_next(
struct cvrf_remediation_iterator *it);
937 bool cvrf_remediation_iterator_has_more(
struct cvrf_remediation_iterator *it);
944 void cvrf_remediation_iterator_free(
struct cvrf_remediation_iterator *it);
951 void cvrf_remediation_iterator_reset(
struct cvrf_remediation_iterator *it);
958 void cvrf_remediation_iterator_remove(
struct cvrf_remediation_iterator *it);
965 struct cvrf_threat_iterator;
987 struct cvrf_threat *cvrf_threat_iterator_next(
struct cvrf_threat_iterator *it);
994 bool cvrf_threat_iterator_has_more(
struct cvrf_threat_iterator *it);
1001 void cvrf_threat_iterator_free(
struct cvrf_threat_iterator *it);
1008 void cvrf_threat_iterator_reset(
struct cvrf_threat_iterator *it);
1015 void cvrf_threat_iterator_remove(
struct cvrf_threat_iterator *it);
1372 struct cvrf_product_name_iterator;
1394 struct cvrf_product_name *cvrf_product_name_iterator_next(
struct cvrf_product_name_iterator *it);
1401 bool cvrf_product_name_iterator_has_more(
struct cvrf_product_name_iterator *it);
1408 void cvrf_product_name_iterator_free(
struct cvrf_product_name_iterator *it);
1415 void cvrf_product_name_iterator_reset(
struct cvrf_product_name_iterator *it);
1422 void cvrf_product_name_iterator_remove(
struct cvrf_product_name_iterator *it);
1429 struct cvrf_relationship_iterator;
1451 struct cvrf_relationship *cvrf_relationship_iterator_next(
struct cvrf_relationship_iterator *it);
1458 bool cvrf_relationship_iterator_has_more(
struct cvrf_relationship_iterator *it);
1465 void cvrf_relationship_iterator_free(
struct cvrf_relationship_iterator *it);
1472 void cvrf_relationship_iterator_reset(
struct cvrf_relationship_iterator *it);
1479 void cvrf_relationship_iterator_remove(
struct cvrf_relationship_iterator *it);
1487 struct cvrf_group_iterator;
1509 struct cvrf_group *cvrf_group_iterator_next(
struct cvrf_group_iterator *it);
1516 bool cvrf_group_iterator_has_more(
struct cvrf_group_iterator *it);
1523 void cvrf_group_iterator_free(
struct cvrf_group_iterator *it);
1530 void cvrf_group_iterator_reset(
struct cvrf_group_iterator *it);
1537 void cvrf_group_iterator_remove(
struct cvrf_group_iterator *it);
1930 struct cvrf_revision_iterator;
1952 struct cvrf_revision *cvrf_revision_iterator_next(
struct cvrf_revision_iterator *it);
1959 bool cvrf_revision_iterator_has_more(
struct cvrf_revision_iterator *it);
1966 void cvrf_revision_iterator_free(
struct cvrf_revision_iterator *it);
1973 void cvrf_revision_iterator_reset(
struct cvrf_revision_iterator *it);
1980 void cvrf_revision_iterator_remove(
struct cvrf_revision_iterator *it);
2367 struct cvrf_vulnerability_iterator;
2389 struct cvrf_vulnerability *cvrf_vulnerability_iterator_next(
struct cvrf_vulnerability_iterator *it);
2396 bool cvrf_vulnerability_iterator_has_more(
struct cvrf_vulnerability_iterator *it);
2403 void cvrf_vulnerability_iterator_free(
struct cvrf_vulnerability_iterator *it);
2410 void cvrf_vulnerability_iterator_reset(
struct cvrf_vulnerability_iterator *it);
2417 void cvrf_vulnerability_iterator_remove(
struct cvrf_vulnerability_iterator *it);
2485 struct cvrf_model_iterator;
2507 struct cvrf_model *cvrf_model_iterator_next(
struct cvrf_model_iterator *it);
2514 bool cvrf_model_iterator_has_more(
struct cvrf_model_iterator *it);
2521 void cvrf_model_iterator_free(
struct cvrf_model_iterator *it);
2528 void cvrf_model_iterator_reset(
struct cvrf_model_iterator *it);
2535 void cvrf_model_iterator_remove(
struct cvrf_model_iterator *it);
struct cvrf_vulnerability * cvrf_vulnerability_clone(const struct cvrf_vulnerability *vuln)
Definition: cvrf_priv.c:494
struct oscap_string_iterator * cvrf_doc_tracking_get_aliases(struct cvrf_doc_tracking *tracking)
Definition: cvrf_priv.c:1011
CVSS impact.
Definition: cvss_priv.h:81
void cvrf_score_set_free(struct cvrf_score_set *score_set)
Deallocates memory for a ScoreSet element of the CVSSScoreSets container.
Definition: cvrf_priv.c:193
bool cvrf_vulnerability_set_title(struct cvrf_vulnerability *vuln, const char *vulnerability_title)
struct cvrf_involvement * cvrf_involvement_clone(const struct cvrf_involvement *involve)
Definition: cvrf_priv.c:349
bool cvrf_product_name_set_cpe(struct cvrf_product_name *full_name, const char *cpe)
const char * cvrf_revision_get_number(const struct cvrf_revision *revision)
struct cvrf_revision_iterator * cvrf_doc_tracking_get_revision_history(const struct cvrf_doc_tracking *tracking)
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.
Definition: cvrf_priv.c:779
bool cvrf_document_set_publisher(struct cvrf_document *doc, struct cvrf_doc_publisher *publisher)
bool cvrf_reference_set_description(struct cvrf_reference *reference, const char *description)
Definition: cvrf_priv.c:361
const char * cvrf_doc_tracking_get_generator_date(const struct cvrf_doc_tracking *tracking)
struct cvrf_acknowledgment * cvrf_acknowledgment_clone(const struct cvrf_acknowledgment *ack)
Definition: cvrf_priv.c:881
struct cvrf_vulnerability_iterator * cvrf_model_get_vulnerabilities(const struct cvrf_model *model)
bool cvrf_relationship_set_product_reference(struct cvrf_relationship *relation, const char *product_reference)
const char * cvrf_relationship_get_product_reference(const struct cvrf_relationship *relation)
bool cvrf_vulnerability_add_involvement(struct cvrf_vulnerability *vuln, struct cvrf_involvement *involvement)
struct oscap_source * cvrf_model_get_export_source(struct cvrf_model *model)
Export CVRF Model to the export source as an XML doc.
Definition: cvrf.c:89
struct oscap_string_iterator * cvrf_acknowledgment_get_urls(const struct cvrf_acknowledgment *ack)
Definition: cvrf_priv.c:854
void cvrf_doc_tracking_free(struct cvrf_doc_tracking *tracking)
Deallocates memory for a DocumentTracking element.
Definition: cvrf_priv.c:1032
const char * cvrf_score_set_get_vector(const struct cvrf_score_set *score_set)
struct cvrf_product_name * cvrf_branch_get_product_name(const struct cvrf_branch *branch)
const char * cvrf_relationship_get_relates_to_ref(const struct cvrf_relationship *relation)
struct cvrf_doc_tracking * cvrf_doc_tracking_clone(const struct cvrf_doc_tracking *tracking)
Definition: cvrf_priv.c:1047
void cvrf_rpm_attributes_free(struct cvrf_rpm_attributes *attributes)
Deallocate memory for the CVRF RPM attributes structure.
Definition: cvrf_eval.c:151
const char * cvrf_index_get_source_url(const struct cvrf_index *index)
struct cvrf_reference * cvrf_reference_clone(const struct cvrf_reference *ref)
Definition: cvrf_priv.c:1148
const char * cvrf_involvement_get_description(const struct cvrf_involvement *involve)
struct oscap_string_iterator * cvrf_group_get_product_ids(struct cvrf_group *group)
Definition: cvrf_priv.c:597
General OpenScap functions and types.
bool cvrf_vulnerability_cwe_set_id(struct cvrf_vulnerability_cwe *vuln_cwe, const char *id)
struct cvrf_threat * cvrf_threat_clone(const struct cvrf_threat *threat)
Definition: cvrf_priv.c:260
struct cvrf_reference * cvrf_reference_new(void)
New CVRF Reference structure.
Definition: cvrf_priv.c:1127
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.
struct oscap_string_iterator * cvrf_threat_get_product_ids(struct cvrf_threat *threat)
Definition: cvrf_priv.c:228
bool cvrf_doc_publisher_set_issuing_authority(struct cvrf_doc_publisher *publisher, const char *issuing_authority)
bool cvrf_threat_set_description(struct cvrf_threat *threat, const char *description)
struct cvrf_note * cvrf_note_new(void)
New CVRF Note element within Notes or DocumentNotes container.
Definition: cvrf_priv.c:909
struct cvrf_relationship * cvrf_relationship_clone(const struct cvrf_relationship *relation)
Definition: cvrf_priv.c:670
Definition: cvrf_priv.c:1235
const char * cvrf_doc_publisher_get_contact_details(const struct cvrf_doc_publisher *publisher)
struct cvrf_involvement * cvrf_involvement_new(void)
New CVRF Involvement.
Definition: cvrf_priv.c:330
const char * cvrf_model_get_identification(struct cvrf_model *model)
Definition: cvrf_priv.c:1252
bool cvrf_doc_tracking_set_tracking_id(struct cvrf_doc_tracking *tracking, const char *id)
struct cvrf_product_name * cvrf_product_name_clone(const struct cvrf_product_name *full_name)
Definition: cvrf_priv.c:579
struct cvrf_vulnerability * cvrf_vulnerability_new(void)
New CVRF Vulnerability.
Definition: cvrf_priv.c:448
struct cvrf_revision * cvrf_revision_new(void)
New CVRF Revision structure.
Definition: cvrf_priv.c:955
struct cvrf_threat * cvrf_threat_new(void)
New CVRF Threat element.
Definition: cvrf_priv.c:235
void cvrf_reference_free(struct cvrf_reference *reference)
Deallocates memory for a Reference element of the References container.
Definition: cvrf_priv.c:1139
struct cvrf_vulnerability_cwe * cvrf_vulnerability_cwe_new(void)
New CVRF CWE structure.
Definition: cvrf_priv.c:368
const char * cvrf_reference_get_url(const struct cvrf_reference *reference)
bool cvrf_product_tree_add_product_name(struct cvrf_product_tree *tree, struct cvrf_product_name *full_name)
bool cvrf_vulnerability_cwe_set_cwe(struct cvrf_vulnerability_cwe *vuln_cwe, const char *cwe)
const char * cvrf_revision_get_date(const struct cvrf_revision *revision)
bool cvrf_vulnerability_set_release_date(struct cvrf_vulnerability *vuln, const char *release_date)
Definition: cvrf_priv.c:553
bool cvrf_score_set_set_impact(struct cvrf_score_set *score_set, struct cvss_impact *impact)
bool cvrf_model_add_vulnerability(struct cvrf_model *model, struct cvrf_vulnerability *vuln)
Definition: cvrf_priv.c:315
void cvrf_revision_free(struct cvrf_revision *revision)
Deallocates memory for a Revision element of the RevisionHistory container.
Definition: cvrf_priv.c:966
char * cvrf_score_set_get_temporal_score(const struct cvrf_score_set *score_set)
Definition: cvrf_priv.c:178
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 packag...
Definition: cvrf_eval.c:221
Definition: cvrf_priv.c:633
Definition: cvrf_priv.c:132
const char * cvrf_vulnerability_get_discovery_date(const struct cvrf_vulnerability *vuln)
struct oscap_iterator * cvrf_vulnerability_get_notes(struct cvrf_vulnerability *vuln)
Definition: cvrf_priv.c:443
Definition: cvrf_priv.c:398
const char * cvrf_doc_tracking_get_init_release_date(const struct cvrf_doc_tracking *tracking)
struct oscap_string_iterator * cvrf_score_set_get_product_ids(struct cvrf_score_set *score_set)
Definition: cvrf_priv.c:140
bool cvrf_session_set_index(struct cvrf_session *session, struct cvrf_index *index)
Add the CVRF index to be evaluated to the Session structure.
bool cvrf_relationship_set_product_name(struct cvrf_relationship *relation, struct cvrf_product_name *name)
const char * cvrf_model_supported(void)
Get supported version of CVRF XML.
Definition: cvrf.c:102
bool cvrf_vulnerability_add_remediation(struct cvrf_vulnerability *vuln, struct cvrf_remediation *remed)
bool cvrf_acknowledgment_set_description(struct cvrf_acknowledgment *ack, const char *description)
const char * cvrf_product_name_get_cpe(const struct cvrf_product_name *full_name)
bool cvrf_branch_set_branch_name(struct cvrf_branch *branch, const char *branch_name)
const char * cvrf_doc_tracking_get_cur_release_date(const struct cvrf_doc_tracking *tracking)
bool cvrf_doc_tracking_set_init_release_date(struct cvrf_doc_tracking *tracking, const char *init_release_date)
struct cvrf_relationship_iterator * cvrf_product_tree_get_relationships(const struct cvrf_product_tree *tree)
struct cvrf_threat_iterator * cvrf_vulnerability_get_threats(const struct cvrf_vulnerability *vuln)
bool cvrf_vulnerability_add_cvrf_product_status(struct cvrf_vulnerability *vuln, struct cvrf_product_status *stat)
bool cvrf_vulnerability_set_cve_id(struct cvrf_vulnerability *vuln, const char *cve_id)
const char * cvrf_reference_get_description(const struct cvrf_reference *reference)
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 relati...
Definition: cvrf_priv.c:810
char * cvrf_score_set_get_base_score(const struct cvrf_score_set *score_set)
Definition: cvrf_priv.c:170
void cvrf_relationship_free(struct cvrf_relationship *relationship)
Deallocates memory for a Relationship element.
Definition: cvrf_priv.c:660
bool cvrf_doc_tracking_set_version(struct cvrf_doc_tracking *tracking, const char *version)
struct cvrf_product_tree * cvrf_model_get_product_tree(struct cvrf_model *model)
Definition: cvrf_priv.c:1248
void cvrf_document_free(struct cvrf_document *doc)
Deallocates memory for the CVRF Document structure and all its child DocumentTracking, DocumentPublisher, DocumentReferences structures.
Definition: cvrf_priv.c:1203
struct cvrf_document * cvrf_document_new(void)
New CVRF Document structure.
Definition: cvrf_priv.c:1187
struct cvrf_score_set * cvrf_score_set_clone(const struct cvrf_score_set *score_set)
Definition: cvrf_priv.c:203
Definition: cvrf_priv.c:682
struct cvrf_model_iterator * cvrf_index_get_models(const struct cvrf_index *index)
const char * cvrf_vulnerability_get_cve_id(const struct cvrf_vulnerability *vuln)
const char * cvrf_remediation_get_entitlement(const struct cvrf_remediation *remed)
void cvrf_session_free(struct cvrf_session *session)
Deallocates memory for a CVRF Session structure.
Definition: cvrf_eval.c:116
bool cvrf_group_set_description(struct cvrf_group *group, const char *description)
struct cvrf_product_tree * cvrf_product_tree_new(void)
New ProductTree structure.
Definition: cvrf_priv.c:767
struct oscap_string_iterator * cvrf_acknowledgment_get_names(const struct cvrf_acknowledgment *ack)
Definition: cvrf_priv.c:846
const char * cvrf_rpm_attributes_get_full_package_name(const struct cvrf_rpm_attributes *attributes)
const char * cvrf_doc_tracking_get_version(const struct cvrf_doc_tracking *tracking)
const char * cvrf_remediation_get_description(const struct cvrf_remediation *remed)
struct cvrf_acknowledgment * cvrf_acknowledgment_new(void)
New CVRF Acknowledgment element within Acknowledgments container.
Definition: cvrf_priv.c:858
struct cvrf_product_name * cvrf_product_name_new(void)
New FullProductName of Branch or ProductTree.
Definition: cvrf_priv.c:560
bool cvrf_product_name_set_product_id(struct cvrf_product_name *full_name, const char *product_id)
struct oscap_iterator * cvrf_document_get_notes(struct cvrf_document *doc)
Definition: cvrf_priv.c:1175
bool cvrf_document_set_doc_distribution(struct cvrf_document *doc, const char *distribution)
bool cvrf_vulnerability_set_system_name(struct cvrf_vulnerability *vuln, const char *sys_name)
bool cvrf_document_set_tracking(struct cvrf_document *doc, struct cvrf_doc_tracking *track)
void cvrf_involvement_free(struct cvrf_involvement *involve)
Deallocates memory for an Involvement element.
Definition: cvrf_priv.c:341
struct oscap_iterator * cvrf_branch_get_subbranches(struct cvrf_branch *branch)
Definition: cvrf_priv.c:691
bool cvrf_revision_set_number(struct cvrf_revision *revision, const char *number)
struct cvrf_remediation * cvrf_remediation_clone(const struct cvrf_remediation *remed)
Definition: cvrf_priv.c:116
bool cvrf_score_set_add_metric(struct cvrf_score_set *score_set, enum cvss_category category, const char *score)
Definition: cvrf_priv.c:144
int cvrf_vulnerability_filter_by_product(struct cvrf_vulnerability *vuln, const char *prod)
Definition: cvrf_priv.c:514
struct cvrf_doc_publisher * cvrf_doc_publisher_new(void)
New CVRF DocumentPublisher structure.
Definition: cvrf_priv.c:1079
struct cvrf_group_iterator * cvrf_product_tree_get_product_groups(const struct cvrf_product_tree *tree)
const char * cvrf_threat_get_date(const struct cvrf_threat *threat)
bool cvrf_index_set_source_url(struct cvrf_index *index, const char *url)
Definition: cvrf_priv.c:1309
struct oscap_string_iterator * cvrf_session_get_product_ids(struct cvrf_session *session)
After filtering the CVRF model structure by the CPE, all the ProductIDs related to that operating sys...
Definition: cvrf_eval.c:78
struct cvrf_product_status_iterator * cvrf_vulnerability_get_product_statuses(const struct cvrf_vulnerability *vuln)
Definition: cvrf_priv.c:589
struct cvrf_model * cvrf_session_get_model(struct cvrf_session *session)
Definition: cvrf_eval.c:81
int cvrf_note_get_ordinal(const struct cvrf_note *note)
Definition: cvrf_priv.c:1115
struct oscap_iterator * cvrf_document_get_acknowledgments(struct cvrf_document *doc)
Definition: cvrf_priv.c:1183
const char * cvrf_remediation_get_url(const struct cvrf_remediation *remed)
const char * cvrf_model_get_doc_title(const struct cvrf_model *model)
bool cvrf_remediation_set_url(struct cvrf_remediation *remed, const char *url)
struct cvrf_product_tree * cvrf_product_tree_clone(const struct cvrf_product_tree *tree)
Definition: cvrf_priv.c:790
bool cvrf_doc_tracking_set_generator_engine(struct cvrf_doc_tracking *tracking, const char *generator_engine)
bool cvrf_model_set_document(struct cvrf_model *model, struct cvrf_document *doc)
struct cvrf_branch * cvrf_branch_new(void)
New CVRF branch of ProductTree or sub-branch.
Definition: cvrf_priv.c:699
struct cvrf_model * cvrf_model_import(struct oscap_source *source)
Parses the specified XML file and creates a list of CVRF data structures.
Definition: cvrf.c:58
bool cvrf_vulnerability_set_system_id(struct cvrf_vulnerability *vuln, const char *id)
const char * cvrf_group_get_group_id(const struct cvrf_group *group)
void cvrf_product_status_free(struct cvrf_product_status *status)
Deallocates memory for a Status element of the ProductStatuses container.
Definition: cvrf_priv.c:296
void cvrf_group_free(struct cvrf_group *group)
Deallocates memory for a Group element.
Definition: cvrf_priv.c:612
struct cvrf_product_status * cvrf_product_status_clone(const struct cvrf_product_status *stat)
Definition: cvrf_priv.c:304
struct oscap_string_iterator * cvrf_remediation_get_group_ids(struct cvrf_remediation *remed)
Definition: cvrf_priv.c:84
int cvrf_vulnerability_get_ordinal(const struct cvrf_vulnerability *vuln)
struct cvrf_model * cvrf_model_new(void)
New CVRF model.
Definition: cvrf_priv.c:1257
bool cvrf_remediation_set_date(struct cvrf_remediation *remed, const char *date)
bool cvrf_product_tree_add_group(struct cvrf_product_tree *tree, struct cvrf_group *group)
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.
char * cvrf_score_set_get_environmental_score(const struct cvrf_score_set *score_set)
Definition: cvrf_priv.c:174
const char * cvrf_doc_tracking_get_generator_engine(const struct cvrf_doc_tracking *tracking)
Definition: cvrf_priv.c:838
struct cvrf_involvement_iterator * cvrf_vulnerability_get_involvements(const struct cvrf_vulnerability *vuln)
struct cvrf_group * cvrf_group_clone(const struct cvrf_group *group)
Definition: cvrf_priv.c:622
struct oscap_iterator * cvrf_vulnerability_get_references(struct cvrf_vulnerability *vuln)
Definition: cvrf_priv.c:435
struct cvrf_session * cvrf_session_new_from_source_index(struct oscap_source *source)
Definition: cvrf_eval.c:102
Definition: cvrf_priv.c:1065
struct cvrf_session * cvrf_session_new_from_source_model(struct oscap_source *source)
Definition: cvrf_eval.c:88
const char * cvrf_note_get_audience(const struct cvrf_note *note)
void cvrf_product_name_free(struct cvrf_product_name *full_name)
Deallocates memory for a FullProductName element.
Definition: cvrf_priv.c:570
bool cvrf_revision_set_description(struct cvrf_revision *revision, const char *description)
bool cvrf_vulnerability_add_score_set(struct cvrf_vulnerability *vuln, struct cvrf_score_set *score_set)
struct cvrf_revision * cvrf_revision_clone(const struct cvrf_revision *revision)
Definition: cvrf_priv.c:976
struct cvrf_doc_publisher * cvrf_doc_publisher_clone(const struct cvrf_doc_publisher *publisher)
Definition: cvrf_priv.c:1101
bool cvrf_index_add_model(struct cvrf_index *index, struct cvrf_model *model)
bool cvrf_vulnerability_add_vulnerability_cwe(struct cvrf_vulnerability *vuln, struct cvrf_vulnerability_cwe *vulnerability_cwe)
const char * cvrf_threat_get_description(const struct cvrf_threat *threat)
struct oscap_iterator * cvrf_document_get_references(struct cvrf_document *doc)
Definition: cvrf_priv.c:1179
struct oscap_string_iterator * cvrf_threat_get_group_ids(struct cvrf_threat *threat)
Definition: cvrf_priv.c:231
Definition: oscap_source.c:62
bool cvrf_doc_tracking_set_generator_date(struct cvrf_doc_tracking *tracking, const char *generator_date)
const char * cvrf_revision_get_description(const struct cvrf_revision *revision)
cvss_category
CVSS score category.
Definition: cvss_score.h:47
struct oscap_string_iterator * cvrf_acknowledgment_get_organizations(const struct cvrf_acknowledgment *ack)
Definition: cvrf_priv.c:850
void cvrf_remediation_free(struct cvrf_remediation *remed)
Deallocates memory for a Remediation element of the Remediations container.
Definition: cvrf_priv.c:103
Definition: cvrf_priv.c:946
const char * cvrf_vulnerability_cwe_get_cwe(const struct cvrf_vulnerability_cwe *vuln_cwe)
const char * cvrf_acknowledgment_get_description(const struct cvrf_acknowledgment *ack)
struct cvrf_product_name * cvrf_relationship_get_product_name(const struct cvrf_relationship *relation)
const char * cvrf_note_get_contents(const struct cvrf_note *note)
bool cvrf_vulnerability_set_discovery_date(struct cvrf_vulnerability *vuln, const char *discovery_date)
bool cvrf_revision_set_date(struct cvrf_revision *revision, const char *date)
void cvrf_branch_free(struct cvrf_branch *branch)
Deallocates memory for a Branch element.
Definition: cvrf_priv.c:711
struct cvrf_rpm_attributes * cvrf_rpm_attributes_new(void)
Create a new CVRF RPM attributes structure.
Definition: cvrf_eval.c:140
const char * cvrf_model_get_doc_type(const struct cvrf_model *model)
struct cvrf_product_name_iterator * cvrf_product_tree_get_product_names(const struct cvrf_product_tree *tree)
const char * cvrf_group_get_description(const struct cvrf_group *group)
const char * cvrf_index_get_index_file(const struct cvrf_index *index)
const char * cvrf_session_get_os_name(const struct cvrf_session *session)
bool cvrf_model_set_doc_title(struct cvrf_model *model, const char *doc_title)
void cvrf_threat_free(struct cvrf_threat *threat)
Deallocates memory for a Threat element of the Threats container.
Definition: cvrf_priv.c:249
struct cvrf_index * cvrf_index_clone(const struct cvrf_index *index)
Definition: cvrf_priv.c:1340
void cvrf_acknowledgment_free(struct cvrf_acknowledgment *ack)
Deallocates memory for an Acknowledgment element of the Acknowledgments container.
Definition: cvrf_priv.c:870
bool cvrf_group_set_group_id(struct cvrf_group *group, const char *group_id)
void cvrf_vulnerability_free(struct cvrf_vulnerability *vulnerability)
Deallocates memory for a Vulnerability element.
Definition: cvrf_priv.c:472
void cvrf_index_free(struct cvrf_index *index)
Deallocates memory for the CVRF Index structure and all the Models it contains.
Definition: cvrf_priv.c:1330
bool cvrf_doc_publisher_set_vendor_id(struct cvrf_doc_publisher *publisher, const char *vendor_id)
struct cvrf_score_set * cvrf_score_set_new(void)
New ScoreSet member of a CVSSScoreSets container within a Vulnerability element.
Definition: cvrf_priv.c:182
struct cvrf_vulnerability_cwe * cvrf_vulnerability_cwe_clone(const struct cvrf_vulnerability_cwe *cwe)
Definition: cvrf_priv.c:387
const char * cvrf_doc_publisher_get_issuing_authority(const struct cvrf_doc_publisher *publisher)
bool cvrf_relationship_set_relates_to_ref(struct cvrf_relationship *relation, const char *relates_to_ref)
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...
const char * cvrf_remediation_get_date(const struct cvrf_remediation *remed)
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 ...
Definition: cvrf.c:46
bool cvrf_doc_tracking_add_revision(struct cvrf_doc_tracking *tracking, struct cvrf_revision *revision)
const char * cvrf_doc_publisher_get_vendor_id(const struct cvrf_doc_publisher *publisher)
const char * cvrf_document_get_aggregate_severity(const struct cvrf_document *doc)
Interface to Common Vulnerability Scoring System Version 2.
bool cvrf_note_set_ordinal(struct cvrf_note *note, int ordinal)
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 packag...
Definition: cvrf_eval.c:249
const char * cvrf_doc_tracking_get_tracking_id(const struct cvrf_doc_tracking *tracking)
const char * cvrf_document_get_doc_distribution(const struct cvrf_document *doc)
struct cvrf_index * cvrf_index_new(void)
New index structure holding all CVRF models.
Definition: cvrf_priv.c:1319
const char * cvrf_vulnerability_get_title(const struct cvrf_vulnerability *vuln)
struct cvrf_doc_publisher * cvrf_document_get_publisher(const struct cvrf_document *doc)
bool cvrf_note_set_contents(struct cvrf_note *note, const char *contents)
bool cvrf_vulnerability_add_threat(struct cvrf_vulnerability *vuln, struct cvrf_threat *threat)
bool cvrf_threat_set_date(struct cvrf_threat *threat, const char *date)
bool cvrf_rpm_attributes_set_rpm_name(struct cvrf_rpm_attributes *attributes, const char *rpm_name)
struct cvss_impact * cvrf_score_set_get_impact(const struct cvrf_score_set *score_set)
const char * cvrf_vulnerability_get_release_date(const struct cvrf_vulnerability *vuln)
struct cvrf_remediation_iterator * cvrf_vulnerability_get_remediations(const struct cvrf_vulnerability *vuln)
Definition: cvrf_priv.c:750
struct cvrf_remediation * cvrf_remediation_new(void)
New CVRF Remediation.
Definition: cvrf_priv.c:88
const char * cvrf_document_get_namespace(const struct cvrf_document *doc)
struct cvrf_model * cvrf_model_clone(const struct cvrf_model *model)
Definition: cvrf_priv.c:1282
void cvrf_vulnerability_cwe_free(struct cvrf_vulnerability_cwe *cwe)
Deallocates memory for a CWE element.
Definition: cvrf_priv.c:378
struct cvrf_document * cvrf_model_get_document(const struct cvrf_model *model)
struct cvrf_doc_tracking * cvrf_doc_tracking_new(void)
New CVRF DocumentTracking structure.
Definition: cvrf_priv.c:1015
bool cvrf_doc_publisher_set_contact_details(struct cvrf_doc_publisher *publisher, const char *contact_details)
Definition: cvrf_priv.c:893
Definition: cvrf_eval.c:67
Definition: cvrf_priv.c:987
struct cvrf_vulnerability_cwe_iterator * cvrf_vulnerability_get_vulnerability_cwes(const struct cvrf_vulnerability *vuln)
const char * cvrf_note_get_title(const struct cvrf_note *note)
struct oscap_iterator * cvrf_vulnerability_get_acknowledgments(struct cvrf_vulnerability *vuln)
Definition: cvrf_priv.c:439
struct cvrf_branch * cvrf_branch_clone(const struct cvrf_branch *branch)
Definition: cvrf_priv.c:721
struct cvrf_document * cvrf_document_clone(const struct cvrf_document *doc)
Definition: cvrf_priv.c:1218
const char * cvrf_vulnerability_get_system_id(const struct cvrf_vulnerability *vuln)
Definition: cvrf_priv.c:1159
const char * cvrf_vulnerability_cwe_get_id(const struct cvrf_vulnerability_cwe *vuln_cwe)
const char * cvrf_vulnerability_get_system_name(const struct cvrf_vulnerability *vuln)
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 ...
Definition: cvrf_priv.c:1292
bool cvrf_vulnerability_set_ordinal(struct cvrf_vulnerability *vuln, int ordinal)
struct cvrf_relationship * cvrf_relationship_new(void)
New CVRF Relationship element within ProductTree.
Definition: cvrf_priv.c:647
bool cvrf_rpm_attributes_set_full_package_name(struct cvrf_rpm_attributes *attributes, const char *full_package)
struct oscap_string_iterator * cvrf_product_status_get_ids(struct cvrf_product_status *stat)
Definition: cvrf_priv.c:279
void cvrf_doc_publisher_free(struct cvrf_doc_publisher *publisher)
Deallocates memory for a DocumentPublisher element.
Definition: cvrf_priv.c:1091
bool cvrf_note_set_title(struct cvrf_note *note, const char *title)
struct cvrf_index * cvrf_session_get_index(const struct cvrf_session *session)
struct oscap_source * cvrf_index_get_export_source(struct cvrf_index *index)
Export CVRF Index to the export source as an XML doc.
Definition: cvrf.c:76
bool cvrf_remediation_set_entitlement(struct cvrf_remediation *remed, const char *entitlement)
bool cvrf_rpm_attributes_set_evr_format(struct cvrf_rpm_attributes *attributes, const char *evr_format)
void cvrf_session_set_model(struct cvrf_session *session, struct cvrf_model *model)
Add the CVRF model to be evaluated to the Session structure.
Definition: cvrf_eval.c:84
bool cvrf_note_set_audience(struct cvrf_note *note, const char *audience)
Definition: cvrf_eval.c:130
bool cvrf_document_set_namespace(struct cvrf_document *doc, const char *ns)
void cvrf_model_free(struct cvrf_model *cvrf)
Deallocates memory for the CVRF Model structure and all its child elements.
Definition: cvrf_priv.c:1270
bool cvrf_product_tree_add_relationship(struct cvrf_product_tree *tree, struct cvrf_relationship *relation)
const char * cvrf_branch_get_branch_name(const struct cvrf_branch *branch)
bool cvrf_branch_set_product_name(struct cvrf_branch *branch, struct cvrf_product_name *name)
Definition: cvrf_priv.c:274
struct cvrf_doc_tracking * cvrf_document_get_tracking(const struct cvrf_document *doc)
bool cvrf_model_set_doc_type(struct cvrf_model *model, const char *doc_type)
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 Pr...
Definition: cvrf_priv.c:799
bool cvrf_index_set_index_file(struct cvrf_index *index, const char *index_file)
struct cvrf_note * cvrf_note_clone(const struct cvrf_note *note)
Definition: cvrf_priv.c:932
bool cvrf_involvement_set_description(struct cvrf_involvement *involve, const char *description)
void cvrf_note_free(struct cvrf_note *note)
Deallocates memory for a Note element of the Notes container.
Definition: cvrf_priv.c:922
bool cvrf_score_set_set_vector(struct cvrf_score_set *score_set, const char *vector)
struct oscap_string_iterator * cvrf_remediation_get_product_ids(struct cvrf_remediation *remed)
Definition: cvrf_priv.c:81
bool cvrf_doc_tracking_set_cur_release_date(struct cvrf_doc_tracking *tracking, const char *cur_release_date)
bool cvrf_reference_set_url(struct cvrf_reference *reference, const char *url)
struct cvrf_score_set_iterator * cvrf_vulnerability_get_score_sets(const struct cvrf_vulnerability *vuln)
struct cvrf_group * cvrf_group_new(void)
New CVRF Group child of ProductGroups container element.
Definition: cvrf_priv.c:601
const char * cvrf_product_name_get_product_id(const struct cvrf_product_name *full_name)
bool cvrf_remediation_set_description(struct cvrf_remediation *remed, const char *description)
bool cvrf_document_set_aggregate_severity(struct cvrf_document *doc, const char *severity)
Definition: cvrf_priv.c:215
struct cvrf_product_status * cvrf_product_status_new(void)
New Status member of a ProductStatuses container within a Vulnerability element.
Definition: cvrf_priv.c:286