<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/tests/cve.scm, branch master</title>
<subtitle>Transactional package manager, declarative GNU/Linux distribution, reproducible deployment tool, and more! https://guix.gnu.org</subtitle>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/'/>
<entry>
<title>cve: Upgrade to JSON 2.0 feeds.</title>
<updated>2025-08-31T10:39:24+00:00</updated>
<author>
<name>Nicolas Graves</name>
<email>ngraves@ngraves.fr</email>
</author>
<published>2025-08-26T11:17:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=d431f4620a4c077383e1168f932e86c99ae33834'/>
<id>d431f4620a4c077383e1168f932e86c99ae33834</id>
<content type='text'>
Fixes guix/guix#2213.  The 1.1-formatted-data is no longer available
from NIST.

* guix/cve.scm (string-&gt;date*, &lt;cve-item&gt;,
reference-data-&gt;cve-configuration, cpe-match-&gt;cve-configuration,
configuration-data-&gt;cve-configurations, json-&gt;cve-items,
yearly-feed-uri, cve-item-&gt;vulnerability): Upgrade to JSON 2.0 feeds
schema.
(&lt;cve&gt;): Remove uneeded record.
* tests/cve-sample.json: Update them. Remove CVE-2019-0005 (no value
added, lots of lines).
* tests/cve.scm (%expected-vulnerabilities): Upgrade accordingly.
(json-&gt;cve-items, vulnerabilities-&gt;lookup-proc tests): Update accordingly.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes guix/guix#2213.  The 1.1-formatted-data is no longer available
from NIST.

* guix/cve.scm (string-&gt;date*, &lt;cve-item&gt;,
reference-data-&gt;cve-configuration, cpe-match-&gt;cve-configuration,
configuration-data-&gt;cve-configurations, json-&gt;cve-items,
yearly-feed-uri, cve-item-&gt;vulnerability): Upgrade to JSON 2.0 feeds
schema.
(&lt;cve&gt;): Remove uneeded record.
* tests/cve-sample.json: Update them. Remove CVE-2019-0005 (no value
added, lots of lines).
* tests/cve.scm (%expected-vulnerabilities): Upgrade accordingly.
(json-&gt;cve-items, vulnerabilities-&gt;lookup-proc tests): Update accordingly.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cve: Add cpe-vendor and lint-hidden-cpe-vendors properties.</title>
<updated>2025-06-23T04:31:09+00:00</updated>
<author>
<name>Nicolas Graves via Guix-patches via</name>
<email>guix-patches@gnu.org</email>
</author>
<published>2024-11-24T20:16:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=229674573cd3d2d2006acec7a6dc0d2a39f987df'/>
<id>229674573cd3d2d2006acec7a6dc0d2a39f987df</id>
<content type='text'>
* guix/cve.scm: Exploit cpe vendors information.
(cpe-&gt;package-name): Rename to...
(cpe-&gt;package-identifier): Renamed from cpe-&gt;package-name. Use
cpe_vendor:cpe_name in place or cpe_name.
(vulnerabily-matches?): Add helper function.
(vulnerabilities-&gt;lookup-proc): Extract cpe_name for table
hashes. Add vendor and hidden-vendor arguments. Adapt condition to
pass vulnerabilities to result in the fold.
(write-cache, fetch-vulnerabilities): Update the format version.

* guix/lint.scm (package-vulnerabilities): Use additional arguments
from vulnerabilities-&gt;lookup-proc.

* tests/cve.scm (%expected-vulnerabilities): Adapt variable to changes
in guix/cve.scm.

Signed-off-by: Zheng Junjie &lt;z572@z572.online&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/cve.scm: Exploit cpe vendors information.
(cpe-&gt;package-name): Rename to...
(cpe-&gt;package-identifier): Renamed from cpe-&gt;package-name. Use
cpe_vendor:cpe_name in place or cpe_name.
(vulnerabily-matches?): Add helper function.
(vulnerabilities-&gt;lookup-proc): Extract cpe_name for table
hashes. Add vendor and hidden-vendor arguments. Adapt condition to
pass vulnerabilities to result in the fold.
(write-cache, fetch-vulnerabilities): Update the format version.

* guix/lint.scm (package-vulnerabilities): Use additional arguments
from vulnerabilities-&gt;lookup-proc.

* tests/cve.scm (%expected-vulnerabilities): Adapt variable to changes
in guix/cve.scm.

Signed-off-by: Zheng Junjie &lt;z572@z572.online&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cve: Rewrite to read the JSON feed instead of the XML feed.</title>
<updated>2019-10-23T14:40:17+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-10-20T20:10:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=74afaa37d5dec1a9d1b83951529ba69d8947fb07'/>
<id>74afaa37d5dec1a9d1b83951529ba69d8947fb07</id>
<content type='text'>
The XML feed was discontinued on Oct. 16th, 2019:

  &lt;https://nvd.nist.gov/General/News/XML-Vulnerability-Feed-Retirement-Phase-3&gt;

