History log of /openbsd-current/usr.sbin/slaacctl/slaacctl.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.23 21-Mar-2022 florian

Prevent crash of unprivileged engine process (pledged stdio).

The length field of a DNS label in the DNS search list option is an 8
bit unsigned value. parse_dnssl() treats the search list option as an
array of char, which are signed on most archs. When we read this value
into an int variable it gets sign extended, allowing it to bypass
sanity checks and eventually we pass it as the length to memcpy which
treats it as a huge unsigned value leading to a heap overflow.

An easy fix would be change the signature of parse_dnssl to
parse_dnssl(uint8_t* data, int datalen).

However, the DNS search list option is unused and the function fails
to check if the parsed value is a valid domain name. The function is
also getting in the way of future work so it's best to just delete it.

The problem was found and reported by qualys, thanks!

OK bluhm


Revision tags: OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.22 21-Mar-2021 florian

branches: 1.22.2; 1.22.4;
Use new terminology of RFC 8981 and (mechanically) replace "privacy"
with "temporary".


# 1.21 27-Feb-2021 florian

Path #defines are traditionally prefixed with _PATH.
pointed out by deraadt


Revision tags: OPENBSD_6_8_BASE
# 1.20 14-Sep-2020 florian

Let slaacd handle all rdomains in a single daemon.
Suggested by claudio and matthieu
Testing matthieu
Putting it in now to get enough testing before release so that there
is enough time to back it out, suggested by deraadt


Revision tags: OPENBSD_6_7_BASE
# 1.19 16-Apr-2020 florian

Make the control socket name depend on the routing domain we are in.
That way, when slaacd gets started in a different rdomain with
route exec things just work, no need to provide an alternative
control socket.
Pointed out by claudio
Original diff by benno, but I like my bikeshed purple.
OK benno, claudio


# 1.18 11-Nov-2019 florian

Send DNS proposals on route socket when new nameservers are learned
from router advertisements.
unwind(8) can solicit DNS proposals by sending an empty RTM_PROPOSAL
message with priority RTP_PROPOSAL_SOLICIT.


# 1.17 01-Nov-2019 florian

Correctly group initialization of AF_UNIX socket.
spotted by deraadt in new code, sweep by me.
OK deraadt


# 1.16 20-Oct-2019 florian

Remove redundant newline.
pointed out by deraadt@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.15 27-Jul-2018 bket

Enable slaacctl(8) to print information on an advertised MTU.

OK florian@


# 1.14 27-Apr-2018 florian

pledge earlier in preparation of pledgepath


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.13 28-Aug-2017 florian

print id first to make this symetrical to address proposals


# 1.12 22-Aug-2017 florian

typo


# 1.11 18-Aug-2017 florian

Show timeouts for addresses and default routers.


# 1.10 18-Aug-2017 florian

print default router IP


# 1.9 18-Aug-2017 florian

nano second resolution is meaningless


# 1.8 18-Aug-2017 florian

Use "infinity" for pltime / vltime.
It's a bit easier on the eyes than 4294967295.
While here standardize on a width of 10.


# 1.7 30-May-2017 deraadt

whitespace encountered during review


# 1.6 28-May-2017 florian

propose and configure default gateway


# 1.5 27-May-2017 florian

print router preference


# 1.4 27-May-2017 florian

do not use %hhu


# 1.3 27-May-2017 florian

show address proposals in slaacdctl show interface output


# 1.2 27-May-2017 florian

no longer carry addresses in struct radv_prefix


# 1.1 10-Apr-2017 florian

The canonical name for ctl programs is without 'd'.
Pointed out by Brad.
OK deraadt@


# 1.22 21-Mar-2021 florian

Use new terminology of RFC 8981 and (mechanically) replace "privacy"
with "temporary".


# 1.21 27-Feb-2021 florian

Path #defines are traditionally prefixed with _PATH.
pointed out by deraadt


Revision tags: OPENBSD_6_8_BASE
# 1.20 14-Sep-2020 florian

Let slaacd handle all rdomains in a single daemon.
Suggested by claudio and matthieu
Testing matthieu
Putting it in now to get enough testing before release so that there
is enough time to back it out, suggested by deraadt


Revision tags: OPENBSD_6_7_BASE
# 1.19 16-Apr-2020 florian

