<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ucert, branch master</title>
<subtitle>OpenWrt usign certificate wrapper</subtitle>
<id>https://git.openwrt.org/project/ucert/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/project/ucert/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/ucert/'/>
<updated>2025-10-03T21:31:54Z</updated>
<entry>
<title>CMakeLists: update cmake minimum required version to 3.10</title>
<updated>2025-10-03T21:31:54Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2025-10-03T21:31:54Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/ucert/commit/?id=57270b247c91f003db6e3ba1a71d6d1fa5710fef'/>
<id>urn:sha1:57270b247c91f003db6e3ba1a71d6d1fa5710fef</id>
<content type='text'>
New cmake version 4.0 requires at least 3.5 version as the minimum
required version with it increased to 3.10 in to-be-released cmake
versions.

Set the minimum required version to 3.10 to future-proof for future
cmake version.

Suggested-by: Hannu Nyman &lt;hannu.nyman@iki.fi&gt;
Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>Do not print line number in debug messages</title>
<updated>2020-05-16T21:04:05Z</updated>
<author>
<name>Matthias Schiffer</name>
</author>
<published>2020-05-16T21:04:05Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/ucert/commit/?id=00b921d80ac0dc47339305d803f865ff43c56d63'/>
<id>urn:sha1:00b921d80ac0dc47339305d803f865ff43c56d63</id>
<content type='text'>
The line number does not add any significant information, and it makes
the unit tests which check for these debug messages very fragile.

Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
</content>
</entry>
<entry>
<title>Fix length checks in cert_load()</title>
<updated>2020-05-16T20:43:55Z</updated>
<author>
<name>Matthias Schiffer</name>
</author>
<published>2020-05-16T20:29:24Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/ucert/commit/?id=96c42c5ed3207b8ad1ce836a4426c8700c13b655'/>
<id>urn:sha1:96c42c5ed3207b8ad1ce836a4426c8700c13b655</id>
<content type='text'>
cert_load() iterates over multiple blobs, so the length argument to
blob_parse_untrusted() needs to be updated to prevent out-of-bounds
accesses.

Some other checks have become redundant and are removed, as
blob_parse_untrusted() already ensures that all attrs are contained in
the passed buffer.

Note that this issue currently does not pose a security threat, as an
over-restrictive check in blob_parse_untrusted() broke parsing of
buffers with multiple blobs completely.

Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
</content>
</entry>
<entry>
<title>usign-exec: improve usign -F output handling</title>
<updated>2020-05-16T16:53:40Z</updated>
<author>
<name>Matthias Schiffer</name>
</author>
<published>2020-05-16T16:53:40Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/ucert/commit/?id=fe06b4b836b3afd5b27039914dea1c7fe20bd78d'/>
<id>urn:sha1:fe06b4b836b3afd5b27039914dea1c7fe20bd78d</id>
<content type='text'>
While not likely to happen in pratice, nothing guarantees that read()
will retrieve more than 1 byte at a time. The easiest way to make this
code compliant is to wrap the file descriptor using fdopen().

While we're at it, also
- remove useless memset()
- check fingerprint for validity

The check is particularly relevant, as a usign bug [1] causing short
fingerprint outputs only went unnoticed for so long because the trailing
newline was considered one of the 16 characters ucert was expecting.

[1] https://patchwork.ozlabs.org/project/openwrt/patch/8ead1fd6a61117b54b4efd5111fe0d19e4eef9c5.1589642591.git.mschiffer@universe-factory.net/

Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
</content>
</entry>
<entry>
<title>usign-exec: return code fixes</title>
<updated>2020-05-16T16:45:23Z</updated>
<author>
<name>Matthias Schiffer</name>
</author>
<published>2020-05-16T16:45:23Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/ucert/commit/?id=19f9e1917e1b458ed3b80d0d0295d62ae3ee3185'/>
<id>urn:sha1:19f9e1917e1b458ed3b80d0d0295d62ae3ee3185</id>
<content type='text'>
- WEXITSTATUS() should only be called when WIFEXITED() returns true
- Fix double WEXITSTATUS() in usign_f()

Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
</content>
</entry>
<entry>
<title>usign-exec: close writing end of pipe early in parent process</title>
<updated>2020-05-16T16:27:51Z</updated>
<author>
<name>Matthias Schiffer</name>
</author>
<published>2020-05-16T16:27:51Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/ucert/commit/?id=077feb5b5824beb3af28385d350e2398ffe46f27'/>
<id>urn:sha1:077feb5b5824beb3af28385d350e2398ffe46f27</id>
<content type='text'>
When the child process exited without producing output (for example
because usign was not found), the parent process would hang forever in
read(). By closing the writing end early in the parent process, read
will return as soon as no writing FDs are left - that is, when the child
process has exited.

Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
</content>
</entry>
<entry>
<title>usign-exec: remove redundant return statements</title>
<updated>2020-05-16T16:26:52Z</updated>
<author>
<name>Matthias Schiffer</name>
</author>
<published>2020-05-16T16:23:22Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/ucert/commit/?id=7ec4bb764e1eb58f5d499d3b47f97bfc9a09eb0a'/>
<id>urn:sha1:7ec4bb764e1eb58f5d499d3b47f97bfc9a09eb0a</id>
<content type='text'>
All switch() cases were already returning value or exiting. Instead,
move the default case out of the switch to reduce indentation (only
relevant for usign_f()).

Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
</content>
</entry>
<entry>
<title>usign-exec: change usign_f_* fingerprint argument to char[17]</title>
<updated>2020-05-16T16:26:40Z</updated>
<author>
<name>Matthias Schiffer</name>
</author>
<published>2020-05-16T16:18:24Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/ucert/commit/?id=5a738e549d31a54b31ac673af88e23686e453aef'/>
<id>urn:sha1:5a738e549d31a54b31ac673af88e23686e453aef</id>
<content type='text'>
This makes it more obvious that a buffer with space for 17 characters is
expected to be passed. The code still works the same (a char[17] is
equivalent to char* as an argument).

Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
</content>
</entry>
<entry>
<title>usign-exec: do not close stdin and stderr before exec</title>
<updated>2020-05-16T16:26:34Z</updated>
<author>
<name>Matthias Schiffer</name>
</author>
<published>2020-05-16T16:00:24Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/ucert/commit/?id=112488bbbccc0581926b65ab093d495bff2dd8cf'/>
<id>urn:sha1:112488bbbccc0581926b65ab093d495bff2dd8cf</id>
<content type='text'>
FDs 0, 1 and 2 should always be available. This also allows the exec error
message in the forked process to be displayed.

Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
</content>
</entry>
<entry>
<title>usign-exec: fix exec error handling</title>
<updated>2020-05-16T16:26:23Z</updated>
<author>
<name>Matthias Schiffer</name>
</author>
<published>2020-05-16T15:53:29Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/ucert/commit/?id=38dcb1a6f12115e156aa4f36997bd4760347e821'/>
<id>urn:sha1:38dcb1a6f12115e156aa4f36997bd4760347e821</id>
<content type='text'>
When execvp fails in the forked process, we must exit. Also add an error
message.

Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
</content>
</entry>
</feed>