* guix/cve.scm (string-&gt;date*): New procedure.
(&lt;cve-item&gt;, &lt;cve&gt;, &lt;cve-reference&gt;): New record types.
(cpe-match-&gt;cve-configuration, configuration-data-&gt;cve-configurations)
(json-&gt;cve-items, version-matches?): New procedures.
(yearly-feed-uri): Change URL to refer to JSON feed.
(cpe-&gt;product-alist, %parse-vulnerability-feed)
(xml-&gt;vulnerabilities): Remove.
(cve-configuration-&gt;package-list, merge-package-lists)
(cve-item-&gt;vulnerability, json-&gt;vulnerabilities): New procedures.
(write-cache): Use 'json-&gt;vulnerabilities' instead of
'xml-&gt;vulnerabilities', and remove 'parameterize'.
(vulnerabilities-&gt;lookup-proc): Use 'version-matches?' when VERSION is
true.
* tests/cve.scm (%sample): Use 'tests/cve-sample.json'.
(%expected-vulnerabilities): Rewrite accordingly.
("json-&gt;cve-items", "cve-item-published-date")
("json-&gt;vulnerabilities"): New tests.
("xml-&gt;vulnerabilities"): Remove.
("vulnerabilities-&gt;lookup-proc"): Adjust to new vulnerabilities.
* tests/cve-sample.json: New file.
* tests/cve-sample.xml: Remove.
* Makefile.am (EXTRA_DIST): Adjust accordingly.
* doc/guix.texi (Invoking guix lint): Update nist.gov URLs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The XML feed was discontinued on Oct. 16th, 2019:

  &lt;https://nvd.nist.gov/General/News/XML-Vulnerability-Feed-Retirement-Phase-3&gt;

* guix/cve.scm (string-&gt;date*): New procedure.
(&lt;cve-item&gt;, &lt;cve&gt;, &lt;cve-reference&gt;): New record types.
(cpe-match-&gt;cve-configuration, configuration-data-&gt;cve-configurations)
(json-&gt;cve-items, version-matches?): New procedures.
(yearly-feed-uri): Change URL to refer to JSON feed.
(cpe-&gt;product-alist, %parse-vulnerability-feed)
(xml-&gt;vulnerabilities): Remove.
(cve-configuration-&gt;package-list, merge-package-lists)
(cve-item-&gt;vulnerability, json-&gt;vulnerabilities): New procedures.
(write-cache): Use 'json-&gt;vulnerabilities' instead of
'xml-&gt;vulnerabilities', and remove 'parameterize'.
(vulnerabilities-&gt;lookup-proc): Use 'version-matches?' when VERSION is
true.
* tests/cve.scm (%sample): Use 'tests/cve-sample.json'.
(%expected-vulnerabilities): Rewrite accordingly.
("json-&gt;cve-items", "cve-item-published-date")
("json-&gt;vulnerabilities"): New tests.
("xml-&gt;vulnerabilities"): Remove.
("vulnerabilities-&gt;lookup-proc"): Adjust to new vulnerabilities.
* tests/cve-sample.json: New file.
* tests/cve-sample.xml: Remove.
* Makefile.am (EXTRA_DIST): Adjust accordingly.
* doc/guix.texi (Invoking guix lint): Update nist.gov URLs.
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Avoid now-deprecated 'make-struct'.</title>
<updated>2019-10-20T21:26:50+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-10-20T20:03:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=79c03e55e26d88c8d327daced02367abe7f17f91'/>
<id>79c03e55e26d88c8d327daced02367abe7f17f91</id>
<content type='text'>
* tests/cve.scm (vulnerability): Use 'make-struct/no-tail' instead of
'make-struct', which is deprecated.
* tests/lint.scm ("cve: one vulnerability")
("cve: one patched vulnerability")
("cve: known safe from vulnerability")
("cve: vulnerability fixed in replacement version")
("cve: patched vulnerability in replacement"): Likewise.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* tests/cve.scm (vulnerability): Use 'make-struct/no-tail' instead of
'make-struct', which is deprecated.
* tests/lint.scm ("cve: one vulnerability")
("cve: one patched vulnerability")
("cve: known safe from vulnerability")
("cve: vulnerability fixed in replacement version")
("cve: patched vulnerability in replacement"): Likewise.
</pre>
</div>
</content>
</entry>
<entry>
<title>cve: Use a more compact format for the list of package/versions.</title>
<updated>2016-05-27T23:07:12+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2016-05-27T22:44:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=870bf71eb0983f0f7f7221434db3ff5f785b3b2c'/>
<id>870bf71eb0983f0f7f7221434db3ff5f785b3b2c</id>
<content type='text'>
On a warm cache, "guix lint -c cve vorbis-tools" goes down
from 6.5s to 2.4s.

* guix/cve.scm (cpe-&gt;package-name): Change to return two values instead
of a pair.
(cpe-&gt;product-alist): New procedure.
(%parse-vulnerability-feed): Use it instead of 'filter-map'.
(fetch-vulnerabilities): Bump sexp format version to 1.
(vulnerabilities-&gt;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-&gt;lookup-proc): Adjust accordingly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On a warm cache, "guix lint -c cve vorbis-tools" goes down
from 6.5s to 2.4s.

