Up to [local] / src / sbin / slaacd
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.67 / (download) - annotate - [select for diffs], Mon Jun 3 17:58:33 2024 UTC (5 days, 10 hours ago) by deraadt
Branch: MAIN
CVS Tags: HEAD
Changes since 1.66: +2 -2 lines
Diff to previous 1.66 (colored)
more sleepy florian knf issues
Revision 1.66 / (download) - annotate - [select for diffs], Sun Feb 11 21:29:12 2024 UTC (3 months, 3 weeks ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE,
OPENBSD_7_5
Changes since 1.65: +1 -2 lines
Diff to previous 1.65 (colored)
Remove needless includes of netinet6/ip6_var.h header in userland. OK millert@
Revision 1.65 / (download) - annotate - [select for diffs], Thu Dec 14 09:58:59 2023 UTC (5 months, 3 weeks ago) by claudio
Branch: MAIN
Changes since 1.64: +5 -5 lines
Diff to previous 1.64 (colored)
Use imsg_get_fd() to access the fd passed with the imsg. Go ahead florian@ OK tb@
Revision 1.64 / (download) - annotate - [select for diffs], Tue Jul 12 16:54:59 2022 UTC (22 months, 4 weeks ago) by florian
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE,
OPENBSD_7_4,
OPENBSD_7_3_BASE,
OPENBSD_7_3,
OPENBSD_7_2_BASE,
OPENBSD_7_2
Changes since 1.63: +4 -109 lines
Diff to previous 1.63 (colored)
Rewrite state machine in the style of dhcpleased(8). It is less cluttered, easier to reason about and fixes some bugs in passing that would have been difficult in the old state machine. Stale IPv6 addresses, default routes and nameservers are now correctly removed when moving from one IPv6 enabled network to another IPv6 enabled network. Default routes and nameservers correctly expire when they are not refreshed and nameservers are updated when router advertisements change the nameserver option. Testing & input caspar@ Putting it in now to get wider testing and shake out bugs, discussed with deraadt@ at r2k22.
Revision 1.55.2.1 / (download) - annotate - [select for diffs], Mon Mar 21 16:41:17 2022 UTC (2 years, 2 months ago) by bluhm
Branch: OPENBSD_6_9
Changes since 1.55: +1 -2 lines
Diff to previous 1.55 (colored) next main 1.56 (colored)
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! from florian@; OK bluhm@ this is errata/6.9/033_slaacd.patch.sig
Revision 1.58.2.1 / (download) - annotate - [select for diffs], Mon Mar 21 16:39:56 2022 UTC (2 years, 2 months ago) by bluhm
Branch: OPENBSD_7_0
Changes since 1.58: +1 -2 lines
Diff to previous 1.58 (colored) next main 1.59 (colored)
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! from florian@; OK bluhm@ this is errata/7.0/017_slaacd.patch.sig
Revision 1.63 / (download) - annotate - [select for diffs], Mon Mar 21 16:25:47 2022 UTC (2 years, 2 months ago) by florian
Branch: MAIN
CVS Tags: OPENBSD_7_1_BASE,
OPENBSD_7_1
Changes since 1.62: +1 -2 lines
Diff to previous 1.62 (colored)
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 1.62 / (download) - annotate - [select for diffs], Tue Jan 4 06:17:46 2022 UTC (2 years, 5 months ago) by florian
Branch: MAIN
Changes since 1.61: +38 -6 lines
Diff to previous 1.61 (colored)
Wait for the link-local address to become non-tentative. Otherwise we just end up with an ugly "Can't assign requested address" error from sendmsg(2). OK phessler
Revision 1.61 / (download) - annotate - [select for diffs], Mon Dec 27 15:18:51 2021 UTC (2 years, 5 months ago) by florian
Branch: MAIN
Changes since 1.60: +2 -2 lines
Diff to previous 1.60 (colored)
knf
Revision 1.60 / (download) - annotate - [select for diffs], Sun Nov 28 12:51:52 2021 UTC (2 years, 6 months ago) by florian
Branch: MAIN
Changes since 1.59: +30 -1 lines
Diff to previous 1.59 (colored)
Make sure the interface still exists before updating it. When we get a route message, for example an address being added (RTM_NEWADDR, but the problem exists with most of the route messages) and the interface gets unplugged at just the right moment if_nametoindex(3) will return NULL. We will pass NULL through update_iface() to get_xflags() which will then crash because we dereference the NULL pointer there. OK kn
Revision 1.59 / (download) - annotate - [select for diffs], Sun Nov 28 12:49:55 2021 UTC (2 years, 6 months ago) by florian
Branch: MAIN
Changes since 1.58: +31 -31 lines
Diff to previous 1.58 (colored)
Make sure if_index is set in all case statements and use it consistently. This makes the next diff easier, also consistency is good. OK kn
Revision 1.58 / (download) - annotate - [select for diffs], Tue Aug 24 14:56:06 2021 UTC (2 years, 9 months ago) by florian
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE
Branch point for: OPENBSD_7_0
Changes since 1.57: +12 -1 lines
Diff to previous 1.57 (colored)
When an interface disappears, e.g. when a usb dongle gets unplugged, we get a RTM_IFANNOUNCE message not a RTM_IFINFO message. Handle this message to not accumulate "unknown" interfaces. While here fix a bug where we would remove an interface only in the engine process but not in the frontend when an interfaces gets unplugged while we process a RTM_IFINFO message for it. OK benno
Revision 1.57 / (download) - annotate - [select for diffs], Mon Jul 12 15:09:19 2021 UTC (2 years, 10 months ago) by beck
Branch: MAIN
Changes since 1.56: +3 -3 lines
Diff to previous 1.56 (colored)
Change the error reporting pattern throughout the tree when unveil fails to report the path that the failure occured on. Suggested by deraadt@ after some tech discussion. Work done and verified by Ashton Fagg <ashton@fagg.id.au> ok deraadt@ semarie@ claudio@
Revision 1.56 / (download) - annotate - [select for diffs], Sat May 1 11:53:06 2021 UTC (3 years, 1 month ago) by florian
Branch: MAIN
Changes since 1.55: +6 -3 lines
Diff to previous 1.55 (colored)
Allow running in single user mode where /var/empty doesn't exist by switching from chroot("/var/empty") to unveil("/", ""). This is just an extra pair of suspenders since these processes pledge(2) to not access the filesystem. OK deraadt
Revision 1.55 / (download) - annotate - [select for diffs], Sun Mar 21 18:25:24 2021 UTC (3 years, 2 months ago) by florian
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE
Branch point for: OPENBSD_6_9
Changes since 1.54: +5 -5 lines
Diff to previous 1.54 (colored)
Use new terminology of RFC 8981 and (mechanically) replace "privacy" with "temporary".
Revision 1.54 / (download) - annotate - [select for diffs], Sat Mar 20 17:07:49 2021 UTC (3 years, 2 months ago) by florian
Branch: MAIN
Changes since 1.53: +6 -4 lines
Diff to previous 1.53 (colored)
RFC 8981 allows the configuration of only temporary IPv6 addresses. Track autoconf and temporary flag individually to be able to support this. OK kn
Revision 1.53 / (download) - annotate - [select for diffs], Sat Mar 20 16:46:03 2021 UTC (3 years, 2 months ago) by kn
Branch: MAIN
Changes since 1.52: +5 -2 lines
Diff to previous 1.52 (colored)
Fix SMALL build when done from sbin/slaacd distrib/special/slaccd is the actual SMALL user but having it build from here is useful, too; in fact, it showed some more unused variables under SMALL. OK florian
Revision 1.52 / (download) - annotate - [select for diffs], Thu Mar 11 19:53:40 2021 UTC (3 years, 2 months ago) by florian
Branch: MAIN
Changes since 1.51: +2 -2 lines
Diff to previous 1.51 (colored)
When RFC 8981 obsoleted RFC 4941 the terminology changed from "privacy extensions" to "temporary address extensions" Change ifconfig(8) to output temporary after temporary addresses and add "temporary" option which is an alias for autoconfprivacy for now. Also make AUTOCONF6TEMP a positiv flag that is set by default. Previously the negative flag "INET6_NOPRIVACY" was set when privacy addresses were disabled. This makes the flags output less ugly and will allow us to disable autoconf addresses while having temporary addresses enabled in the future. More work is needed in slaacd. input benno, jmc, deraadt previous verison OK benno OK jmc, kn
Revision 1.51 / (download) - annotate - [select for diffs], Sun Mar 7 10:31:20 2021 UTC (3 years, 3 months ago) by florian
Branch: MAIN
Changes since 1.50: +46 -66 lines
Diff to previous 1.50 (colored)
Fold get_lladdr into update_iface, now the only caller. This allows us to pass the link state over to engine here instead of in update_addr which is not available in small. This gets us more in line dhcpleased.
Revision 1.50 / (download) - annotate - [select for diffs], Sun Mar 7 10:30:13 2021 UTC (3 years, 3 months ago) by florian
Branch: MAIN
Changes since 1.49: +1 -3 lines
Diff to previous 1.49 (colored)
No need to pass the link local and hw address around, we have it already in the interface on the engine side.
Revision 1.49 / (download) - annotate - [select for diffs], Tue Jan 19 16:49:56 2021 UTC (3 years, 4 months ago) by florian
Branch: MAIN
Changes since 1.48: +3 -3 lines
Diff to previous 1.48 (colored)
Make imsg event structs static to fix -fno-common. Follows claudio's lead in ospfd et al. Problem reported by mortimer.
Revision 1.48 / (download) - annotate - [select for diffs], Tue Jan 19 16:49:10 2021 UTC (3 years, 4 months ago) by florian
Branch: MAIN
Changes since 1.47: +2 -11 lines
Diff to previous 1.47 (colored)
Move control_state and ctl_conns to control.c, it's not needed elsewhere and unbreaks -fno-common. Inspired by claudio Problem reported by mortimer
Revision 1.47 / (download) - annotate - [select for diffs], Tue Jan 19 16:48:20 2021 UTC (3 years, 4 months ago) by florian
Branch: MAIN
Changes since 1.46: +3 -4 lines
Diff to previous 1.46 (colored)
No need for a global slaacd_process; unbreaks -fno-common. Problem reported by mortimer
Revision 1.46 / (download) - annotate - [select for diffs], Sun Jan 17 15:39:17 2021 UTC (3 years, 4 months ago) by florian
Branch: MAIN
Changes since 1.45: +5 -1 lines
Diff to previous 1.45 (colored)
Mark up locations of KAME hack with #ifdef __KAME__ so that we can find it again if and when we no longer need it. No object change.
Revision 1.45 / (download) - annotate - [select for diffs], Sat Jan 16 18:02:34 2021 UTC (3 years, 4 months ago) by florian
Branch: MAIN
Changes since 1.44: +3 -2 lines
Diff to previous 1.44 (colored)
Oops, fix previous. We only want to recover the scope id if it hasn't already been recovered. But we want to always copy the link-local address.
Revision 1.44 / (download) - annotate - [select for diffs], Sat Jan 16 17:45:45 2021 UTC (3 years, 4 months ago) by florian
Branch: MAIN
Changes since 1.43: +6 -4 lines
Diff to previous 1.43 (colored)
Only recover the KAME embedded scope if the sin6_scope_id is not initialized. If it is set assume the scope was already recovered. OK bluhm, claudio
Revision 1.43 / (download) - annotate - [select for diffs], Tue Dec 29 19:51:15 2020 UTC (3 years, 5 months ago) by benno
Branch: MAIN
Changes since 1.42: +5 -1 lines
Diff to previous 1.42 (colored)
getifaddrs() can return entries where ifa_addr is NULL. Check for this before accessing anything in ifa_addr. florian@ mentioned this might be a problem in slaacd(8) and rad(8) after claudio@ fixed it in bgpd, so i went looking...
Revision 1.42 / (download) - annotate - [select for diffs], Tue Dec 1 18:08:53 2020 UTC (3 years, 6 months ago) by florian
Branch: MAIN
Changes since 1.41: +15 -16 lines
Diff to previous 1.41 (colored)
Sync get_ifrdomain() to rad(8) version by removing a useles (void) cast in front of a strlcpy(3). tb@ had pointed out that the use in rad(8) was not consistent. I consider the void cast a useless annotation, either the strl* functions must have the canonical trucation check or it must be obvious that truncation cannot happen or is not a problem. While at it remove a bunch more casts that snuck in over time.
Revision 1.41 / (download) - annotate - [select for diffs], Sun Nov 29 09:39:33 2020 UTC (3 years, 6 months ago) by florian
Branch: MAIN
Changes since 1.40: +3 -2 lines
Diff to previous 1.40 (colored)
Fix previous; we need to set the icmp6ev in the interface to NULL otherwise we are referencing the wrong one when the rdomain changes. Sorry for not spotting it earlier.
Revision 1.40 / (download) - annotate - [select for diffs], Sat Nov 28 22:06:25 2020 UTC (3 years, 6 months ago) by naddy
Branch: MAIN
Changes since 1.39: +10 -8 lines
Diff to previous 1.39 (colored)
improve legibility of the newly introduced unref_icmp6ev() before this code gets copied around; ok florian@
Revision 1.39 / (download) - annotate - [select for diffs], Sat Nov 28 07:59:26 2020 UTC (3 years, 6 months ago) by florian
Branch: MAIN
Changes since 1.38: +9 -4 lines
Diff to previous 1.38 (colored)
An interface might have disappeared or switched rdomains while we waited for a FD. It's not a fatal condition if it arrives late. OK tb
Revision 1.38 / (download) - annotate - [select for diffs], Sat Nov 28 07:58:50 2020 UTC (3 years, 6 months ago) by florian
Branch: MAIN
Changes since 1.37: +18 -18 lines
Diff to previous 1.37 (colored)
Reduce code duplication by introducing unref_icmp6ev(). OK tb
Revision 1.37 / (download) - annotate - [select for diffs], Sat Nov 28 07:58:19 2020 UTC (3 years, 6 months ago) by florian
Branch: MAIN
Changes since 1.36: +44 -26 lines
Diff to previous 1.36 (colored)
Handle the case of an autoconf interface changing its rdomain. To avoide code duplication have get_icmp6ev_by_rdomain() either return an existing icmp6ev in the correct rdomain or allocate one. OK tb
Revision 1.36 / (download) - annotate - [select for diffs], Thu Sep 17 18:18:07 2020 UTC (3 years, 8 months ago) by semarie
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE,
OPENBSD_6_8
Changes since 1.35: +8 -8 lines
Diff to previous 1.35 (colored)
With the multi rdomain support, slaacd now sees all icmpv6 packets and filters in userland. But the packet type check was placed at the wrong place so the hoplimit check was done against every icmpv6 packet but no all of them have a hoplimit constraint. tested and ok by me, committed on behalf of florian@
Revision 1.35 / (download) - annotate - [select for diffs], Mon Sep 14 09:07:05 2020 UTC (3 years, 8 months ago) by florian
Branch: MAIN
Changes since 1.34: +186 -72 lines
Diff to previous 1.34 (colored)
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 1.34 / (download) - annotate - [select for diffs], Wed Aug 19 05:55:08 2020 UTC (3 years, 9 months ago) by florian
Branch: MAIN
Changes since 1.33: +12 -4 lines
Diff to previous 1.33 (colored)
When sending a router solicitation use the link-layer (mac) address of the outgoing interface in the source link-layer address ICMPv6 option instead of the address of the last configured autoconf interface. It is not the most efficient way to first transform an if_index into and interface name and then iterate over all addresses but this is also not in the hot path. Under normal operations slaacd will send one solicitation when an interface is set to autoconf and then never again because it will see unsolicitated router advertisements before addresses expire. OK kn
Revision 1.33 / (download) - annotate - [select for diffs], Fri Jul 3 17:42:50 2020 UTC (3 years, 11 months ago) by florian
Branch: MAIN
Changes since 1.32: +4 -4 lines
Diff to previous 1.32 (colored)
Rename IN6_IFF_PRIVACY to IN6_IFF_TEMPORARY. This is the name the other BSDs use for this, there is no reason to be different, the IPv6 RFCs call these addresses temporary, and some software in ports wants to use this as well. Most recently pointed out for firefox by landry. OK claudio, sthen
Revision 1.32 / (download) - annotate - [select for diffs], Fri Apr 17 06:27:32 2020 UTC (4 years, 1 month ago) by florian
Branch: MAIN
CVS Tags: OPENBSD_6_7_BASE,
OPENBSD_6_7
Changes since 1.31: +26 -5 lines
Diff to previous 1.31 (colored)
Only pay attention to interfaces in our routing domain OK tohe
Revision 1.31 / (download) - annotate - [select for diffs], Mon Nov 11 05:48:46 2019 UTC (4 years, 6 months ago) by florian
Branch: MAIN
Changes since 1.30: +12 -1 lines
Diff to previous 1.30 (colored)
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.
Revision 1.30 / (download) - annotate - [select for diffs], Thu Nov 7 08:45:31 2019 UTC (4 years, 7 months ago) by florian
Branch: MAIN
Changes since 1.29: +1 -64 lines
Diff to previous 1.29 (colored)
Remove half way implemented address and default route proposals. This never worked out and is getting in the way of DNS proposals which are coming next. No (intended) functional change. Input & OK tohe
Revision 1.29 / (download) - annotate - [select for diffs], Tue Nov 5 15:43:18 2019 UTC (4 years, 7 months ago) by florian
Branch: MAIN
Changes since 1.28: +3 -3 lines
Diff to previous 1.28 (colored)
trailing whitespace
Revision 1.28 / (download) - annotate - [select for diffs], Tue Sep 3 07:55:07 2019 UTC (4 years, 9 months ago) by florian
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE,
OPENBSD_6_6
Changes since 1.27: +15 -9 lines
Diff to previous 1.27 (colored)
It's perfectly normal for the SIOCGIFFLAGS and SIOCGIFXFLAGS to fail when an interface is gone. Bubble the error up and let the callers deal with it instead of exiting. OK deraadt, benno
Revision 1.27 / (download) - annotate - [select for diffs], Fri Jun 28 13:32:46 2019 UTC (4 years, 11 months ago) by deraadt
Branch: MAIN
Changes since 1.26: +9 -10 lines
Diff to previous 1.26 (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.26 / (download) - annotate - [select for diffs], Fri Mar 15 16:45:33 2019 UTC (5 years, 2 months ago) by florian
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE,
OPENBSD_6_5
Changes since 1.25: +4 -1 lines
Diff to previous 1.25 (colored)
Do not accept a control socket if we already have one. OK pamela
Revision 1.25 / (download) - annotate - [select for diffs], Mon Mar 11 22:53:29 2019 UTC (5 years, 2 months ago) by pamela
Branch: MAIN
Changes since 1.24: +9 -1 lines
Diff to previous 1.24 (colored)
Make slaacd(8) imsg processing more paranoid. Unexpected size mismatches mean we should no longer trust processes, so we call fatal(x). The control socket is the exception, where we ignore rather than allow crashes due to data from the outside. suggestion/input and OK florian@
Revision 1.24 / (download) - annotate - [select for diffs], Mon Mar 11 14:51:20 2019 UTC (5 years, 3 months ago) by florian
Branch: MAIN
Changes since 1.23: +3 -3 lines
Diff to previous 1.23 (colored)
While strtonum(3) does set errno, we already use errstr to show what's going on so use log_warnx to not print a useless 2nd error message. OK pamela
Revision 1.23 / (download) - annotate - [select for diffs], Fri Mar 1 16:34:58 2019 UTC (5 years, 3 months ago) by florian
Branch: MAIN
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored)
trailing whitespace
Revision 1.22 / (download) - annotate - [select for diffs], Mon Jul 23 17:25:52 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE,
OPENBSD_6_4
Changes since 1.21: +16 -1 lines
Diff to previous 1.21 (colored)
When moving between networks slaacd configures new addresses but leaves old ones behind. The IPv6 RFCs don't seem to offer guidance on what to do in this case. (RFC 5220 discusses related issues, but not exactly this.) It seems a bit harsh to just delete old addresses - a naive implementation can easily lead to flip-flopping between two prefixes. Instead set the preferred lifetime to 0 for all addresses on an interface when the link goes down, thus marking addresses as deprecated but still usable. When the link comes back send a router solicitation. If we are still on the old network and receive a router advertisement the preferred lifetime will increase and the addresses will no longer be deprecated. If we moved to a new network we will get new router advertisements and form new addresses. The old ones will stay deprecated and the address selection algorithm will prefer new addresses. Problem reported by many. testing & OK phessler
Revision 1.21 / (download) - annotate - [select for diffs], Mon Jul 23 06:14:14 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.20: +66 -1 lines
Diff to previous 1.20 (colored)
Handle duplicate address detection failures. We get notified when duplication is detected on the route socket. For privacy addresses simply generate a new random address. If we have soii enabled increase the dad counter on the prefix and generate a new address. For eui64 addresses nothing can be done.
Revision 1.20 / (download) - annotate - [select for diffs], Wed Jun 6 14:08:28 2018 UTC (6 years ago) by florian
Branch: MAIN
Changes since 1.19: +3 -3 lines
Diff to previous 1.19 (colored)
After pledge the frontend process is only accepting from an AF_UNIX socket (the control socket) so replace inet with unix pledge.
Revision 1.19 / (download) - annotate - [select for diffs], Fri May 18 13:21:46 2018 UTC (6 years ago) by florian
Branch: MAIN
Changes since 1.18: +6 -8 lines
Diff to previous 1.18 (colored)
merge two ifndef small blocks; no functional change
Revision 1.18 / (download) - annotate - [select for diffs], Fri May 18 11:19:03 2018 UTC (6 years ago) by florian
Branch: MAIN
Changes since 1.17: +2 -6 lines
Diff to previous 1.17 (colored)
dead stores; from llvm scan-build
Revision 1.17 / (download) - annotate - [select for diffs], Thu May 17 13:39:00 2018 UTC (6 years ago) by florian
Branch: MAIN
Changes since 1.16: +43 -1 lines
Diff to previous 1.16 (colored)
Handle RTM_DELETE of slaacd managed default route by re-inserting it. Problem pointed out & OK phessler
Revision 1.16 / (download) - annotate - [select for diffs], Thu May 17 11:51:27 2018 UTC (6 years ago) by florian
Branch: MAIN
Changes since 1.15: +5 -4 lines
Diff to previous 1.15 (colored)
Introduce SLAACD_RTA_LABEL define to not use a string constant all over the place.
Revision 1.15 / (download) - annotate - [select for diffs], Wed May 16 11:39:30 2018 UTC (6 years ago) by florian
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)
Create all sockets with SOCK_CLOEXEC, we never want to hold on to them over execve(2).
Revision 1.14 / (download) - annotate - [select for diffs], Thu Apr 26 17:07:31 2018 UTC (6 years, 1 month ago) by florian
Branch: MAIN
Changes since 1.13: +3 -1 lines
Diff to previous 1.13 (colored)
The frontend tells the main process when the startup is finished so that we can drop the sendfd pledge.
Revision 1.13 / (download) - annotate - [select for diffs], Tue Feb 20 16:22:19 2018 UTC (6 years, 3 months ago) by otto
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE,
OPENBSD_6_3
Changes since 1.12: +2 -2 lines
Diff to previous 1.12 (colored)
make sure we've read the lenght bytes before checking the length ok benno@
Revision 1.12 / (download) - annotate - [select for diffs], Mon Feb 19 09:52:16 2018 UTC (6 years, 3 months ago) by otto
Branch: MAIN
Changes since 1.11: +11 -5 lines
Diff to previous 1.11 (colored)
(static) byte buffers are not aligned in any way, malloc the buffer to solve that. Prevents bus error on armv7. ok naddy@ florian@
Revision 1.11 / (download) - annotate - [select for diffs], Sat Feb 10 05:57:59 2018 UTC (6 years, 3 months ago) by florian
Branch: MAIN
Changes since 1.10: +2 -1 lines
Diff to previous 1.10 (colored)
RFC 7217 support for slaacd OK naddy, sthen
Revision 1.10 / (download) - annotate - [select for diffs], Sun Dec 10 10:07:54 2017 UTC (6 years, 6 months ago) by florian
Branch: MAIN
Changes since 1.9: +44 -51 lines
Diff to previous 1.9 (colored)
Move privileged initialization from frontend to main process. Needed for future work where we will spin up children via fork - privdrop - exec. Child processes will no longer come up with root privileges.
Revision 1.9 / (download) - annotate - [select for diffs], Sat Nov 4 17:23:05 2017 UTC (6 years, 7 months ago) by florian
Branch: MAIN
Changes since 1.8: +6 -9 lines
Diff to previous 1.8 (colored)
Don't keep blindly chugging along when receiving an unexpected imsg, something is seriously wrong.
Revision 1.8 / (download) - annotate - [select for diffs], Wed Aug 23 10:48:01 2017 UTC (6 years, 9 months ago) by florian
Branch: MAIN
CVS Tags: OPENBSD_6_2_BASE,
OPENBSD_6_2
Changes since 1.7: +113 -3 lines
Diff to previous 1.7 (colored)
When starting up or when the autoconf6 flag is set on an interface collect already configured autoconf addresses and track them in the engine. That way we are not adding a new privacy address on every restart.
Revision 1.7 / (download) - annotate - [select for diffs], Mon Aug 21 14:47:21 2017 UTC (6 years, 9 months ago) by florian
Branch: MAIN
Changes since 1.6: +5 -5 lines
Diff to previous 1.6 (colored)
s/xflagssock/ioctlsock/ since the socket is (going to be) used for more.
Revision 1.6 / (download) - annotate - [select for diffs], Sat Aug 12 07:39:55 2017 UTC (6 years, 9 months ago) by florian
Branch: MAIN
Changes since 1.5: +12 -19 lines
Diff to previous 1.5 (colored)
When read(2)'ing from the routing socket only one message is returned. Clue provided by jca and claudio. OK jca
Revision 1.5 / (download) - annotate - [select for diffs], Mon Jul 24 11:00:01 2017 UTC (6 years, 10 months ago) by friehm
Branch: MAIN
Changes since 1.4: +3 -3 lines
Diff to previous 1.4 (colored)
Unify ROUNDUP macros for parsing route messages. Use the macro from route(8) / ospf6d(8) since it works also with argument 0. OK claudio@
Revision 1.4 / (download) - annotate - [select for diffs], Fri Jul 14 09:29:40 2017 UTC (6 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 (colored)
run IMSG_UPDATE_IF through the main process, reduces upcomming diff for RFC 7217 support
Revision 1.3 / (download) - annotate - [select for diffs], Thu Jul 6 15:02:53 2017 UTC (6 years, 11 months ago) by florian
Branch: MAIN
Changes since 1.2: +9 -1 lines
Diff to previous 1.2 (colored)
Sprinkel in some #ifndef SMALL to make slaacd smaller for the installer. This removes the control socket handling which is useless because we won't have slaacctl in the installer. Also deraadt@ pointed out that this would be the first use of log.c in the installer where we don't have syslogd running so it's rather pointless. So this completely neuters logging. The log.h change doesn't interfere with benno@'s efforts of unifying log.c The installer version of slaacd won't even compile control.c and log.c
Revision 1.2 / (download) - annotate - [select for diffs], Mon Jul 3 19:02:04 2017 UTC (6 years, 11 months ago) by florian
Branch: MAIN
Changes since 1.1: +3 -3 lines
Diff to previous 1.1 (colored)
s/log_warn/log_warnx/ where errno is not set
Revision 1.1 / (download) - annotate - [select for diffs], Sat Jun 3 10:00:29 2017 UTC (7 years ago) by florian
Branch: MAIN
Move slaacd to /sbin jca points out that all the other interface configuration tools live there (like ifconfig or dhclient). Furthermore it starts so early in the boot process that /usr might not be mounted yet if it's a nfs filesystem. sthen and deraadt agree