<feed xmlns='http://www.w3.org/2005/Atom'>
<title>odhcp6c, branch master</title>
<subtitle>Openwrt DHCPv6 Client</subtitle>
<id>https://git.openwrt.org/project/odhcp6c/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/project/odhcp6c/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/odhcp6c/'/>
<updated>2026-01-25T13:54:38Z</updated>
<entry>
<title>dhcpv6: add config for strict RFC7550</title>
<updated>2026-01-25T13:54:38Z</updated>
<author>
<name>Álvaro Fernández Rojas</name>
</author>
<published>2026-01-23T16:29:24Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/odhcp6c/commit/?id=24485bb4b35ab84c17c2e87bd561d026d4c15c00'/>
<id>urn:sha1:24485bb4b35ab84c17c2e87bd561d026d4c15c00</id>
<content type='text'>
Some ISPs don't comply with RFC7550 and need workarounds to get proper
IPv6 connectivity.

Link: https://github.com/openwrt/odhcp6c/pull/152
Signed-off-by: Álvaro Fernández Rojas &lt;noltari@gmail.com&gt;
</content>
</entry>
<entry>
<title>dhcpv6: replace hash_ifname() with MD5 implementation</title>
<updated>2026-01-24T20:42:42Z</updated>
<author>
<name>Álvaro Fernández Rojas</name>
</author>
<published>2026-01-13T17:35:56Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/odhcp6c/commit/?id=591ce406c70b9b6916a29d30ea8279d57f53a82b'/>
<id>urn:sha1:591ce406c70b9b6916a29d30ea8279d57f53a82b</id>
<content type='text'>
Replace hash_ifname() with new implementation based on MD5 hash.

This implementation generates the same output as:
https://github.com/openwrt/openwrt/commit/e1f2b666ff94f2b8a50ca000d69f5b5f0b89a27c

Link: https://github.com/openwrt/odhcp6c/pull/150
Signed-off-by: Álvaro Fernández Rojas &lt;noltari@gmail.com&gt;
</content>
</entry>
<entry>
<title>dhcpv6: omit IA_NA on Request</title>
<updated>2025-12-29T11:33:34Z</updated>
<author>
<name>Álvaro Fernández Rojas</name>
</author>
<published>2025-12-28T18:44:16Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/odhcp6c/commit/?id=8abb45065f5ef9d176efa6bd151a1209b05852c4'/>
<id>urn:sha1:8abb45065f5ef9d176efa6bd151a1209b05852c4</id>
<content type='text'>
Omit IA_NA on Request if not present on Solicit, which is against RFC7550,
but turns out some broken ISPs don't like this.
See https://github.com/openwrt/odhcp6c/issues/144

Closes: https://github.com/openwrt/odhcp6c/issues/144
Link: https://github.com/openwrt/odhcp6c/pull/147
Fixes: 63461f64d4c1 ("dhcpv6: always include IA_NA and IA_PD in Request message if requested")
Signed-off-by: Álvaro Fernández Rojas &lt;noltari@gmail.com&gt;
</content>
</entry>
<entry>
<title>dhcpv6: dhcpv6_send: convert whitespaces to tabs</title>
<updated>2025-12-29T10:29:32Z</updated>
<author>
<name>Álvaro Fernández Rojas</name>
</author>
<published>2025-12-29T10:28:14Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/odhcp6c/commit/?id=988d5fb306b3c9a714b1b4d6cda57085a2104ccc'/>
<id>urn:sha1:988d5fb306b3c9a714b1b4d6cda57085a2104ccc</id>
<content type='text'>
Properly align code with tabs instead of whitespaces.