Make the control socket name depend on the routing domain we are in.
That way, when slaacd gets started in a different rdomain with
route exec things just work, no need to provide an alternative
control socket.
Pointed out by claudio
Original diff by benno, but I like my bikeshed purple.
OK benno, claudio


# 1.18 11-Nov-2019 florian

Send DNS proposals on route socket when new nameservers are learned
from router advertisements.
unwind(8) can solicit DNS proposals by sending an empty RTM_PROPOSAL
message with priority RTP_PROPOSAL_SOLICIT.


# 1.17 01-Nov-2019 florian

Correctly group initialization of AF_UNIX socket.
spotted by deraadt in new code, sweep by me.
OK deraadt


# 1.16 20-Oct-2019 florian

Remove redundant newline.
pointed out by deraadt@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.15 27-Jul-2018 bket

Enable slaacctl(8) to print information on an advertised MTU.

OK florian@


# 1.14 27-Apr-2018 florian

pledge earlier in preparation of pledgepath


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.13 28-Aug-2017 florian

print id first to make this symetrical to address proposals


# 1.12 22-Aug-2017 florian

typo


# 1.11 18-Aug-2017 florian

Show timeouts for addresses and default routers.


# 1.10 18-Aug-2017 florian

print default router IP


# 1.9 18-Aug-2017 florian

nano second resolution is meaningless


# 1.8 18-Aug-2017 florian

Use "infinity" for pltime / vltime.
It's a bit easier on the eyes than 4294967295.
While here standardize on a width of 10.


# 1.7 30-May-2017 deraadt

whitespace encountered during review


# 1.6 28-May-2017 florian

propose and configure default gateway


# 1.5 27-May-2017 florian

print router preference


# 1.4 27-May-2017 florian

do not use %hhu


# 1.3 27-May-2017 florian

show address proposals in slaacdctl show interface output


# 1.2 27-May-2017 florian

no longer carry addresses in struct radv_prefix


# 1.1 10-Apr-2017 florian

The canonical name for ctl programs is without 'd'.
Pointed out by Brad.
OK deraadt@


# 1.21 27-Feb-2021 florian

Path #defines are traditionally prefixed with _PATH.
pointed out by deraadt


Revision tags: OPENBSD_6_8_BASE
# 1.20 14-Sep-2020 florian

Let slaacd handle all rdomains in a single daemon.
Suggested by claudio and matthieu
Testing matthieu
Putting it in now to get enough testing before release so that there
is enough time to back it out, suggested by deraadt


Revision tags: OPENBSD_6_7_BASE
# 1.19 16-Apr-2020 florian

Make the control socket name depend on the routing domain we are in.
That way, when slaacd gets started in a different rdomain with
route exec things just work, no need to provide an alternative
control socket.
Pointed out by claudio
Original diff by benno, but I like my bikeshed purple.
OK benno, claudio


# 1.18 11-Nov-2019 florian

Send DNS proposals on route socket when new nameservers are learned
from router advertisements.
unwind(8) can solicit DNS proposals by sending an empty RTM_PROPOSAL
message with priority RTP_PROPOSAL_SOLICIT.


# 1.17 01-Nov-2019 florian

Correctly group initialization of AF_UNIX socket.
spotted by deraadt in new code, sweep by me.
OK deraadt


# 1.16 20-Oct-2019 florian

Remove redundant newline.
pointed out by deraadt@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.15 27-Jul-2018 bket

Enable slaacctl(8) to print information on an advertised MTU.

OK florian@


# 1.14 27-Apr-2018 florian

pledge earlier in preparation of pledgepath


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.13 28-Aug-2017 florian

print id first to make this symetrical to address proposals


# 1.12 22-Aug-2017 florian

typo


# 1.11 18-Aug-2017 florian

Show timeouts for addresses and default routers.


# 1.10 18-Aug-2017 florian

print default router IP


# 1.9 18-Aug-2017 florian

nano second resolution is meaningless


# 1.8 18-Aug-2017 florian

Use "infinity" for pltime / vltime.
It's a bit easier on the eyes than 4294967295.
While here standardize on a width of 10.


# 1.7 30-May-2017 deraadt

whitespace encountered during review


# 1.6 28-May-2017 florian

propose and configure default gateway


# 1.5 27-May-2017 florian

print router preference


# 1.4 27-May-2017 florian

do not use %hhu


# 1.3 27-May-2017 florian

show address proposals in slaacdctl show interface output


# 1.2 27-May-2017 florian

