From caabca1cee9be89b8a1632b9f73b0c76a14777b7 Mon Sep 17 00:00:00 2001 From: purplerain Date: Fri, 28 Jun 2024 01:31:32 +0000 Subject: [PATCH] sync with OpenBSD -current --- sbin/dhcpleased/frontend.c | 14 +------- sys/dev/fdt/rktemp.c | 68 ++++++++++++++++++++++++++++++++--- sys/dev/ic/ufshci.c | 8 ++--- sys/dev/ofw/ofw_thermal.c | 31 +++++++++++++--- sys/dev/ofw/ofw_thermal.h | 3 +- usr.bin/ssh/log.c | 15 +------- usr.bin/ssh/log.h | 9 +---- usr.bin/ssh/ssh.1 | 7 ++-- usr.bin/ssh/sshd.c | 59 ++++++++++-------------------- usr.sbin/dhcpd/dhcp-options.5 | 25 ++++--------- usr.sbin/dhcpd/dhcpd.8 | 6 ++-- usr.sbin/dhcpd/dhcpd.leases.5 | 10 ++---- usr.sbin/dhcpd/parse.c | 4 +-- usr.sbin/dhcrelay/dhcrelay.8 | 10 +++--- 14 files changed, 137 insertions(+), 132 deletions(-) diff --git a/sbin/dhcpleased/frontend.c b/sbin/dhcpleased/frontend.c index 9dbe88716..fdc4ae8ca 100644 --- a/sbin/dhcpleased/frontend.c +++ b/sbin/dhcpleased/frontend.c @@ -1,4 +1,4 @@ -/* $OpenBSD: frontend.c,v 1.34 2024/06/03 17:58:33 deraadt Exp $ */ +/* $OpenBSD: frontend.c,v 1.35 2024/06/27 14:53:06 florian Exp $ */ /* * Copyright (c) 2017, 2021 Florian Obser @@ -809,18 +809,6 @@ handle_route_message(struct rt_msghdr *rtm, struct sockaddr **rti_info) frontend_imsg_compose_engine(IMSG_REPROPOSE_RDNS, 0, 0, NULL, 0); } -#ifndef SMALL - else if (rtm->rtm_flags & RTF_PROTO3) { - char ifnamebuf[IF_NAMESIZE], *if_name; - - if_index = rtm->rtm_index; - if_name = if_indextoname(if_index, ifnamebuf); - log_warnx("\"dhclient %s\" ran, requesting new lease", - if_name != NULL ? if_name : "(unknown)"); - frontend_imsg_compose_engine(IMSG_REQUEST_REBOOT, - 0, 0, &if_index, sizeof(if_index)); - } -#endif /* SMALL */ break; default: log_debug("unexpected RTM: %d", rtm->rtm_type); diff --git a/sys/dev/fdt/rktemp.c b/sys/dev/fdt/rktemp.c index ce11c36cb..78eb77947 100644 --- a/sys/dev/fdt/rktemp.c +++ b/sys/dev/fdt/rktemp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rktemp.c,v 1.13 2024/06/12 09:06:15 kettenis Exp $ */ +/* $OpenBSD: rktemp.c,v 1.14 2024/06/27 09:40:15 kettenis Exp $ */ /* * Copyright (c) 2017 Mark Kettenis * @@ -55,6 +55,8 @@ /* RK3588 */ #define TSADC_V3_AUTO_SRC 0x000c #define TSADC_V3_AUTO_SRC_CH(ch) (1 << (ch)) +#define TSADC_V3_HT_INT_EN 0x0014 +#define TSADC_V3_HT_INT_EN_CH(ch) (1 << (ch)) #define TSADC_V3_GPIO_EN 0x0018 #define TSADC_V3_GPIO_EN_CH(ch) (1 << (ch)) #define TSADC_V3_CRU_EN 0x001c @@ -62,6 +64,7 @@ #define TSADC_V3_HLT_INT_PD 0x0024 #define TSADC_V3_HT_INT_STATUS(ch) (1 << (ch)) #define TSADC_V3_DATA(ch) (0x002c + (ch) * 4) +#define TSADC_V3_COMP_INT(ch) (0x006c + (ch) * 4) #define TSADC_V3_COMP_SHUT(ch) (0x010c + (ch) * 4) #define TSADC_V3_HIGHT_INT_DEBOUNCE 0x014c #define TSADC_V3_HIGHT_TSHUT_DEBOUNCE 0x0150 @@ -266,6 +269,7 @@ struct rktemp_softc { bus_space_tag_t sc_iot; bus_space_handle_t sc_ioh; int sc_node; + void *sc_ih; bus_size_t sc_data0; @@ -290,12 +294,14 @@ struct cfdriver rktemp_cd = { NULL, "rktemp", DV_DULL }; +int rktemp_intr(void *); void rktemp_rk3568_init(struct rktemp_softc *); int32_t rktemp_calc_code(struct rktemp_softc *, int32_t); int32_t rktemp_calc_temp(struct rktemp_softc *, int32_t); int rktemp_valid(struct rktemp_softc *, int32_t); void rktemp_refresh_sensors(void *); int32_t rktemp_get_temperature(void *, uint32_t *); +int rktemp_set_limit(void *, uint32_t *, uint32_t); int rktemp_match(struct device *parent, void *match, void *aux) @@ -335,6 +341,15 @@ rktemp_attach(struct device *parent, struct device *self, void *aux) return; } + if (OF_is_compatible(sc->sc_node, "rockchip,rk3588-tsadc")) { + sc->sc_ih = fdt_intr_establish(faa->fa_node, IPL_SOFTCLOCK, + rktemp_intr, sc, sc->sc_dev.dv_xname); + if (sc->sc_ih == NULL) { + printf(": can't establish interrupt\n"); + return; + } + } + printf("\n"); if (OF_is_compatible(sc->sc_node, "rockchip,rk3288-tsadc")) { @@ -515,9 +530,34 @@ rktemp_attach(struct device *parent, struct device *self, void *aux) sc->sc_ts.ts_node = sc->sc_node; sc->sc_ts.ts_cookie = sc; sc->sc_ts.ts_get_temperature = rktemp_get_temperature; + if (OF_is_compatible(sc->sc_node, "rockchip,rk3588-tsadc")) + sc->sc_ts.ts_set_limit = rktemp_set_limit; thermal_sensor_register(&sc->sc_ts); } +int +rktemp_intr(void *arg) +{ + struct rktemp_softc *sc = arg; + uint32_t stat, ch; + + stat = HREAD4(sc, TSADC_V3_HLT_INT_PD); + stat &= HREAD4(sc, TSADC_V3_HT_INT_EN); + for (ch = 0; ch < sc->sc_nsensors; ch++) { + if (stat & TSADC_V3_HT_INT_STATUS(ch)) + thermal_sensor_update(&sc->sc_ts, &ch); + } + + /* + * Disable and clear the active interrupts. The thermal zone + * code will set a new limit when necessary. + */ + HWRITE4(sc, TSADC_V3_HT_INT_EN, stat << 16); + HWRITE4(sc, TSADC_V3_HLT_INT_PD, stat); + + return 1; +} + void rktemp_rk3568_init(struct rktemp_softc *sc) { @@ -647,15 +687,35 @@ int32_t rktemp_get_temperature(void *cookie, uint32_t *cells) { struct rktemp_softc *sc = cookie; - uint32_t idx = cells[0]; + uint32_t ch = cells[0]; int32_t code; - if (idx >= sc->sc_nsensors) + if (ch >= sc->sc_nsensors) return THERMAL_SENSOR_MAX; - code = HREAD4(sc, sc->sc_data0 + (idx * 4)); + code = HREAD4(sc, sc->sc_data0 + (ch * 4)); if (rktemp_valid(sc, code)) return rktemp_calc_temp(sc, code); else return THERMAL_SENSOR_MAX; } + +int +rktemp_set_limit(void *cookie, uint32_t *cells, uint32_t temp) +{ + struct rktemp_softc *sc = cookie; + uint32_t ch = cells[0]; + + if (ch >= sc->sc_nsensors) + return ENXIO; + + /* Set limit for this sensor. */ + HWRITE4(sc, TSADC_V3_COMP_INT(ch), rktemp_calc_code(sc, temp)); + + /* Clear and enable the corresponding interrupt. */ + HWRITE4(sc, TSADC_V3_HLT_INT_PD, TSADC_V3_HT_INT_STATUS(ch)); + HWRITE4(sc, TSADC_V3_HT_INT_EN, TSADC_V3_HT_INT_EN_CH(ch) << 16 | + TSADC_V3_HT_INT_EN_CH(ch)); + + return 0; +} diff --git a/sys/dev/ic/ufshci.c b/sys/dev/ic/ufshci.c index 4ae343819..4b043f828 100644 --- a/sys/dev/ic/ufshci.c +++ b/sys/dev/ic/ufshci.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ufshci.c,v 1.38 2024/06/15 18:26:25 mglocker Exp $ */ +/* $OpenBSD: ufshci.c,v 1.39 2024/06/27 21:35:34 mglocker Exp $ */ /* * Copyright (c) 2022 Marcus Glocker @@ -133,6 +133,9 @@ ufshci_intr(void *arg) if (status == 0) return handled; + /* ACK interrupt */ + UFSHCI_WRITE_4(sc, UFSHCI_REG_IS, status); + if (status & UFSHCI_REG_IS_UCCS) { DPRINTF(3, "%s: UCCS interrupt\n", __func__); handled = 1; @@ -163,9 +166,6 @@ ufshci_intr(void *arg) sc->sc_dev.dv_xname, status); } - /* ACK interrupt */ - UFSHCI_WRITE_4(sc, UFSHCI_REG_IS, status); - return handled; } diff --git a/sys/dev/ofw/ofw_thermal.c b/sys/dev/ofw/ofw_thermal.c index 5c4299240..3e7ab6813 100644 --- a/sys/dev/ofw/ofw_thermal.c +++ b/sys/dev/ofw/ofw_thermal.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ofw_thermal.c,v 1.8 2023/11/23 00:47:13 dlg Exp $ */ +/* $OpenBSD: ofw_thermal.c,v 1.9 2024/06/27 09:37:07 kettenis Exp $ */ /* * Copyright (c) 2019 Mark Kettenis * @@ -160,6 +160,23 @@ thermal_get_temperature_cells(uint32_t *cells) return THERMAL_SENSOR_MAX; } +int +thermal_set_limit_cells(uint32_t *cells, uint32_t temp) +{ + struct thermal_sensor *ts; + uint32_t phandle = cells[0]; + + LIST_FOREACH(ts, &thermal_sensors, ts_list) { + if (ts->ts_phandle == phandle) + break; + } + + if (ts && ts->ts_set_limit) + return ts->ts_set_limit(ts->ts_cookie, &cells[1], temp); + + return ENXIO; +} + void thermal_zone_poll_timeout(void *arg) { @@ -352,7 +369,11 @@ out: polling_delay = tz->tz_polling_delay_passive; else polling_delay = tz->tz_polling_delay; - timeout_add_msec(&tz->tz_poll_to, polling_delay); + + if (polling_delay > 0) + timeout_add_msec(&tz->tz_poll_to, polling_delay); + else + thermal_set_limit_cells(tz->tz_sensors, tp->tp_temperature); } static int @@ -497,14 +518,14 @@ thermal_zone_init(int node) cm++; } - /* Start polling if we are requested to do so. */ - if (tz->tz_polling_delay > 0) - timeout_add_msec(&tz->tz_poll_to, tz->tz_polling_delay); LIST_INSERT_HEAD(&thermal_zones, tz, tz_list); #if NKSTAT > 0 thermal_zone_kstat_attach(tz); #endif + + /* Poll once to get things going. */ + thermal_zone_poll(tz); } void diff --git a/sys/dev/ofw/ofw_thermal.h b/sys/dev/ofw/ofw_thermal.h index 21c63041b..aa24e0902 100644 --- a/sys/dev/ofw/ofw_thermal.h +++ b/sys/dev/ofw/ofw_thermal.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ofw_thermal.h,v 1.2 2020/01/23 23:10:04 kettenis Exp $ */ +/* $OpenBSD: ofw_thermal.h,v 1.3 2024/06/27 09:37:07 kettenis Exp $ */ /* * Copyright (c) 2019 Mark Kettenis * @@ -23,6 +23,7 @@ struct thermal_sensor { void *ts_cookie; int32_t (*ts_get_temperature)(void *, uint32_t *); + int (*ts_set_limit)(void *, uint32_t *, uint32_t); LIST_ENTRY(thermal_sensor) ts_list; uint32_t ts_phandle; diff --git a/usr.bin/ssh/log.c b/usr.bin/ssh/log.c index 57d7d166b..5e12fcb28 100644 --- a/usr.bin/ssh/log.c +++ b/usr.bin/ssh/log.c @@ -1,4 +1,4 @@ -/* $OpenBSD: log.c,v 1.61 2023/12/06 21:06:48 djm Exp $ */ +/* $OpenBSD: log.c,v 1.62 2024/06/27 22:36:44 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -405,19 +405,6 @@ sshlogdie(const char *file, const char *func, int line, int showfunc, cleanup_exit(255); } -void -sshsigdie(const char *file, const char *func, int line, int showfunc, - LogLevel level, const char *suffix, const char *fmt, ...) -{ - va_list args; - - va_start(args, fmt); - sshlogv(file, func, line, showfunc, SYSLOG_LEVEL_FATAL, - suffix, fmt, args); - va_end(args); - _exit(1); -} - void sshlogv(const char *file, const char *func, int line, int showfunc, LogLevel level, const char *suffix, const char *fmt, va_list args) diff --git a/usr.bin/ssh/log.h b/usr.bin/ssh/log.h index 6221f57f5..cced76c54 100644 --- a/usr.bin/ssh/log.h +++ b/usr.bin/ssh/log.h @@ -1,4 +1,4 @@ -/* $OpenBSD: log.h,v 1.33 2021/04/15 16:24:31 markus Exp $ */ +/* $OpenBSD: log.h,v 1.34 2024/06/27 22:36:44 djm Exp $ */ /* * Author: Tatu Ylonen @@ -69,9 +69,6 @@ void sshlog(const char *, const char *, int, int, __attribute__((format(printf, 7, 8))); void sshlogv(const char *, const char *, int, int, LogLevel, const char *, const char *, va_list); -void sshsigdie(const char *, const char *, int, int, - LogLevel, const char *, const char *, ...) __attribute__((noreturn)) - __attribute__((format(printf, 7, 8))); void sshlogdie(const char *, const char *, int, int, LogLevel, const char *, const char *, ...) __attribute__((noreturn)) __attribute__((format(printf, 7, 8))); @@ -90,7 +87,6 @@ void sshlogdirect(LogLevel, int, const char *, ...) #define error(...) sshlog(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_ERROR, NULL, __VA_ARGS__) #define fatal(...) sshfatal(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_FATAL, NULL, __VA_ARGS__) #define logdie(...) sshlogdie(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_ERROR, NULL, __VA_ARGS__) -#define sigdie(...) sshsigdie(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_ERROR, NULL, __VA_ARGS__) /* Variants that prepend the caller's function */ #define do_log2_f(level, ...) sshlog(__FILE__, __func__, __LINE__, 1, level, NULL, __VA_ARGS__) @@ -102,7 +98,6 @@ void sshlogdirect(LogLevel, int, const char *, ...) #define error_f(...) sshlog(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_ERROR, NULL, __VA_ARGS__) #define fatal_f(...) sshfatal(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_FATAL, NULL, __VA_ARGS__) #define logdie_f(...) sshlogdie(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_ERROR, NULL, __VA_ARGS__) -#define sigdie_f(...) sshsigdie(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_ERROR, NULL, __VA_ARGS__) /* Variants that appends a ssh_err message */ #define do_log2_r(r, level, ...) sshlog(__FILE__, __func__, __LINE__, 0, level, ssh_err(r), __VA_ARGS__) @@ -114,7 +109,6 @@ void sshlogdirect(LogLevel, int, const char *, ...) #define error_r(r, ...) sshlog(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_ERROR, ssh_err(r), __VA_ARGS__) #define fatal_r(r, ...) sshfatal(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_FATAL, ssh_err(r), __VA_ARGS__) #define logdie_r(r, ...) sshlogdie(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_ERROR, ssh_err(r), __VA_ARGS__) -#define sigdie_r(r, ...) sshsigdie(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_ERROR, ssh_err(r), __VA_ARGS__) #define do_log2_fr(r, level, ...) sshlog(__FILE__, __func__, __LINE__, 1, level, ssh_err(r), __VA_ARGS__) #define debug3_fr(r, ...) sshlog(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_DEBUG3, ssh_err(r), __VA_ARGS__) #define debug2_fr(r, ...) sshlog(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_DEBUG2, ssh_err(r), __VA_ARGS__) @@ -124,6 +118,5 @@ void sshlogdirect(LogLevel, int, const char *, ...) #define error_fr(r, ...) sshlog(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_ERROR, ssh_err(r), __VA_ARGS__) #define fatal_fr(r, ...) sshfatal(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_FATAL, ssh_err(r), __VA_ARGS__) #define logdie_fr(r, ...) sshlogdie(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_ERROR, ssh_err(r), __VA_ARGS__) -#define sigdie_fr(r, ...) sshsigdie(__FILE__, __func__, __LINE__, 1, SYSLOG_LEVEL_ERROR, ssh_err(r), __VA_ARGS__) #endif diff --git a/usr.bin/ssh/ssh.1 b/usr.bin/ssh/ssh.1 index 6b5bb0e07..f871ff4e4 100644 --- a/usr.bin/ssh/ssh.1 +++ b/usr.bin/ssh/ssh.1 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh.1,v 1.441 2024/06/17 08:30:29 djm Exp $ -.Dd $Mdocdate: June 17 2024 $ +.\" $OpenBSD: ssh.1,v 1.442 2024/06/27 21:02:16 jmc Exp $ +.Dd $Mdocdate: June 27 2024 $ .Dt SSH 1 .Os .Sh NAME @@ -929,9 +929,6 @@ The server knows the public key, and only the user knows the private key. .Nm implements public key authentication protocol automatically, using one of the ECDSA, Ed25519 or RSA algorithms. -The HISTORY section of -.Xr ssl 8 -contains a brief discussion of the RSA and ECDSA algorithms. .Pp The file .Pa ~/.ssh/authorized_keys diff --git a/usr.bin/ssh/sshd.c b/usr.bin/ssh/sshd.c index adc71cefe..64d0d0d75 100644 --- a/usr.bin/ssh/sshd.c +++ b/usr.bin/ssh/sshd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshd.c,v 1.607 2024/06/06 19:50:01 djm Exp $ */ +/* $OpenBSD: sshd.c,v 1.609 2024/06/27 23:01:15 djm Exp $ */ /* * Copyright (c) 2000, 2001, 2002 Markus Friedl. All rights reserved. * Copyright (c) 2002 Niels Provos. All rights reserved. @@ -369,25 +369,7 @@ child_reap(struct early_child *child) break; } } - /* - * XXX would be nice to have more subtlety here. - * - Different penalties - * a) authentication failures without success (e.g. brute force) - * b) login grace exceeded (penalise DoS) - * c) monitor crash (penalise exploit attempt) - * d) unpriv preauth crash (penalise exploit attempt) - * - Unpriv auth exit status/WIFSIGNALLED is not available because - * the "mm_request_receive: monitor fd closed" fatal kills the - * monitor before waitpid() can occur. It would be good to use the - * unpriv exit status to detect crashes. - * - * For now, just penalise (a), (b) and (c), since that is what we have - * readily available. The authentication failures detection cannot - * discern between failed authentication and other connection problems - * until we have the unpriv exist status plumbed through (and the unpriv - * child modified to use a different exit status when auth has been - * attempted), but it's a start. - */ + if (child->have_addr) srclimit_penalise(&child->addr, penalty_type); @@ -402,9 +384,25 @@ static void child_reap_all_exited(void) { int i; + pid_t pid; + int status; if (children == NULL) return; + + for (;;) { + if ((pid = waitpid(-1, &status, WNOHANG)) == 0) + break; + else if (pid == -1) { + if (errno == EINTR || errno == EAGAIN) + continue; + if (errno != ECHILD) + error_f("waitpid: %s", strerror(errno)); + break; + } + child_exit(pid, status); + } + for (i = 0; i < options.max_startups; i++) { if (!children[i].have_status) continue; @@ -491,29 +489,10 @@ siginfo_handler(int sig) received_siginfo = 1; } -/* - * SIGCHLD handler. This is called whenever a child dies. This will then - * reap any zombies left by exited children. - */ static void main_sigchld_handler(int sig) { - int save_errno = errno; - pid_t pid; - int status; - - for (;;) { - if ((pid = waitpid(-1, &status, WNOHANG)) == 0) - break; - else if (pid == -1) { - if (errno == EINTR) - continue; - break; - } - child_exit(pid, status); - received_sigchld = 1; - } - errno = save_errno; + received_sigchld = 1; } /* diff --git a/usr.sbin/dhcpd/dhcp-options.5 b/usr.sbin/dhcpd/dhcp-options.5 index e8c4ff138..187eec0d7 100644 --- a/usr.sbin/dhcpd/dhcp-options.5 +++ b/usr.sbin/dhcpd/dhcp-options.5 @@ -1,4 +1,4 @@ -.\" $OpenBSD: dhcp-options.5,v 1.34 2023/11/23 16:30:12 florian Exp $ +.\" $OpenBSD: dhcp-options.5,v 1.36 2024/06/27 20:15:50 jmc Exp $ .\" .\" Copyright (c) 1995, 1996, 1997, 1998 The Internet Software Consortium. .\" All rights reserved. @@ -36,7 +36,7 @@ .\" see ``http://www.isc.org/isc''. To learn more about Vixie .\" Enterprises, see ``http://www.vix.com''. .\" -.Dd $Mdocdate: November 23 2023 $ +.Dd $Mdocdate: June 27 2024 $ .Dt DHCP-OPTIONS 5 .Os .Sh NAME @@ -48,9 +48,7 @@ The Dynamic Host Configuration protocol allows the client to receive from the DHCP server describing the network configuration and various services that are available on the network. When configuring -.Xr dhcpd 8 -or -.Xr dhclient 8 , +.Xr dhcpd 8 , options must often be declared. The syntax for declaring options, and the names and formats of the options that can be declared, are documented here. @@ -290,15 +288,6 @@ The .Ic domain-search option specifies a list of the domain names that should be used during DNS name resolution. -.Pp -When -.Xr dhclient 8 -constructs -.Xr resolv.conf 5 , -it will use this list of domains in preference to any information -provided by the -.Ic domain-name -option. .It Ic option extensions-path Ar string ; A string to specify a file, retrievable via TFTP, which contains information which can be interpreted in the same way as the 64-octet vendor-extension @@ -554,8 +543,6 @@ option. Note that this option is obsolete and should be replaced by the .Ic classless-static-routes option. -.Xr dhclient 8 -ignores this option. .It Ic option streettalk-directory-assistance-server Ar ip-address Oo , Ar ip-address ... Oc ; The StreetTalk Directory Assistance (STDA) server option specifies a list of STDA servers available to the client. @@ -655,11 +642,11 @@ System Display Manager and are available to the client. Addresses should be listed in order of preference. .El .Sh SEE ALSO -.Xr dhclient.conf 5 , .Xr dhcpd.conf 5 , .Xr dhcpd.leases 5 , -.Xr dhclient 8 , -.Xr dhcpd 8 +.Xr dhcpleased.conf 5 , +.Xr dhcpd 8 , +.Xr dhcpleased 8 .Sh STANDARDS .Rs .%A R. Droms diff --git a/usr.sbin/dhcpd/dhcpd.8 b/usr.sbin/dhcpd/dhcpd.8 index 5d9c29b75..009f8dfce 100644 --- a/usr.sbin/dhcpd/dhcpd.8 +++ b/usr.sbin/dhcpd/dhcpd.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: dhcpd.8,v 1.35 2024/04/19 19:16:26 jmc Exp $ +.\" $OpenBSD: dhcpd.8,v 1.36 2024/06/27 16:39:31 florian Exp $ .\" .\" Copyright (c) 1995, 1996 The Internet Software Consortium. .\" All rights reserved. @@ -36,7 +36,7 @@ .\" see ``http://www.isc.org/''. To learn more about Vixie .\" Enterprises, see ``http://www.vix.com''. .\" -.Dd $Mdocdate: April 19 2024 $ +.Dd $Mdocdate: June 27 2024 $ .Dt DHCPD 8 .Os .Sh NAME @@ -474,7 +474,7 @@ DHCPD lease file. .Xr rdomain 4 , .Xr dhcpd.conf 5 , .Xr dhcpd.leases 5 , -.Xr dhclient 8 , +.Xr dhcpleased 8 , .Xr dhcrelay 8 , .Xr pxeboot 8 .Sh STANDARDS diff --git a/usr.sbin/dhcpd/dhcpd.leases.5 b/usr.sbin/dhcpd/dhcpd.leases.5 index 70801bb56..15ee8a306 100644 --- a/usr.sbin/dhcpd/dhcpd.leases.5 +++ b/usr.sbin/dhcpd/dhcpd.leases.5 @@ -1,4 +1,4 @@ -.\" $OpenBSD: dhcpd.leases.5,v 1.13 2015/07/27 18:48:04 sobrado Exp $ +.\" $OpenBSD: dhcpd.leases.5,v 1.14 2024/06/27 16:39:31 florian Exp $ .\" .\" Copyright (c) 1997, 1998 The Internet Software Consortium. .\" All rights reserved. @@ -36,7 +36,7 @@ .\" see ``http://www.isc.org/isc''. To learn more about Vixie .\" Enterprises, see ``http://www.vix.com''. .\" -.Dd $Mdocdate: July 27 2015 $ +.Dd $Mdocdate: June 27 2024 $ .Dt DHCPD.LEASES 5 .Os .Sh NAME @@ -52,12 +52,6 @@ recorded at the end of the lease file. So if more than one declaration appears for a given lease, the last one in the file is the current one. .Sh FORMAT -Lease descriptions are stored in a format that is parsed by the same -recursive descent parser used to read the -.Xr dhcpd.conf 5 -and -.Xr dhclient.conf 5 -files. Currently, the only declaration that is used in the .Nm file is the diff --git a/usr.sbin/dhcpd/parse.c b/usr.sbin/dhcpd/parse.c index 8f79ab38a..3d9df51ba 100644 --- a/usr.sbin/dhcpd/parse.c +++ b/usr.sbin/dhcpd/parse.c @@ -1,6 +1,4 @@ -/* $OpenBSD: parse.c,v 1.28 2022/01/16 21:20:25 naddy Exp $ */ - -/* Common parser code for dhcpd and dhclient. */ +/* $OpenBSD: parse.c,v 1.29 2024/06/27 16:39:31 florian Exp $ */ /* * Copyright (c) 1995, 1996, 1997, 1998 The Internet Software Consortium. diff --git a/usr.sbin/dhcrelay/dhcrelay.8 b/usr.sbin/dhcrelay/dhcrelay.8 index f52d28f8d..898484bef 100644 --- a/usr.sbin/dhcrelay/dhcrelay.8 +++ b/usr.sbin/dhcrelay/dhcrelay.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: dhcrelay.8,v 1.18 2023/03/02 17:09:54 jmc Exp $ +.\" $OpenBSD: dhcrelay.8,v 1.19 2024/06/27 16:39:31 florian Exp $ .\" .\" Copyright (c) 1997 The Internet Software Consortium. .\" All rights reserved. @@ -36,7 +36,7 @@ .\" see ``http://www.isc.org/isc''. To learn more about Vixie .\" Enterprises, see ``http://www.vix.com''. .\" -.Dd $Mdocdate: March 2 2023 $ +.Dd $Mdocdate: June 27 2024 $ .Dt DHCRELAY 8 .Os .Sh NAME @@ -121,8 +121,8 @@ If this option is not specified, it will use the destination address by default. Replace incoming Relay Agent Information with the one configured. .El .Sh SEE ALSO -.Xr dhclient 8 , -.Xr dhcpd 8 +.Xr dhcpd 8 , +.Xr dhcpleased 8 .Sh STANDARDS .Rs .%A R. Droms @@ -168,6 +168,6 @@ Relayed DHCP traffic could actually safely be protected by IPsec but, like .Xr dhcpd 8 and -.Xr dhclient 8 , +.Xr dhcpleased 8 , .Nm will bypass IPsec for all its traffic.