summaryrefslogtreecommitdiff
path: root/guix/cve.scm
AgeCommit message (Expand)Author
2018-08-26cve: Update feed URL....* guix/cve.scm (yearly-feed-uri): Remove "static." from the URL since the web site now redirects to the URL without "static.". Ludovic Courtès
2017-11-16cve: Use 'http-fetch/cached' instead of having custom caching....That way CVE fetching benefits from 'If-Modified-Since' handling. * guix/http-client.scm (http-fetch/cached): Add #:write-cache and #:cache-miss parameters and honor them. * guix/cve.scm (%current-year-ttl, %past-year-ttl): Reduce. (call-with-cve-port): Remove. (write-cache): New procedure. (fetch-vulnerabilities): Rewrite in terms of 'http-fetch/cached'. Ludovic Courtès
2017-09-19cve: Disable position recording while reading the CVE list....* guix/cve.scm (fetch-vulnerabilities)[read*]: New procedure. Use it in lieu of 'read'. Ludovic Courtès
2016-05-28cve: Use a more compact format for the list of package/versions....On a warm cache, "guix lint -c cve vorbis-tools" goes down from 6.5s to 2.4s. * guix/cve.scm (cpe->package-name): Change to return two values instead of a pair. (cpe->product-alist): New procedure. (%parse-vulnerability-feed): Use it instead of 'filter-map'. (fetch-vulnerabilities): Bump sexp format version to 1. (vulnerabilities->lookup-proc): Adjust accordingly. When #:version is omitted, return a list of vulnerabilities instead of a list of version/vulnerability pairs. * tests/cve.scm (%expected-vulnerabilities) ("vulnerabilities->lookup-proc): Adjust accordingly. Ludovic Courtès
2016-05-26cve: Include the 3 previous years of vulnerabilities....* guix/cve.scm (fetch-vulnerabilities): Add 'format' call. (current-vulnerabilities): Include the 3 previous years. Ludovic Courtès
2016-05-23cve: Remove now unnecessary HTTP caching....* guix/cve.scm (call-with-cve-port): Use 'http-fetch' instead of 'http-fetch/cached'. Ludovic Courtès
2016-05-23cve: Keep a summarized sexp in cache instead of the full XML....This avoids ~20s of XML parsing when running 'guix lint -c cve'. * guix/cve.scm (vulnerability->sexp, sexp->vulnerability) (fetch-vulnerabilities): New procedures. (current-vulnerabilities): Use 'fetch-vulnerabilities'. Ludovic Courtès
2016-03-11cve: Read entire CVE databases for the current year and the past year....The "Modified" database that we were reading is much smaller, but it only shows CVEs modified over the past week. * guix/cve.scm (%now, %current-year, %past-year): New variables. (yearly-feed-uri): New procedure. (%cve-feed-uri, %ttl): Remove. (%current-year-ttl, %past-year-ttl): New variables. (call-with-cve-port): Add 'uri' and 'ttl' parameters and honor them. Add 'setvbuf' call. (current-vulnerabilities)[read-vulnerabilities]: New procedure. Read from both %LAST-YEAR and %CURRENT-YEAR. Ludovic Courtès
2016-03-11cve: Make CPE patch level part of the version string....* guix/cve.scm (%cpe-package-rx): Adjust to account for :PATCH-LEVEL. (cpe->package-name): Likewise. Ludovic Courtès
2015-11-26Add (guix cve)....* guix/cve.scm, tests/cve-sample.xml, tests/cve.scm: New files. * Makefile.am (MODULES): Add guix/cve.scm. (SCM_TESTS): Add tests/cve.scm. (EXTRA_DIST): Add tests/cve-sample.scm. Ludovic Courtès