no longer carry addresses in struct radv_prefix


# 1.1 10-Apr-2017 florian

The canonical name for ctl programs is without 'd'.
Pointed out by Brad.
OK deraadt@


# 1.20 14-Sep-2020 florian

Let slaacd handle all rdomains in a single daemon.
Suggested by claudio and matthieu
Testing matthieu
Putting it in now to get enough testing before release so that there
is enough time to back it out, suggested by deraadt


Revision tags: OPENBSD_6_7_BASE
# 1.19 16-Apr-2020 florian

Make the control socket name depend on the routing domain we are in.
That way, when slaacd gets started in a different rdomain with
route exec things just work, no need to provide an alternative
control socket.
Pointed out by claudio
Original diff by benno, but I like my bikeshed purple.
OK benno, claudio


# 1.18 11-Nov-2019 florian

Send DNS proposals on route socket when new nameservers are learned
from router advertisements.
unwind(8) can solicit DNS proposals by sending an empty RTM_PROPOSAL
message with priority RTP_PROPOSAL_SOLICIT.


# 1.17 01-Nov-2019 florian

Correctly group initialization of AF_UNIX socket.
spotted by deraadt in new code, sweep by me.
OK deraadt


# 1.16 20-Oct-2019 florian

Remove redundant newline.
pointed out by deraadt@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.15 27-Jul-2018 bket

Enable slaacctl(8) to print information on an advertised MTU.

OK florian@


# 1.14 27-Apr-2018 florian

pledge earlier in preparation of pledgepath


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.13 28-Aug-2017 florian

print id first to make this symetrical to address proposals


# 1.12 22-Aug-2017 florian

typo


# 1.11 18-Aug-2017 florian

Show timeouts for addresses and default routers.


# 1.10 18-Aug-2017 florian

print default router IP


# 1.9 18-Aug-2017 florian

nano second resolution is meaningless


# 1.8 18-Aug-2017 florian

Use "infinity" for pltime / vltime.
It's a bit easier on the eyes than 4294967295.
While here standardize on a width of 10.


# 1.7 30-May-2017 deraadt

whitespace encountered during review


# 1.6 28-May-2017 florian

propose and configure default gateway


# 1.5 27-May-2017 florian

print router preference


# 1.4 27-May-2017 florian

do not use %hhu


# 1.3 27-May-2017 florian

show address proposals in slaacdctl show interface output


# 1.2 27-May-2017 florian

no longer carry addresses in struct radv_prefix


# 1.1 10-Apr-2017 florian

The canonical name for ctl programs is without 'd'.
Pointed out by Brad.
OK deraadt@


# 1.19 16-Apr-2020 florian

Make the control socket name depend on the routing domain we are in.
That way, when slaacd gets started in a different rdomain with
route exec things just work, no need to provide an alternative
control socket.
Pointed out by claudio
Original diff by benno, but I like my bikeshed purple.
OK benno, claudio


# 1.18 11-Nov-2019 florian

Send DNS proposals on route socket when new nameservers are learned
from router advertisements.
unwind(8) can solicit DNS proposals by sending an empty RTM_PROPOSAL
message with priority RTP_PROPOSAL_SOLICIT.


# 1.17 01-Nov-2019 florian

Correctly group initialization of AF_UNIX socket.
spotted by deraadt in new code, sweep by me.
OK deraadt


# 1.16 20-Oct-2019 florian

Remove redundant newline.
pointed out by deraadt@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.15 27-Jul-2018 bket

Enable slaacctl(8) to print information on an advertised MTU.

OK florian@


# 1.14 27-Apr-2018 florian

pledge earlier in preparation of pledgepath


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.13 28-Aug-2017 florian

print id first to make this symetrical to address proposals


# 1.12 22-Aug-2017 florian

typo


# 1.11 18-Aug-2017 florian

Show timeouts for addresses and default routers.


# 1.10 18-Aug-2017 florian

print default router IP


# 1.9 18-Aug-2017 florian

nano second resolution is meaningless


# 1.8 18-Aug-2017 florian

Use "infinity" for pltime / vltime.
It's a bit easier on the eyes than 4294967295.
While here standardize on a width of 10.


# 1.7 30-May-2017 deraadt

whitespace encountered during review


# 1.6 28-May-2017 florian

propose and configure default gateway


# 1.5 27-May-2017 florian

print router preference


