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>
|
* 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);
|
||||||
|
@ -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;
|
||||||
|
}
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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;
|
||||||
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
|
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
|
||||||
|
@ -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;
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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,29 +489,10 @@ 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;
|
received_sigchld = 1;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
|
@ -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.
|
||||||
|
Loading…
Reference in New Issue
Block a user