sync with OpenBSD -current

This commit is contained in:
purplerain 2024-06-28 01:31:32 +00:00
parent e26320a0e2
commit caabca1cee
Signed by: purplerain
GPG Key ID: F42C07F07E2E35B7
14 changed files with 137 additions and 132 deletions

View File

@ -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> * 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, frontend_imsg_compose_engine(IMSG_REPROPOSE_RDNS,
0, 0, NULL, 0); 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; break;
default: default:
log_debug("unexpected RTM: %d", rtm->rtm_type); log_debug("unexpected RTM: %d", rtm->rtm_type);

View File

@ -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> * Copyright (c) 2017 Mark Kettenis <kettenis@openbsd.org>
* *
@ -55,6 +55,8 @@
/* RK3588 */ /* RK3588 */
#define TSADC_V3_AUTO_SRC 0x000c #define TSADC_V3_AUTO_SRC 0x000c
#define TSADC_V3_AUTO_SRC_CH(ch) (1 << (ch)) #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 0x0018
#define TSADC_V3_GPIO_EN_CH(ch) (1 << (ch)) #define TSADC_V3_GPIO_EN_CH(ch) (1 << (ch))
#define TSADC_V3_CRU_EN 0x001c #define TSADC_V3_CRU_EN 0x001c
@ -62,6 +64,7 @@
#define TSADC_V3_HLT_INT_PD 0x0024 #define TSADC_V3_HLT_INT_PD 0x0024
#define TSADC_V3_HT_INT_STATUS(ch) (1 << (ch)) #define TSADC_V3_HT_INT_STATUS(ch) (1 << (ch))
#define TSADC_V3_DATA(ch) (0x002c + (ch) * 4) #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_COMP_SHUT(ch) (0x010c + (ch) * 4)
#define TSADC_V3_HIGHT_INT_DEBOUNCE 0x014c #define TSADC_V3_HIGHT_INT_DEBOUNCE 0x014c
#define TSADC_V3_HIGHT_TSHUT_DEBOUNCE 0x0150 #define TSADC_V3_HIGHT_TSHUT_DEBOUNCE 0x0150
@ -266,6 +269,7 @@ struct rktemp_softc {
bus_space_tag_t sc_iot; bus_space_tag_t sc_iot;
bus_space_handle_t sc_ioh; bus_space_handle_t sc_ioh;
int sc_node; int sc_node;
void *sc_ih;
bus_size_t sc_data0; bus_size_t sc_data0;
@ -290,12 +294,14 @@ struct cfdriver rktemp_cd = {
NULL, "rktemp", DV_DULL NULL, "rktemp", DV_DULL
}; };
int rktemp_intr(void *);
void rktemp_rk3568_init(struct rktemp_softc *); void rktemp_rk3568_init(struct rktemp_softc *);
int32_t rktemp_calc_code(struct rktemp_softc *, int32_t); int32_t rktemp_calc_code(struct rktemp_softc *, int32_t);
int32_t rktemp_calc_temp(struct rktemp_softc *, int32_t); int32_t rktemp_calc_temp(struct rktemp_softc *, int32_t);
int rktemp_valid(struct rktemp_softc *, int32_t); int rktemp_valid(struct rktemp_softc *, int32_t);
void rktemp_refresh_sensors(void *); void rktemp_refresh_sensors(void *);
int32_t rktemp_get_temperature(void *, uint32_t *); int32_t rktemp_get_temperature(void *, uint32_t *);
int rktemp_set_limit(void *, uint32_t *, uint32_t);
int int
rktemp_match(struct device *parent, void *match, void *aux) rktemp_match(struct device *parent, void *match, void *aux)
@ -335,6 +341,15 @@ rktemp_attach(struct device *parent, struct device *self, void *aux)
return; 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"); printf("\n");
if (OF_is_compatible(sc->sc_node, "rockchip,rk3288-tsadc")) { 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_node = sc->sc_node;
sc->sc_ts.ts_cookie = sc; sc->sc_ts.ts_cookie = sc;
sc->sc_ts.ts_get_temperature = rktemp_get_temperature; 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); 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 void
rktemp_rk3568_init(struct rktemp_softc *sc) rktemp_rk3568_init(struct rktemp_softc *sc)
{ {
@ -647,15 +687,35 @@ int32_t
rktemp_get_temperature(void *cookie, uint32_t *cells) rktemp_get_temperature(void *cookie, uint32_t *cells)
{ {
struct rktemp_softc *sc = cookie; struct rktemp_softc *sc = cookie;
uint32_t idx = cells[0]; uint32_t ch = cells[0];
int32_t code; int32_t code;
if (idx >= sc->sc_nsensors) if (ch >= sc->sc_nsensors)
return THERMAL_SENSOR_MAX; 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)) if (rktemp_valid(sc, code))
return rktemp_calc_temp(sc, code); return rktemp_calc_temp(sc, code);
else else
return THERMAL_SENSOR_MAX; 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;
}

View File

@ -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> * Copyright (c) 2022 Marcus Glocker <mglocker@openbsd.org>
@ -133,6 +133,9 @@ ufshci_intr(void *arg)
if (status == 0) if (status == 0)
return handled; return handled;
/* ACK interrupt */
UFSHCI_WRITE_4(sc, UFSHCI_REG_IS, status);
if (status & UFSHCI_REG_IS_UCCS) { if (status & UFSHCI_REG_IS_UCCS) {
DPRINTF(3, "%s: UCCS interrupt\n", __func__); DPRINTF(3, "%s: UCCS interrupt\n", __func__);
handled = 1; handled = 1;
@ -163,9 +166,6 @@ ufshci_intr(void *arg)
sc->sc_dev.dv_xname, status); sc->sc_dev.dv_xname, status);
} }
/* ACK interrupt */
UFSHCI_WRITE_4(sc, UFSHCI_REG_IS, status);
return handled; return handled;
} }

