OpenBSD CVS

CVS log for src/usr.sbin/rad/rad.c


[BACK] Up to [local] / src / usr.sbin / rad

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.31 / (download) - annotate - [select for diffs], Tue May 21 05:00:48 2024 UTC (2 weeks, 4 days ago) by jsg
Branch: MAIN
CVS Tags: HEAD
Changes since 1.30: +1 -3 lines
Diff to previous 1.30 (colored)

remove prototypes with no matching function and externs with no var
partly checked by millert@

Revision 1.30 / (download) - annotate - [select for diffs], Fri May 17 06:50:14 2024 UTC (3 weeks, 1 day ago) by florian
Branch: MAIN
Changes since 1.29: +2 -1 lines
Diff to previous 1.29 (colored)

Send source link-layer address option in router advertisements.

With this, hosts immediately learn the layer 2 (i.e. ethernet mac)
address of their default router and don't need to do another round
trip.

It also turns out that apple devices (macOS & iOS) install the default
route as what they call "interface scoped" if a DNS option is present
and the source link-layer address option is absent. This effectively
makes the default route unusable.

Problem with fruit devices tracked down & diff by Ryan Vogt (rvogt.ca
AT gmail), thanks!

OK sthen, bket

Revision 1.29 / (download) - annotate - [select for diffs], Wed Apr 19 12:58:16 2023 UTC (13 months, 3 weeks ago) by jsg
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4
Changes since 1.28: +1 -2 lines
Diff to previous 1.28 (colored)

remove duplicate includes

Revision 1.28 / (download) - annotate - [select for diffs], Sat Oct 15 13:26:15 2022 UTC (19 months, 3 weeks ago) by florian
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3
Changes since 1.27: +35 -1 lines
Diff to previous 1.27 (colored)

Implement RFC 8781 PREF64 router advertisement option.

With this clients can learn the presence and used prefix for Network
Address and Protocol Translation between IPv6 and IPv4 (NAT64).

Apparently there is support in mobile devices as well as in macOS.

This option, together with the the dhcp "IPv6-only preferred"
option (108) enables the Customer-side transLATor (CLAT) on macOS so
IPv4 literals can be used in IPv6-only networks.

Input & OK kn

Revision 1.27 / (download) - annotate - [select for diffs], Sat Feb 27 10:35:20 2021 UTC (3 years, 3 months ago) by florian
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.26: +3 -3 lines
Diff to previous 1.26 (colored)

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

Revision 1.26 / (download) - annotate - [select for diffs], Tue Jan 19 16:54:48 2021 UTC (3 years, 4 months ago) by florian
Branch: MAIN
Changes since 1.25: +7 -9 lines
Diff to previous 1.25 (colored)

Make imsg event structs static to fix -fno-common.
Follows claudio's lead in ospfd et al.
Problem reported by mortimer.

Revision 1.25 / (download) - annotate - [select for diffs], Tue Jan 19 16:53:27 2021 UTC (3 years, 4 months ago) by florian
Branch: MAIN
Changes since 1.24: +10 -5 lines
Diff to previous 1.24 (colored)

No need for a global rad_process; unbreaks -fno-common.
Problem reported by mortimer

Revision 1.24 / (download) - annotate - [select for diffs], Tue Dec 1 17:31:37 2020 UTC (3 years, 6 months ago) by florian
Branch: MAIN
Changes since 1.23: +61 -48 lines
Diff to previous 1.23 (colored)

Let rad(8) handle all rdomains in a single daemon, similar to previous
work in slaacd.
Suggested / requested by tb who showed me previous work by reyk which
unfortunately predated my work in slaacd and followed a different
pattern to that done in slaacd.
Testing & OK tb

Revision 1.23 / (download) - annotate - [select for diffs], Fri Jun 26 19:00:08 2020 UTC (3 years, 11 months ago) by bket
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8
Changes since 1.22: +7 -20 lines
Diff to previous 1.22 (colored)

Replace SIMPLEQ concatenation loops with SIMPLEQ_CONCAT

As a result *ra_rdnss and *ra_dnssl are not used any more, and can be removed.
While here remove spurious space.

OK florian@, millert@

Revision 1.22 / (download) - annotate - [select for diffs], Mon Mar 30 17:47:48 2020 UTC (4 years, 2 months ago) by florian
Branch: MAIN
CVS Tags: OPENBSD_6_7_BASE, OPENBSD_6_7
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored)

Use defines instead of raw numbers for intervals specified by RFC
4861. No binary change.
While here consistently use #define<tab> instead of #define<space>.