# 1.4 27-May-2017 florian

do not use %hhu


# 1.3 27-May-2017 florian

show address proposals in slaacdctl show interface output


# 1.2 27-May-2017 florian

no longer carry addresses in struct radv_prefix


# 1.1 10-Apr-2017 florian

The canonical name for ctl programs is without 'd'.
Pointed out by Brad.
OK deraadt@


# 1.18 11-Nov-2019 florian

Send DNS proposals on route socket when new nameservers are learned
from router advertisements.
unwind(8) can solicit DNS proposals by sending an empty RTM_PROPOSAL
message with priority RTP_PROPOSAL_SOLICIT.


# 1.17 01-Nov-2019 florian

Correctly group initialization of AF_UNIX socket.
spotted by deraadt in new code, sweep by me.
OK deraadt


# 1.16 20-Oct-2019 florian

Remove redundant newline.
pointed out by deraadt@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.15 27-Jul-2018 bket

Enable slaacctl(8) to print information on an advertised MTU.

OK florian@


# 1.14 27-Apr-2018 florian

pledge earlier in preparation of pledgepath


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.13 28-Aug-2017 florian

print id first to make this symetrical to address proposals


# 1.12 22-Aug-2017 florian

typo


# 1.11 18-Aug-2017 florian

Show timeouts for addresses and default routers.


# 1.10 18-Aug-2017 florian

print default router IP


# 1.9 18-Aug-2017 florian

nano second resolution is meaningless


# 1.8 18-Aug-2017 florian

Use "infinity" for pltime / vltime.
It's a bit easier on the eyes than 4294967295.
While here standardize on a width of 10.


# 1.7 30-May-2017 deraadt

whitespace encountered during review


# 1.6 28-May-2017 florian

propose and configure default gateway


# 1.5 27-May-2017 florian

print router preference


# 1.4 27-May-2017 florian

do not use %hhu


# 1.3 27-May-2017 florian

show address proposals in slaacdctl show interface output


# 1.2 27-May-2017 florian

no longer carry addresses in struct radv_prefix


# 1.1 10-Apr-2017 florian

The canonical name for ctl programs is without 'd'.
Pointed out by Brad.
OK deraadt@


# 1.17 01-Nov-2019 florian

Correctly group initialization of AF_UNIX socket.
spotted by deraadt in new code, sweep by me.
OK deraadt


# 1.16 20-Oct-2019 florian

Remove redundant newline.
pointed out by deraadt@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.15 27-Jul-2018 bket

Enable slaacctl(8) to print information on an advertised MTU.

OK florian@


# 1.14 27-Apr-2018 florian

pledge earlier in preparation of pledgepath


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.13 28-Aug-2017 florian

print id first to make this symetrical to address proposals


# 1.12 22-Aug-2017 florian

typo


# 1.11 18-Aug-2017 florian

Show timeouts for addresses and default routers.


# 1.10 18-Aug-2017 florian

print default router IP


# 1.9 18-Aug-2017 florian

nano second resolution is meaningless


# 1.8 18-Aug-2017 florian

Use "infinity" for pltime / vltime.
It's a bit easier on the eyes than 4294967295.
While here standardize on a width of 10.


# 1.7 30-May-2017 deraadt

whitespace encountered during review


# 1.6 28-May-2017 florian

propose and configure default gateway


# 1.5 27-May-2017 florian

print router preference


# 1.4 27-May-2017 florian

do not use %hhu


# 1.3 27-May-2017 florian

show address proposals in slaacdctl show interface output


# 1.2 27-May-2017 florian

no longer carry addresses in struct radv_prefix


# 1.1 10-Apr-2017 florian

The canonical name for ctl programs is without 'd'.
Pointed out by Brad.
OK deraadt@


# 1.16 20-Oct-2019 florian

Remove redundant newline.
pointed out by deraadt@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.15 27-Jul-2018 bket

Enable slaacctl(8) to print information on an advertised MTU.

OK florian@


# 1.14 27-Apr-2018 florian

pledge earlier in preparation of pledgepath


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.13 28-Aug-2017 florian

print id first to make this symetrical to address proposals


# 1.12 22-Aug-2017 florian

typo


# 1.11 18-Aug-2017 florian

Show timeouts for addresses and default routers.


# 1.10 18-Aug-2017 florian

print default router IP


# 1.9 18-Aug-2017 florian