View File

@ -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 * Copyright (c) 2019 Mark Kettenis
* *
@ -160,6 +160,23 @@ thermal_get_temperature_cells(uint32_t *cells)
return THERMAL_SENSOR_MAX; 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 void
thermal_zone_poll_timeout(void *arg) thermal_zone_poll_timeout(void *arg)
{ {
@ -352,7 +369,11 @@ out:
polling_delay = tz->tz_polling_delay_passive; polling_delay = tz->tz_polling_delay_passive;
else else
polling_delay = tz->tz_polling_delay; polling_delay = tz->tz_polling_delay;
if (polling_delay > 0)
timeout_add_msec(&tz->tz_poll_to, polling_delay); timeout_add_msec(&tz->tz_poll_to, polling_delay);
else
thermal_set_limit_cells(tz->tz_sensors, tp->tp_temperature);
} }
static int static int
@ -497,14 +518,14 @@ thermal_zone_init(int node)
cm++; 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); LIST_INSERT_HEAD(&thermal_zones, tz, tz_list);
#if NKSTAT > 0 #if NKSTAT > 0
thermal_zone_kstat_attach(tz); thermal_zone_kstat_attach(tz);
#endif #endif
/* Poll once to get things going. */
thermal_zone_poll(tz);
} }
void void

View File

@ -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 * Copyright (c) 2019 Mark Kettenis
* *
@ -23,6 +23,7 @@ struct thermal_sensor {
void *ts_cookie; void *ts_cookie;
int32_t (*ts_get_temperature)(void *, uint32_t *); int32_t (*ts_get_temperature)(void *, uint32_t *);
int (*ts_set_limit)(void *, uint32_t *, uint32_t);
LIST_ENTRY(thermal_sensor) ts_list; LIST_ENTRY(thermal_sensor) ts_list;
uint32_t ts_phandle; uint32_t ts_phandle;

View File

@ -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> * Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland * 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); 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 void
sshlogv(const char *file, const char *func, int line, int showfunc, sshlogv(const char *file, const char *func, int line, int showfunc,
LogLevel level, const char *suffix, const char *fmt, va_list args) LogLevel level, const char *suffix, const char *fmt, va_list args)

View File