Signed-off-by: Álvaro Fernández Rojas &lt;noltari@gmail.com&gt;
</content>
</entry>
<entry>
<title>ra: convert if block to switch</title>
<updated>2025-12-28T11:48:22Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2025-11-18T16:05:20Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/odhcp6c/commit/?id=5e1ab3bc1be8520d11dce83993c80062c42dac82'/>
<id>urn:sha1:5e1ab3bc1be8520d11dce83993c80062c42dac82</id>
<content type='text'>
Improve readability and accelerate jumps.

Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
Link: https://github.com/openwrt/odhcp6c/pull/146
Signed-off-by: Álvaro Fernández Rojas &lt;noltari@gmail.com&gt;
</content>
</entry>
<entry>
<title>odhcp6c: do cleanup at exit</title>
<updated>2025-12-28T11:46:37Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2025-12-22T23:35:01Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/odhcp6c/commit/?id=2e6682bfcaffacee62eccfc03f92ab1304a3b268'/>
<id>urn:sha1:2e6682bfcaffacee62eccfc03f92ab1304a3b268</id>
<content type='text'>
cleanup frees all state buffers, releases any auth token,
and closes the random FD to avoid lingering allocations
after exit.

Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
Link: https://github.com/openwrt/odhcp6c/pull/145
Signed-off-by: Álvaro Fernández Rojas &lt;noltari@gmail.com&gt;
</content>
</entry>
<entry>
<title>config: fix potential memory leaks in error paths</title>
<updated>2025-12-28T11:46:17Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2025-12-22T23:32:19Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/odhcp6c/commit/?id=610e4bddb8d70dd6688e05156428e14c6181ee1a'/>
<id>urn:sha1:610e4bddb8d70dd6688e05156428e14c6181ee1a</id>
<content type='text'>
In the parsing helpers we do:

`*dst = realloc(*dst, ...); if (!*dst) return -1;`

If a later realloc call failed, the previous buffer
pointer was overwritten with NULL, so the already
allocated block is lost.

We're probably already in a dire situation if we cannot
allocate more memory, so the fix is a principled one.

The caller `config_parse_opt()` does `free(payload)`.

Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
Link: https://github.com/openwrt/odhcp6c/pull/145
Signed-off-by: Álvaro Fernández Rojas &lt;noltari@gmail.com&gt;
</content>
</entry>
<entry>
<title>all: add log helpers</title>
<updated>2025-12-22T15:44:17Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2025-12-19T15:50:55Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/odhcp6c/commit/?id=bfd7597cada10d2d8aa5430931fce657dade30f5'/>
<id>urn:sha1:bfd7597cada10d2d8aa5430931fce657dade30f5</id>
<content type='text'>
avoids multiple syslog.h include

(sync with implementation in odhcpd)

We deprecate the `-v` param. Add new `-l` param for level,
identical to odhcpd.

The odhcp6c `dhcpv6.sh` script in openwrt main should be updated
to recognize this change, but it is harmless if it is not changed.

Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
Link: https://github.com/openwrt/odhcp6c/pull/142
Signed-off-by: Álvaro Fernández Rojas &lt;noltari@gmail.com&gt;
</content>
</entry>
<entry>
<title>dhcpv6: clarifying comments</title>
<updated>2025-12-22T11:11:08Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2025-12-20T19:42:24Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/odhcp6c/commit/?id=0bb93c26d14b2c6f60d82a53328cf275a0e61dd9'/>
<id>urn:sha1:0bb93c26d14b2c6f60d82a53328cf275a0e61dd9</id>
<content type='text'>
Add comments to make it easier to follow the code.

Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
Link: https://github.com/openwrt/odhcp6c/pull/143
Signed-off-by: Álvaro Fernández Rojas &lt;noltari@gmail.com&gt;
</content>
</entry>
<entry>
<title>dhcpv6: offload FQDN construction to init_dhcpv6</title>
<updated>2025-12-22T11:11:01Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2025-12-20T22:47:03Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/odhcp6c/commit/?id=65f9ee25e5ebb92f1165348b40bbc0d2dbf56564'/>
<id>urn:sha1:65f9ee25e5ebb92f1165348b40bbc0d2dbf56564</id>
<content type='text'>
Improve performance by doing this only once at init, instead
of every time at dhcpv6_send.

We also add a length check for dn_comp which can return -1.

Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
Link: https://github.com/openwrt/odhcp6c/pull/143
Signed-off-by: Álvaro Fernández Rojas &lt;noltari@gmail.com&gt;
</content>
</entry>
</feed>