nano second resolution is meaningless


# 1.8 18-Aug-2017 florian

Use "infinity" for pltime / vltime.
It's a bit easier on the eyes than 4294967295.
While here standardize on a width of 10.


# 1.7 30-May-2017 deraadt

whitespace encountered during review


# 1.6 28-May-2017 florian

propose and configure default gateway


# 1.5 27-May-2017 florian

print router preference


# 1.4 27-May-2017 florian

do not use %hhu


# 1.3 27-May-2017 florian

show address proposals in slaacdctl show interface output


# 1.2 27-May-2017 florian

no longer carry addresses in struct radv_prefix


# 1.1 10-Apr-2017 florian

The canonical name for ctl programs is without 'd'.
Pointed out by Brad.
OK deraadt@


# 1.15 27-Jul-2018 bket

Enable slaacctl(8) to print information on an advertised MTU.

OK florian@


# 1.14 27-Apr-2018 florian

pledge earlier in preparation of pledgepath


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.13 28-Aug-2017 florian

print id first to make this symetrical to address proposals


# 1.12 22-Aug-2017 florian

typo


# 1.11 18-Aug-2017 florian

Show timeouts for addresses and default routers.


# 1.10 18-Aug-2017 florian

print default router IP


# 1.9 18-Aug-2017 florian

nano second resolution is meaningless


# 1.8 18-Aug-2017 florian

Use "infinity" for pltime / vltime.
It's a bit easier on the eyes than 4294967295.
While here standardize on a width of 10.


# 1.7 30-May-2017 deraadt

whitespace encountered during review


# 1.6 28-May-2017 florian

propose and configure default gateway


# 1.5 27-May-2017 florian

print router preference


# 1.4 27-May-2017 florian

do not use %hhu


# 1.3 27-May-2017 florian

show address proposals in slaacdctl show interface output


# 1.2 27-May-2017 florian

no longer carry addresses in struct radv_prefix


# 1.1 10-Apr-2017 florian

The canonical name for ctl programs is without 'd'.
Pointed out by Brad.
OK deraadt@


# 1.14 27-Apr-2018 florian

pledge earlier in preparation of pledgepath


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.13 28-Aug-2017 florian

print id first to make this symetrical to address proposals


# 1.12 22-Aug-2017 florian

typo


# 1.11 18-Aug-2017 florian

Show timeouts for addresses and default routers.


# 1.10 18-Aug-2017 florian

print default router IP


# 1.9 18-Aug-2017 florian

nano second resolution is meaningless


# 1.8 18-Aug-2017 florian

Use "infinity" for pltime / vltime.
It's a bit easier on the eyes than 4294967295.
While here standardize on a width of 10.


# 1.7 30-May-2017 deraadt

whitespace encountered during review


# 1.6 28-May-2017 florian

propose and configure default gateway


# 1.5 27-May-2017 florian

print router preference


# 1.4 27-May-2017 florian

do not use %hhu


# 1.3 27-May-2017 florian

show address proposals in slaacdctl show interface output


# 1.2 27-May-2017 florian

no longer carry addresses in struct radv_prefix


# 1.1 10-Apr-2017 florian

The canonical name for ctl programs is without 'd'.
Pointed out by Brad.
OK deraadt@


Revision tags: OPENBSD_6_2_BASE
# 1.13 28-Aug-2017 florian

print id first to make this symetrical to address proposals


# 1.12 22-Aug-2017 florian

typo


# 1.11 18-Aug-2017 florian

Show timeouts for addresses and default routers.


# 1.10 18-Aug-2017 florian

print default router IP


# 1.9 18-Aug-2017 florian

nano second resolution is meaningless


# 1.8 18-Aug-2017 florian

Use "infinity" for pltime / vltime.
It's a bit easier on the eyes than 4294967295.
While here standardize on a width of 10.


# 1.7 30-May-2017 deraadt

whitespace encountered during review


# 1.6 28-May-2017 florian

propose and configure default gateway


# 1.5 27-May-2017 florian

print router preference


# 1.4 27-May-2017 florian

do not use %hhu


# 1.3 27-May-2017 florian

show address proposals in slaacdctl show interface output


# 1.2 27-May-2017 florian

no longer carry addresses in struct radv_prefix


# 1.1 10-Apr-2017 florian

The canonical name for ctl programs is without 'd'.
Pointed out by Brad.
OK deraadt@