;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
(define-module (guix cve)
#:use-module (guix utils)
#:use-module (guix http-client)
- #:use-module (guix json)
#:use-module (guix i18n)
+ #:use-module ((guix diagnostics) #:select (formatted-message))
#:use-module (json)
#:use-module (web uri)
#:use-module (srfi srfi-1)
cve-id
cve-data-type
cve-data-format
- cvs-references
+ cve-references
cve-reference?
cve-reference-url
"data_type" string->symbol)
(data-format cve-data-format ;'MITRE
"data_format" string->symbol)
- (references cve-item-references ;list of <cve-reference>
+ (references cve-references ;list of <cve-reference>
"references" reference-data->cve-references))
(define-json-mapping <cve-reference> cve-reference cve-reference?
(raise (condition (&message
(message "invalid CVE feed")))))
(unless (equal? format "MITRE")
- (raise (condition
- (&message
- (message (format #f (G_ "unsupported CVE format: '~a'")
- format))))))
+ (raise (formatted-message (G_ "unsupported CVE format: '~a'")
+ format)))
(unless (equal? version "4.0")
- (raise (condition
- (&message
- (message (format #f (G_ "unsupported CVE data version: '~a'")
- version))))))
+ (raise (formatted-message (G_ "unsupported CVE data version: '~a'")
+ version)))
(map json->cve-item
(vector->list (assoc-ref alist "CVE_Items")))))