Revision 1.21 / (download) - annotate - [select for diffs], Fri Jun 28 13:32:49 2019 UTC (4 years, 11 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.20: +7 -7 lines
Diff to previous 1.20 (colored)

When system calls indicate an error they return -1, not some arbitrary
value < 0.  errno is only updated in this case.  Change all (most?)
callers of syscalls to follow this better, and let's see if this strictness
helps us in the future.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Mar 31 03:36:18 2019 UTC (5 years, 2 months ago) by yasuoka
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5
Changes since 1.19: +6 -2 lines
Diff to previous 1.19 (colored)

Avoid calling dup2(oldd, newd) when oldd == newd.  In that case the
descriptor keeps CLOEXEC flag then it will be closed unexpectedly by
exec().

ok tedu florian

Revision 1.19 / (download) - annotate - [select for diffs], Tue Mar 12 18:47:57 2019 UTC (5 years, 2 months ago) by pamela
Branch: MAIN
Changes since 1.18: +4 -2 lines
Diff to previous 1.18 (colored)

In the manner of recent changes to unwind(8) and slaacd(8), make imsg
processing more paranoid. Call fatalx() for imsg size mismatches or
unexpected/missing imsg fd.
OK florian@

Revision 1.18 / (download) - annotate - [select for diffs], Tue Jan 29 15:43:33 2019 UTC (5 years, 4 months ago) by florian
Branch: MAIN
Changes since 1.17: +2 -9 lines
Diff to previous 1.17 (colored)

We don't need IMSG_SHUTDOWN, we can just close the sockets.
pointed out by deraadt

Revision 1.17 / (download) - annotate - [select for diffs], Tue Jan 22 09:25:29 2019 UTC (5 years, 4 months ago) by krw
Branch: MAIN
Changes since 1.16: +3 -3 lines
Diff to previous 1.16 (colored)

PF_ROUTE -> AF_ROUTE in the scattered sock()/setsockopt() calls
where the "wrong" #define was used.

ok dlg@

Revision 1.16 / (download) - annotate - [select for diffs], Sun Sep 16 08:53:02 2018 UTC (5 years, 8 months ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.15: +5 -3 lines
Diff to previous 1.15 (colored)

With prefixlen 128, mask_prefix() in rad(8) caused a stack overflow
in the config parser.  Add an out of bounds check for the in6_addr.
OK florian@

Revision 1.15 / (download) - annotate - [select for diffs], Sun Aug 5 09:37:05 2018 UTC (5 years, 10 months ago) by mestre
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

Since -s argument is no longer checked, during reexec, the argv size then must
be shortened by 1.

OK florian@

Revision 1.14 / (download) - annotate - [select for diffs], Sat Aug 4 09:37:17 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.13: +8 -14 lines
Diff to previous 1.13 (colored)

Leave the control socket behind on shutdown. It doesn't hurt anyone.
On the other hand it is much more powerful to get rid of cpath; rad is
no longer allowed to change anything on the filesystem.
Triggered by mestre@'s work to fix unlinking in other daemons and a
question from deraadt@
OK mestre

Revision 1.13 / (download) - annotate - [select for diffs], Fri Aug 3 13:14:46 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.12: +59 -17 lines
Diff to previous 1.12 (colored)

Move dns settings to global options so that they don't need to be
repeated in every interface block - they can still be overwritten
on a per interface basis.
Pointed out by, tweaks & OK sthen

Revision 1.12 / (download) - annotate - [select for diffs], Fri Jul 20 20:35:00 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.11: +1 -5 lines
Diff to previous 1.11 (colored)

No need to copy rdns_lifetime around with an IMSG, it gets send to the
engine end frontend as part of ra_iface_conf.

Spotted after explaining to bket@ that a similar pattern is not needed
for the mtu option.

Revision 1.11 / (download) - annotate - [select for diffs], Fri Jul 20 20:34:18 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.10: +17 -4 lines
Diff to previous 1.10 (colored)

Fix mem leaks on config reload:
- always free struct ra_iface_conf with free_ra_iface_conf()
- free_ra_iface_conf() needs to free the recently added
nameserver and search list

Revision 1.10 / (download) - annotate - [select for diffs], Fri Jul 20 17:55:09 2018 UTC (5 years, 10 months ago) by bket
Branch: MAIN
Changes since 1.9: +2 -1 lines
Diff to previous 1.9 (colored)

Introduce MTU option.

The MTU option is used in Router Advertisement messages to ensure that
all nodes on a link use the same MTU value in those cases where the link
MTU is not well known.

Feedback (thank you!) and OK from florian@

Revision 1.9 / (download) - annotate - [select for diffs], Wed Jul 18 14:43:34 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.8: +6 -2 lines
Diff to previous 1.8 (colored)

Stop our own router advertisements from looping back to us.
Pointed out by semarie@

Revision 1.8 / (download) - annotate - [select for diffs], Sun Jul 15 09:28:21 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.7: +19 -1 lines
Diff to previous 1.7 (colored)

Implement RFC 8106: IPv6 Router Advertisement Options for DNS
Configuration.

Revision 1.7 / (download) - annotate - [select for diffs], Fri Jul 13 09:16:15 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.6: +3 -1 lines
Diff to previous 1.6 (colored)

add missing IMSG_STARTUP; unclear why this ever worked

Revision 1.6 / (download) - annotate - [select for diffs], Fri Jul 13 08:32:10 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.5: +7 -3 lines
Diff to previous 1.5 (colored)

pass control socket in from main

Revision 1.5 / (download) - annotate - [select for diffs], Fri Jul 13 08:31:34 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.4: +14 -1 lines
Diff to previous 1.4 (colored)

pass in route socket from main; stub out handling for now

Revision 1.4 / (download) - annotate - [select for diffs], Wed Jul 11 19:05:25 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.3: +10 -2 lines
Diff to previous 1.3 (colored)

cleanly shutdown by sending advertisement with lifetime 0

Revision 1.3 / (download) - annotate - [select for diffs], Wed Jul 11 14:01:44 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.2: +3 -17 lines
Diff to previous 1.2 (colored)

no longer needed

Revision 1.2 / (download) - annotate - [select for diffs], Tue Jul 10 22:14:19 2018 UTC (5 years, 11 months ago) by florian
Branch: MAIN
Changes since 1.1: +1 -41 lines
Diff to previous 1.1 (colored)

remove newd control leftovers

Revision 1.1 / (download) - annotate - [select for diffs], Tue Jul 10 16:39:54 2018 UTC (5 years, 11 months ago) by florian
Branch: MAIN

Import rad(8).
It's a Router Advertisement Daemon written using the standard 3
process privsep pattern and a parse.y based config file.
Commit early to continue work in tree.
OK jca
"it's totally rad" phessler@
"usr.sbin never runs out of space" deraadt@

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.