@ -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> * Author: Tatu Ylonen <ylo@cs.hut.fi>
@ -69,9 +69,6 @@ void sshlog(const char *, const char *, int, int,
__attribute__((format(printf, 7, 8))); __attribute__((format(printf, 7, 8)));
void sshlogv(const char *, const char *, int, int, void sshlogv(const char *, const char *, int, int,
LogLevel, const char *, const char *, va_list); 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, void sshlogdie(const char *, const char *, int, int,
LogLevel, const char *, const char *, ...) __attribute__((noreturn)) LogLevel, const char *, const char *, ...) __attribute__((noreturn))
__attribute__((format(printf, 7, 8))); __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 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 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 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 */ /* Variants that prepend the caller's function */
#define do_log2_f(level, ...) sshlog(__FILE__, __func__, __LINE__, 1, level, NULL, __VA_ARGS__) #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 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 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 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 */ /* Variants that appends a ssh_err message */
#define do_log2_r(r, level, ...) sshlog(__FILE__, __func__, __LINE__, 0, level, ssh_err(r), __VA_ARGS__) #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 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 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 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 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 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__) #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 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 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 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 #endif

View File

@ -33,8 +33,8 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" 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 $ .\" $OpenBSD: ssh.1,v 1.442 2024/06/27 21:02:16 jmc Exp $
.Dd $Mdocdate: June 17 2024 $ .Dd $Mdocdate: June 27 2024 $
.Dt SSH 1 .Dt SSH 1
.Os .Os
.Sh NAME .Sh NAME
@ -929,9 +929,6 @@ The server knows the public key, and only the user knows the private key.
.Nm .Nm
implements public key authentication protocol automatically, implements public key authentication protocol automatically,
using one of the ECDSA, Ed25519 or RSA algorithms. 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 .Pp
The file The file
.Pa ~/.ssh/authorized_keys .Pa ~/.ssh/authorized_keys

View File

@ -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) 2000, 2001, 2002 Markus Friedl. All rights reserved.
* Copyright (c) 2002 Niels Provos. All rights reserved. * Copyright (c) 2002 Niels Provos. All rights reserved.
@ -369,25 +369,7 @@ child_reap(struct early_child *child)
break; 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) if (child->have_addr)
srclimit_penalise(&child->addr, penalty_type); srclimit_penalise(&child->addr, penalty_type);
@ -402,9 +384,25 @@ static void
child_reap_all_exited(void) child_reap_all_exited(void)
{ {
int i; int i;
pid_t pid;
int status;
if (children == NULL) if (children == NULL)
return; 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++) { for (i = 0; i < options.max_startups; i++) {
if (!children[i].have_status) if (!children[i].have_status)
continue; continue;
@ -491,30 +489,11 @@ siginfo_handler(int sig)
received_siginfo = 1; received_siginfo = 1;
} }
/*
* SIGCHLD handler. This is called whenever a child dies. This will then
* reap any zombies left by exited children.
*/
static void static void
main_sigchld_handler(int sig) 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; received_sigchld = 1;
} }
errno = save_errno;
}
/* /*
* returns 1 if connection should be dropped, 0 otherwise. * returns 1 if connection should be dropped, 0 otherwise.

View File

@ -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. .\" Copyright (c) 1995, 1996, 1997, 1998 The Internet Software Consortium.
.\" All rights reserved. .\" All rights reserved.
@ -36,7 +36,7 @@
.\" see ``http://www.isc.org/isc''. To learn more about Vixie .\" see ``http://www.isc.org/isc''. To learn more about Vixie
.\" Enterprises, see ``http://www.vix.com''. .\" Enterprises, see ``http://www.vix.com''.
.\" .\"
.Dd $Mdocdate: November 23 2023 $ .Dd $Mdocdate: June 27 2024 $
.Dt DHCP-OPTIONS 5 .Dt DHCP-OPTIONS 5
.Os .Os
.Sh NAME .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 from the DHCP server describing the network configuration and various
services that are available on the network. services that are available on the network.
When configuring When configuring
.Xr dhcpd 8 .Xr dhcpd 8 ,
or
.Xr dhclient 8 ,
options must often be declared. options must often be declared.
The syntax for declaring options, and the names and formats of the options The syntax for declaring options, and the names and formats of the options
that can be declared, are documented here. that can be declared, are documented here.
@ -290,15 +288,6 @@ The
.Ic domain-search .Ic domain-search
option specifies a list of the domain names that should be option specifies a list of the domain names that should be
used during DNS name resolution. 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 ; .It Ic option extensions-path Ar string ;
A string to specify a file, retrievable via TFTP, which contains information 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 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 Note that this option is obsolete and should be replaced by the
.Ic classless-static-routes .Ic classless-static-routes
option. option.
.Xr dhclient 8
ignores this option.
.It Ic option streettalk-directory-assistance-server Ar ip-address Oo , Ar ip-address ... Oc ; .It Ic option streettalk-directory-assistance-server Ar ip-address Oo , Ar ip-address ... Oc ;
The StreetTalk Directory Assistance (STDA) server option specifies a The StreetTalk Directory Assistance (STDA) server option specifies a
list of STDA servers available to the client. 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. Addresses should be listed in order of preference.
.El .El
.Sh SEE ALSO .Sh SEE ALSO
.Xr dhclient.conf 5 ,
.Xr dhcpd.conf 5 , .Xr dhcpd.conf 5 ,
.Xr dhcpd.leases 5 , .Xr dhcpd.leases 5 ,
.Xr dhclient 8 , .Xr dhcpleased.conf 5 ,
.Xr dhcpd 8 .Xr dhcpd 8 ,
.Xr dhcpleased 8
.Sh STANDARDS .Sh STANDARDS
.Rs .Rs
.%A R. Droms .%A R. Droms

View File

@ -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. .\" Copyright (c) 1995, 1996 The Internet Software Consortium.
.\" All rights reserved. .\" All rights reserved.
@ -36,7 +36,7 @@
.\" see ``http://www.isc.org/''. To learn more about Vixie .\" see ``http://www.isc.org/''. To learn more about Vixie
.\" Enterprises, see ``http://www.vix.com''. .\" Enterprises, see ``http://www.vix.com''.
.\" .\"
.Dd $Mdocdate: April 19 2024 $ .Dd $Mdocdate: June 27 2024 $
.Dt DHCPD 8 .Dt DHCPD 8
.Os .Os
.Sh NAME .Sh NAME
@ -474,7 +474,7 @@ DHCPD lease file.
.Xr rdomain 4 , .Xr rdomain 4 ,
.Xr dhcpd.conf 5 , .Xr dhcpd.conf 5 ,
.Xr dhcpd.leases 5 , .Xr dhcpd.leases 5 ,
.Xr dhclient 8 , .Xr dhcpleased 8 ,
.Xr dhcrelay 8 , .Xr dhcrelay 8 ,
.Xr pxeboot 8 .Xr pxeboot 8
.Sh STANDARDS .Sh STANDARDS

View File

@ -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. .\" Copyright (c) 1997, 1998 The Internet Software Consortium.
.\" All rights reserved. .\" All rights reserved.
@ -36,7 +36,7 @@
.\" see ``http://www.isc.org/isc''. To learn more about Vixie .\" see ``http://www.isc.org/isc''. To learn more about Vixie
.\" Enterprises, see ``http://www.vix.com''. .\" Enterprises, see ``http://www.vix.com''.
.\" .\"
.Dd $Mdocdate: July 27 2015 $ .Dd $Mdocdate: June 27 2024 $
.Dt DHCPD.LEASES 5 .Dt DHCPD.LEASES 5
.Os .Os
.Sh NAME .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, So if more than one declaration appears for a given lease,
the last one in the file is the current one. the last one in the file is the current one.
.Sh FORMAT .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 Currently, the only declaration that is used in the
.Nm .Nm
file is the file is the

View File

@ -1,6 +1,4 @@
/* $OpenBSD: parse.c,v 1.28 2022/01/16 21:20:25 naddy Exp $ */ /* $OpenBSD: parse.c,v 1.29 2024/06/27 16:39:31 florian Exp $ */
/* Common parser code for dhcpd and dhclient. */
/* /*
* Copyright (c) 1995, 1996, 1997, 1998 The Internet Software Consortium. * Copyright (c) 1995, 1996, 1997, 1998 The Internet Software Consortium.

View File

@ -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. .\" Copyright (c) 1997 The Internet Software Consortium.
.\" All rights reserved. .\" All rights reserved.
@ -36,7 +36,7 @@
.\" see ``http://www.isc.org/isc''. To learn more about Vixie .\" see ``http://www.isc.org/isc''. To learn more about Vixie
.\" Enterprises, see ``http://www.vix.com''. .\" Enterprises, see ``http://www.vix.com''.
.\" .\"
.Dd $Mdocdate: March 2 2023 $ .Dd $Mdocdate: June 27 2024 $
.Dt DHCRELAY 8 .Dt DHCRELAY 8
.Os .Os
.Sh NAME .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. Replace incoming Relay Agent Information with the one configured.
.El .El
.Sh SEE ALSO .Sh SEE ALSO
.Xr dhclient 8 , .Xr dhcpd 8 ,
.Xr dhcpd 8 .Xr dhcpleased 8
.Sh STANDARDS .Sh STANDARDS
.Rs .Rs
.%A R. Droms .%A R. Droms
@ -168,6 +168,6 @@ Relayed DHCP traffic could actually safely be protected by IPsec but,
like like
.Xr dhcpd 8 .Xr dhcpd 8
and and
.Xr dhclient 8 , .Xr dhcpleased 8 ,
.Nm .Nm
will bypass IPsec for all its traffic. will bypass IPsec for all its traffic.