sync with OpenBSD -current
This commit is contained in:
parent
e26320a0e2
commit
caabca1cee
@ -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 <florian@openbsd.org>
|
||||
@ -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);
|
||||
|
@ -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 <kettenis@openbsd.org>
|
||||
*
|
||||
@ -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;
|
||||
}
|
||||
|
@ -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 <mglocker@openbsd.org>
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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 <ylo@cs.hut.fi>
|
||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, 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)
|
||||
|
@ -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 <ylo@cs.hut.fi>
|
||||
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user