* guix/cve.scm (cpe-&gt;package-name): Change to return two values instead
of a pair.
(cpe-&gt;product-alist): New procedure.
(%parse-vulnerability-feed): Use it instead of 'filter-map'.
(fetch-vulnerabilities): Bump sexp format version to 1.
(vulnerabilities-&gt;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-&gt;lookup-proc): Adjust accordingly.
</pre>
</div>
</content>
</entry>
<entry>
<title>build: Add a Guile custom test driver using SRFI-64.</title>
<updated>2016-04-03T12:19:09+00:00</updated>
<author>
<name>Mathieu Lirzin</name>
<email>mthl@gnu.org</email>
</author>
<published>2015-10-26T22:47:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=a9edb211e733b8b34e67ec3b4450567e9376986f'/>
<id>a9edb211e733b8b34e67ec3b4450567e9376986f</id>
<content type='text'>
Before that '.log' files for scheme tests were fragmented and not
included in test-suite.log.  This unifies the semantics of SRFI-64 API
with Automake test suite.

* build-aux/test-driver.scm: New file.
* Makefile.am (SCM_LOG_DRIVER, AM_SCM_LOG_DRIVER_FLAGS): New variables.
(SCM_LOG_COMPILER, AM_SCM_LOG_FLAGS): Delete variables.
(AM_TESTS_ENVIRONMENT): Set GUILE_AUTO_COMPILE to 0.
* test-env.in: Silence guix-daemon.
* doc/guix.texi (Running the Test Suite): Describe how to display the
detailed results.  Bug reports require only 'test-suite.log' file.
* tests/base32.scm, tests/build-utils.scm, tests/builders.scm,
tests/challenge.scm, tests/cpan.scm, tests/cpio.scm, tests/cran.scm,
tests/cve.scm, tests/derivations.scm, tests/elpa.scm,
tests/file-systems.scm, tests/gem.scm, tests/gexp.scm,
tests/gnu-maintenance.scm, tests/grafts.scm, tests/graph.scm,
tests/gremlin.scm, tests/hackage.scm, tests/hash.scm,
tests/import-utils.scm, tests/lint.scm, tests/monads.scm, tests/nar.scm,
tests/packages.scm, tests/pk-crypto.scm, tests/pki.scm,
tests/profiles.scm, tests/publish.scm, tests/pypi.scm,
tests/records.scm, tests/scripts-build.scm, tests/scripts.scm,
tests/services.scm, tests/sets.scm, tests/size.scm, tests/snix.scm,
tests/store.scm, tests/substitute.scm, tests/syscalls.scm,
tests/system.scm, tests/ui.scm, tests/union.scm, tests/upstream.scm,
tests/utils.scm: Don't exit at the end of test groups.
* tests/containers.scm: Likewise.  Use 'test-skip' instead of exiting
with error code 77.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before that '.log' files for scheme tests were fragmented and not
included in test-suite.log.  This unifies the semantics of SRFI-64 API
with Automake test suite.

* build-aux/test-driver.scm: New file.
* Makefile.am (SCM_LOG_DRIVER, AM_SCM_LOG_DRIVER_FLAGS): New variables.
(SCM_LOG_COMPILER, AM_SCM_LOG_FLAGS): Delete variables.
(AM_TESTS_ENVIRONMENT): Set GUILE_AUTO_COMPILE to 0.
* test-env.in: Silence guix-daemon.
* doc/guix.texi (Running the Test Suite): Describe how to display the
detailed results.  Bug reports require only 'test-suite.log' file.
* tests/base32.scm, tests/build-utils.scm, tests/builders.scm,
tests/challenge.scm, tests/cpan.scm, tests/cpio.scm, tests/cran.scm,
tests/cve.scm, tests/derivations.scm, tests/elpa.scm,
tests/file-systems.scm, tests/gem.scm, tests/gexp.scm,
tests/gnu-maintenance.scm, tests/grafts.scm, tests/graph.scm,
tests/gremlin.scm, tests/hackage.scm, tests/hash.scm,
tests/import-utils.scm, tests/lint.scm, tests/monads.scm, tests/nar.scm,
tests/packages.scm, tests/pk-crypto.scm, tests/pki.scm,
tests/profiles.scm, tests/publish.scm, tests/pypi.scm,
tests/records.scm, tests/scripts-build.scm, tests/scripts.scm,
tests/services.scm, tests/sets.scm, tests/size.scm, tests/snix.scm,
tests/store.scm, tests/substitute.scm, tests/syscalls.scm,
tests/system.scm, tests/ui.scm, tests/union.scm, tests/upstream.scm,
tests/utils.scm: Don't exit at the end of test groups.
* tests/containers.scm: Likewise.  Use 'test-skip' instead of exiting
with error code 77.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add (guix cve).</title>
<updated>2015-11-26T21:35:01+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2015-11-26T20:52:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=0eef7551303e3fc855809d84eed8421d2a075cfa'/>
<id>0eef7551303e3fc855809d84eed8421d2a075cfa</id>
<content type='text'>
* 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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.
</pre>
</div>
</content>
</entry>
</feed>
