sync code with last improvements from OpenBSD
This commit is contained in:
parent
361861c7dd
commit
151b4b8168
25 changed files with 175 additions and 79 deletions
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: m_md5_sha1.c,v 1.7 2023/07/07 19:37:53 beck Exp $ */
|
||||
/* $OpenBSD: m_md5_sha1.c,v 1.8 2023/09/02 04:55:18 tb Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2017 Joel Sing <jsing@openbsd.org>
|
||||
*
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: p_lib.c,v 1.35 2023/09/01 17:12:19 tb Exp $ */
|
||||
/* $OpenBSD: p_lib.c,v 1.36 2023/09/02 04:15:39 tb Exp $ */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
|
@ -449,14 +449,15 @@ EVP_PKEY_get0_RSA(EVP_PKEY *pkey)
|
|||
RSA *
|
||||
EVP_PKEY_get1_RSA(EVP_PKEY *pkey)
|
||||
{
|
||||
if (pkey->type != EVP_PKEY_RSA) {
|
||||
EVPerror(EVP_R_EXPECTING_AN_RSA_KEY);
|
||||
return NULL;
|
||||
}
|
||||
if (pkey->type == EVP_PKEY_RSA || pkey->type == EVP_PKEY_RSA_PSS) {
|
||||
RSA_up_ref(pkey->pkey.rsa);
|
||||
return pkey->pkey.rsa;
|
||||
}
|
||||
|
||||
EVPerror(EVP_R_EXPECTING_AN_RSA_KEY);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int
|
||||
EVP_PKEY_set1_RSA(EVP_PKEY *pkey, RSA *key)
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $OpenBSD: Makefile,v 1.28 2023/08/28 21:23:46 dv Exp $
|
||||
# $OpenBSD: Makefile,v 1.29 2023/09/02 19:28:46 dv Exp $
|
||||
|
||||
BTRACE?= /usr/sbin/btrace
|
||||
ALLOWDT!= sysctl -n kern.allowdt 2>/dev/null
|
||||
|
@ -14,7 +14,7 @@ BT_LANG_SCRIPTS= arithm beginend beginend-argn boolean comments delete \
|
|||
BT_ARG_LANG_SCRIPTS= staticv str
|
||||
|
||||
# scripts that use kernel probes
|
||||
BT_KERN_SCRIPTS= filters mapoverwrite multiprobe
|
||||
BT_KERN_SCRIPTS= empty-stmts filters mapoverwrite multiprobe
|
||||
|
||||
REGRESS_EXPECTED_FAILURES= run-maxoperand
|
||||
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
BEGIN
|
||||
{
|
||||
|
||||
printf("Hello from BEGIN\n");
|
||||
printf("Hello from %s\n", probe);
|
||||
}
|
||||
|
||||
END
|
||||
{
|
||||
// Comment inside of a block
|
||||
printf("Bye from END\n");
|
||||
printf("Bye from %s\n", probe);
|
||||
}
|
||||
|
|
18
regress/usr.sbin/btrace/empty-stmts.bt
Normal file
18
regress/usr.sbin/btrace/empty-stmts.bt
Normal file
|
@ -0,0 +1,18 @@
|
|||
// Test support for empty statement lists.
|
||||
BEGIN
|
||||
{
|
||||
exit();
|
||||
}
|
||||
|
||||
syscall:open:return
|
||||
{
|
||||
}
|
||||
|
||||
syscall:close:return
|
||||
/comm != "ksh"/
|
||||
{
|
||||
}
|
||||
|
||||
END
|
||||
{
|
||||
}
|
0
regress/usr.sbin/btrace/empty-stmts.ok
Normal file
0
regress/usr.sbin/btrace/empty-stmts.ok
Normal file
|
@ -1,4 +1,4 @@
|
|||
.\" $OpenBSD: bioctl.8,v 1.113 2023/08/21 08:33:11 kn Exp $
|
||||
.\" $OpenBSD: bioctl.8,v 1.114 2023/09/02 09:14:47 kn Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 2004, 2005 Marco Peereboom
|
||||
.\"
|
||||
|
@ -23,7 +23,7 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.Dd $Mdocdate: August 21 2023 $
|
||||
.Dd $Mdocdate: September 2 2023 $
|
||||
.Dt BIOCTL 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
|
@ -282,11 +282,12 @@ passphrase into a key, in order to create a new encrypted volume or change the
|
|||
passphrase of an existing encrypted volume.
|
||||
A larger number of iterations takes more time, but offers increased resistance
|
||||
against passphrase guessing attacks.
|
||||
If
|
||||
By default, or if
|
||||
.Ar rounds
|
||||
is specified as "auto", the number of rounds will be automatically determined
|
||||
based on system performance.
|
||||
Otherwise the minimum is 4 rounds and the default is 16.
|
||||
is specified as
|
||||
.Cm auto ,
|
||||
the number of rounds will automatically be based on system performance.
|
||||
The minimum is 16 rounds.
|
||||
.It Fl s
|
||||
Read passphrases from
|
||||
.Pa /dev/stdin
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: bioctl.c,v 1.154 2023/08/21 08:33:11 kn Exp $ */
|
||||
/* $OpenBSD: bioctl.c,v 1.155 2023/09/02 09:14:47 kn Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2004, 2005 Marco Peereboom
|
||||
|
@ -89,7 +89,7 @@ int devh = -1;
|
|||
int human;
|
||||
int verbose;
|
||||
u_int32_t cflags = 0;
|
||||
int rflag = 0;
|
||||
int rflag = -1; /* auto */
|
||||
char *password;
|
||||
|
||||
void *bio_cookie;
|
||||
|
@ -182,7 +182,7 @@ main(int argc, char *argv[])
|
|||
rflag = -1;
|
||||
break;
|
||||
}
|
||||
rflag = strtonum(optarg, 4, 1<<30, &errstr);
|
||||
rflag = strtonum(optarg, 16, 1<<30, &errstr);
|
||||
if (errstr != NULL)
|
||||
errx(1, "number of KDF rounds is %s: %s",
|
||||
errstr, optarg);
|
||||
|
@ -979,7 +979,7 @@ bio_kdf_generate(struct sr_crypto_kdfinfo *kdfinfo)
|
|||
|
||||
kdfinfo->pbkdf.generic.len = sizeof(kdfinfo->pbkdf);
|
||||
kdfinfo->pbkdf.generic.type = SR_CRYPTOKDFT_BCRYPT_PBKDF;
|
||||
kdfinfo->pbkdf.rounds = rflag ? rflag : 16;
|
||||
kdfinfo->pbkdf.rounds = rflag;
|
||||
|
||||
kdfinfo->flags = SR_CRYPTOKDF_KEY | SR_CRYPTOKDF_HINT;
|
||||
kdfinfo->len = sizeof(*kdfinfo);
|
||||
|
@ -1119,12 +1119,14 @@ bio_changepass(char *dev)
|
|||
/* Current passphrase. */
|
||||
bio_kdf_derive(&kdfinfo1, &kdfhint, "Old passphrase: ", 0);
|
||||
|
||||
/*
|
||||
* Unless otherwise specified, keep the previous number of rounds as
|
||||
* long as we're using the same KDF.
|
||||
*/
|
||||
if (kdfhint.generic.type == SR_CRYPTOKDFT_BCRYPT_PBKDF && !rflag)
|
||||
if (rflag == -1) {
|
||||
rflag = bcrypt_pbkdf_autorounds();
|
||||
|
||||
/* Use previous number of rounds for the same KDF if higher. */
|
||||
if (kdfhint.generic.type == SR_CRYPTOKDFT_BCRYPT_PBKDF &&
|
||||
rflag < kdfhint.rounds)
|
||||
rflag = kdfhint.rounds;
|
||||
}
|
||||
|
||||
/* New passphrase. */
|
||||
bio_kdf_generate(&kdfinfo2);
|
||||
|
@ -1328,7 +1330,7 @@ derive_key(u_int32_t type, int rounds, u_int8_t *key, size_t keysz,
|
|||
type != SR_CRYPTOKDFT_BCRYPT_PBKDF)
|
||||
errx(1, "unknown KDF type %d", type);
|
||||
|
||||
if (rounds < (type == SR_CRYPTOKDFT_PKCS5_PBKDF2 ? 1000 : 4))
|
||||
if (rounds < (type == SR_CRYPTOKDFT_PKCS5_PBKDF2 ? 1000 : 16))
|
||||
errx(1, "number of KDF rounds is too small: %d", rounds);
|
||||
|
||||
/* get passphrase */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: ca.c,v 1.96 2023/08/04 19:06:25 claudio Exp $ */
|
||||
/* $OpenBSD: ca.c,v 1.97 2023/09/02 18:16:02 tobhe Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2013 Reyk Floeter <reyk@openbsd.org>
|
||||
|
@ -210,8 +210,7 @@ ca_certbundle_add(struct ibuf *buf, struct iked_id *id)
|
|||
size_t len = ibuf_size(id->id_buf);
|
||||
void *val = ibuf_data(id->id_buf);
|
||||
|
||||
if (id == NULL ||
|
||||
buf == NULL ||
|
||||
if (buf == NULL ||
|
||||
ibuf_add(buf, &type, sizeof(type)) != 0 ||
|
||||
ibuf_add(buf, &len, sizeof(len)) != 0 ||
|
||||
ibuf_add(buf, val, len) != 0)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: ikev2_pld.c,v 1.132 2023/08/04 19:06:25 claudio Exp $ */
|
||||
/* $OpenBSD: ikev2_pld.c,v 1.133 2023/09/02 18:36:30 tobhe Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2019 Tobias Heider <tobias.heider@stusta.de>
|
||||
|
@ -796,6 +796,10 @@ ikev2_validate_cert(struct iked_message *msg, size_t offset, size_t left,
|
|||
return (-1);
|
||||
}
|
||||
memcpy(cert, msgbuf + offset, sizeof(*cert));
|
||||
if (cert->cert_type == IKEV2_CERT_NONE) {
|
||||
log_debug("%s: malformed payload: invalid cert type", __func__);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.\" $OpenBSD: bsd.port.mk.5,v 1.582 2023/08/22 03:51:45 jsg Exp $
|
||||
.\" $OpenBSD: bsd.port.mk.5,v 1.583 2023/09/02 17:19:57 espie Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 2000-2008 Marc Espie
|
||||
.\"
|
||||
|
@ -24,7 +24,7 @@
|
|||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.Dd $Mdocdate: August 22 2023 $
|
||||
.Dd $Mdocdate: September 2 2023 $
|
||||
.Dt BSD.PORT.MK 5
|
||||
.Os
|
||||
.Sh NAME
|
||||
|
@ -918,11 +918,25 @@ Invoked as make show=name, show the contents of ${name}.
|
|||
Invoked as make show="name1 name2 ...", show the contents of
|
||||
${name1} ${name2} ...,
|
||||
one variable value per line.
|
||||
.It Ev ALL_DISTFILES
|
||||
List of all actual files coming from every
|
||||
.Ev DISTFILES*
|
||||
setting, after applying the
|
||||
.Sq Ar filename Ns { Ns Ar url Ns } Ns Ar sufx
|
||||
conversion, occasionally useful for setting
|
||||
.Ev EXTRACT_ONLY
|
||||
manually.
|
||||
.It Ev ALL_FAKE_FLAGS
|
||||
Flags passed to ${MAKE} invocations during the fake process.
|
||||
Equals
|
||||
.Li ${MAKE_FLAGS} ${DESTDIRNAME}=${WRKINST} ${FAKE_FLAGS} .
|
||||
Read-only.
|
||||
.It Ev ALL_PATCHFILES
|
||||
List of all actual files coming from every
|
||||
.Ev PATCHFILES*
|
||||
setting, after applying the
|
||||
.Sq Ar filename Ns { Ns Ar url Ns } Ns Ar sufx
|
||||
conversion.
|
||||
.It Ev ALL_TEST_ENV
|
||||
Environment passed to test.
|
||||
Equals
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: if_iwm.c,v 1.408 2023/07/05 15:07:28 stsp Exp $ */
|
||||
/* $OpenBSD: if_iwm.c,v 1.410 2023/09/02 09:02:18 stsp Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2014, 2016 genua gmbh <info@genua.de>
|
||||
|
@ -6746,7 +6746,12 @@ iwm_tx(struct iwm_softc *sc, struct mbuf *m, struct ieee80211_node *ni, int ac)
|
|||
* client mode; the firmware's station table contains only one entry
|
||||
* which represents our access point.
|
||||
*/
|
||||
if (ic->ic_opmode == IEEE80211_M_MONITOR) {
|
||||
if (isset(sc->sc_enabled_capa, IWM_UCODE_TLV_CAPA_DQA_SUPPORT))
|
||||
qid = IWM_DQA_INJECT_MONITOR_QUEUE;
|
||||
else
|
||||
qid = IWM_AUX_QUEUE;
|
||||
} else if (isset(sc->sc_enabled_capa, IWM_UCODE_TLV_CAPA_DQA_SUPPORT))
|
||||
qid = IWM_DQA_MIN_MGMT_QUEUE + ac;
|
||||
else
|
||||
qid = ac;
|
||||
|
@ -6818,7 +6823,8 @@ iwm_tx(struct iwm_softc *sc, struct mbuf *m, struct ieee80211_node *ni, int ac)
|
|||
#endif
|
||||
totlen = m->m_pkthdr.len;
|
||||
|
||||
if (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) {
|
||||
if (ic->ic_opmode != IEEE80211_M_MONITOR &&
|
||||
(wh->i_fc[1] & IEEE80211_FC1_PROTECTED)) {
|
||||
k = ieee80211_get_txkey(ic, wh, ni);
|
||||
if ((k->k_flags & IEEE80211_KEY_GROUP) ||
|
||||
(k->k_cipher != IEEE80211_CIPHER_CCMP)) {
|
||||
|
@ -6845,6 +6851,9 @@ iwm_tx(struct iwm_softc *sc, struct mbuf *m, struct ieee80211_node *ni, int ac)
|
|||
(ic->ic_flags & IEEE80211_F_USEPROT)))
|
||||
flags |= IWM_TX_CMD_FLG_PROT_REQUIRE;
|
||||
|
||||
if (ic->ic_opmode == IEEE80211_M_MONITOR)
|
||||
tx->sta_id = IWM_MONITOR_STA_ID;
|
||||
else
|
||||
tx->sta_id = IWM_STATION_ID;
|
||||
|
||||
if (type == IEEE80211_FC0_TYPE_MGT) {
|
||||
|
@ -9197,6 +9206,9 @@ iwm_delete_key(struct ieee80211com *ic, struct ieee80211_node *ni,
|
|||
return;
|
||||
}
|
||||
|
||||
if ((sc->sc_flags & IWM_FLAG_STA_ACTIVE) == 0)
|
||||
return;
|
||||
|
||||
if (!isset(sc->sc_ucode_api, IWM_UCODE_TLV_API_TKIP_MIC_KEYS))
|
||||
return iwm_delete_key_v1(ic, ni, k);
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: uvm_anon.c,v 1.55 2023/04/11 00:45:09 jsg Exp $ */
|
||||
/* $OpenBSD: uvm_anon.c,v 1.56 2023/09/02 08:24:40 mpi Exp $ */
|
||||
/* $NetBSD: uvm_anon.c,v 1.10 2000/11/25 06:27:59 chs Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -255,6 +255,7 @@ uvm_anon_release(struct vm_anon *anon)
|
|||
KASSERT(anon->an_ref == 0);
|
||||
|
||||
uvm_lock_pageq();
|
||||
pmap_page_protect(pg, PROT_NONE);
|
||||
uvm_pagefree(pg);
|
||||
uvm_unlock_pageq();
|
||||
KASSERT(anon->an_page == NULL);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: uvm_fault.c,v 1.133 2022/11/04 09:36:44 mpi Exp $ */
|
||||
/* $OpenBSD: uvm_fault.c,v 1.134 2023/09/02 08:24:40 mpi Exp $ */
|
||||
/* $NetBSD: uvm_fault.c,v 1.51 2000/08/06 00:22:53 thorpej Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -396,7 +396,6 @@ uvmfault_anonget(struct uvm_faultinfo *ufi, struct vm_amap *amap,
|
|||
* anon and try again.
|
||||
*/
|
||||
if (pg->pg_flags & PG_RELEASED) {
|
||||
pmap_page_protect(pg, PROT_NONE);
|
||||
KASSERT(anon->an_ref == 0);
|
||||
/*
|
||||
* Released while we had unlocked amap.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: server-client.c,v 1.401 2023/08/17 14:10:28 nicm Exp $ */
|
||||
/* $OpenBSD: server-client.c,v 1.402 2023/09/02 20:03:10 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2009 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
|
@ -2770,6 +2770,7 @@ server_client_dispatch(struct imsg *imsg, void *arg)
|
|||
break;
|
||||
server_client_update_latest(c);
|
||||
tty_resize(&c->tty);
|
||||
tty_repeat_requests(&c->tty);
|
||||
recalculate_sizes();
|
||||
if (c->overlay_resize == NULL)
|
||||
server_client_clear_overlay(c);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: session.c,v 1.95 2023/09/01 13:48:54 nicm Exp $ */
|
||||
/* $OpenBSD: session.c,v 1.96 2023/09/02 08:38:37 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
|
@ -687,8 +687,10 @@ session_group_synchronize1(struct session *target, struct session *s)
|
|||
TAILQ_INIT(&s->lastw);
|
||||
TAILQ_FOREACH(wl, &old_lastw, sentry) {
|
||||
wl2 = winlink_find_by_index(&s->windows, wl->idx);
|
||||
if (wl2 != NULL)
|
||||
if (wl2 != NULL) {
|
||||
TAILQ_INSERT_TAIL(&s->lastw, wl2, sentry);
|
||||
wl2->flags |= WINLINK_VISITED;
|
||||
}
|
||||
}
|
||||
|
||||
/* Then free the old winlinks list. */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.\" $OpenBSD: tmux.1,v 1.930 2023/09/01 13:48:54 nicm Exp $
|
||||
.\" $OpenBSD: tmux.1,v 1.931 2023/09/02 09:17:23 nicm Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
.\"
|
||||
|
@ -14,7 +14,7 @@
|
|||
.\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
|
||||
.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.Dd $Mdocdate: September 1 2023 $
|
||||
.Dd $Mdocdate: September 2 2023 $
|
||||
.Dt TMUX 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
|
@ -6802,9 +6802,15 @@ Set a styled underscore.
|
|||
The single parameter is one of: 0 for no underscore, 1 for normal
|
||||
underscore, 2 for double underscore, 3 for curly underscore, 4 for dotted
|
||||
underscore and 5 for dashed underscore.
|
||||
.It Em \&Setulc , \&ol
|
||||
.It Em \&Setulc , \&Setulc1, \&ol
|
||||
Set the underscore colour or reset to the default.
|
||||
The argument is (red * 65536) + (green * 256) + blue where each is between 0
|
||||
.Em Setulc
|
||||
is for RGB colours and
|
||||
.Em Setulc1
|
||||
for ANSI or 256 colours.
|
||||
The
|
||||
.Em Setulc
|
||||
argument is (red * 65536) + (green * 256) + blue where each is between 0
|
||||
and 255.
|
||||
.It Em \&Ss , Se
|
||||
Set or reset the cursor style.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: tmux.h,v 1.1207 2023/09/01 14:29:11 nicm Exp $ */
|
||||
/* $OpenBSD: tmux.h,v 1.1209 2023/09/02 20:03:10 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
|
@ -536,6 +536,7 @@ enum tty_code_code {
|
|||
TTYC_SETRGBB,
|
||||
TTYC_SETRGBF,
|
||||
TTYC_SETULC,
|
||||
TTYC_SETULC1,
|
||||
TTYC_SGR0,
|
||||
TTYC_SITM,
|
||||
TTYC_SMACS,
|
||||
|
@ -1385,6 +1386,7 @@ struct tty {
|
|||
struct client *client;
|
||||
struct event start_timer;
|
||||
struct event clipboard_timer;
|
||||
time_t last_requests;
|
||||
|
||||
u_int sx;
|
||||
u_int sy;
|
||||
|
@ -1436,10 +1438,8 @@ struct tty {
|
|||
#define TTY_HAVEXDA 0x200
|
||||
#define TTY_SYNCING 0x400
|
||||
#define TTY_HAVEDA2 0x800 /* Secondary DA. */
|
||||
#define TTY_HAVEFG 0x1000
|
||||
#define TTY_HAVEBG 0x2000
|
||||
#define TTY_ALL_REQUEST_FLAGS \
|
||||
(TTY_HAVEDA|TTY_HAVEDA2|TTY_HAVEXDA|TTY_HAVEFG|TTY_HAVEBG)
|
||||
(TTY_HAVEDA|TTY_HAVEDA2|TTY_HAVEXDA)
|
||||
int flags;
|
||||
|
||||
struct tty_term *term;
|
||||
|
@ -2332,6 +2332,7 @@ void tty_resize(struct tty *);
|
|||
void tty_set_size(struct tty *, u_int, u_int, u_int, u_int);
|
||||
void tty_start_tty(struct tty *);
|
||||
void tty_send_requests(struct tty *);
|
||||
void tty_repeat_requests(struct tty *);
|
||||
void tty_stop_tty(struct tty *);
|
||||
void tty_set_title(struct tty *, const char *);
|
||||
void tty_set_path(struct tty *, const char *);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: tty-features.c,v 1.28 2022/11/11 08:44:11 nicm Exp $ */
|
||||
/* $OpenBSD: tty-features.c,v 1.29 2023/09/02 09:17:23 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2020 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
|
@ -145,6 +145,7 @@ static const struct tty_feature tty_feature_overline = {
|
|||
static const char *const tty_feature_usstyle_capabilities[] = {
|
||||
"Smulx=\\E[4::%p1%dm",
|
||||
"Setulc=\\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m",
|
||||
"Setulc1=\\E[58::5::%p1%dm",
|
||||
"ol=\\E[59m",
|
||||
NULL
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: tty-keys.c,v 1.167 2023/06/30 13:19:32 nicm Exp $ */
|
||||
/* $OpenBSD: tty-keys.c,v 1.168 2023/09/02 20:03:10 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
|
@ -1492,8 +1492,6 @@ tty_keys_colours(struct tty *tty, const char *buf, size_t len, size_t *size)
|
|||
int n;
|
||||
|
||||
*size = 0;
|
||||
if ((tty->flags & TTY_HAVEFG) && (tty->flags & TTY_HAVEBG))
|
||||
return (-1);
|
||||
|
||||
/* First four bytes are always \033]1 and 0 or 1 and ;. */
|
||||
if (buf[0] != '\033')
|
||||
|
@ -1539,11 +1537,9 @@ tty_keys_colours(struct tty *tty, const char *buf, size_t len, size_t *size)
|
|||
if (n != -1 && buf[3] == '0') {
|
||||
log_debug("%s: foreground is %s", c->name, colour_tostring(n));
|
||||
tty->fg = n;
|
||||
tty->flags |= TTY_HAVEFG;
|
||||
} else if (n != -1) {
|
||||
log_debug("%s: background is %s", c->name, colour_tostring(n));
|
||||
tty->bg = n;
|
||||
tty->flags |= TTY_HAVEBG;
|
||||
}
|
||||
|
||||
return (0);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: tty-term.c,v 1.99 2023/06/30 13:19:32 nicm Exp $ */
|
||||
/* $OpenBSD: tty-term.c,v 1.100 2023/09/02 09:17:23 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
|
@ -264,6 +264,7 @@ static const struct tty_term_code_entry tty_term_codes[] = {
|
|||
[TTYC_SETRGBB] = { TTYCODE_STRING, "setrgbb" },
|
||||
[TTYC_SETRGBF] = { TTYCODE_STRING, "setrgbf" },
|
||||
[TTYC_SETULC] = { TTYCODE_STRING, "Setulc" },
|
||||
[TTYC_SETULC1] = { TTYCODE_STRING, "Setulc1" },
|
||||
[TTYC_SE] = { TTYCODE_STRING, "Se" },
|
||||
[TTYC_SXL] = { TTYCODE_FLAG, "Sxl" },
|
||||
[TTYC_SGR0] = { TTYCODE_STRING, "sgr0" },
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: tty.c,v 1.432 2023/07/13 06:03:48 nicm Exp $ */
|
||||
/* $OpenBSD: tty.c,v 1.434 2023/09/02 20:03:10 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
|
@ -82,6 +82,7 @@ static void tty_check_overlay_range(struct tty *, u_int, u_int, u_int,
|
|||
#define TTY_BLOCK_STOP(tty) (1 + ((tty)->sx * (tty)->sy) / 8)
|
||||
|
||||
#define TTY_QUERY_TIMEOUT 5
|
||||
#define TTY_REQUEST_LIMIT 30
|
||||
|
||||
void
|
||||
tty_create_log(void)
|
||||
|
@ -369,12 +370,29 @@ tty_send_requests(struct tty *tty)
|
|||
tty_puts(tty, "\033[>c");
|
||||
if (~tty->flags & TTY_HAVEXDA)
|
||||
tty_puts(tty, "\033[>q");
|
||||
if (~tty->flags & TTY_HAVEFG)
|
||||
tty_puts(tty, "\033]10;?\033\\");
|
||||
if (~tty->flags & TTY_HAVEBG)
|
||||
tty_puts(tty, "\033]11;?\033\\");
|
||||
} else
|
||||
tty->flags |= TTY_ALL_REQUEST_FLAGS;
|
||||
tty->last_requests = time (NULL);
|
||||
}
|
||||
|
||||
void
|
||||
tty_repeat_requests(struct tty *tty)
|
||||
{
|
||||
time_t t = time (NULL);
|
||||
|
||||
if (~tty->flags & TTY_STARTED)
|
||||
return;
|
||||
|
||||
if (t - tty->last_requests <= TTY_REQUEST_LIMIT)
|
||||
return;
|
||||
tty->last_requests = t;
|
||||
|
||||
if (tty->term->flags & TERM_VT100LIKE) {
|
||||
tty_puts(tty, "\033]10;?\033\\");
|
||||
tty_puts(tty, "\033]11;?\033\\");
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -2814,12 +2832,14 @@ tty_check_us(__unused struct tty *tty, struct colour_palette *palette,
|
|||
gc->us = c;
|
||||
}
|
||||
|
||||
/* Underscore colour is set as RGB so convert. */
|
||||
/* Convert underscore colour if only RGB can be supported. */
|
||||
if (!tty_term_has(tty->term, TTYC_SETULC1)) {
|
||||
if ((c = colour_force_rgb (gc->us)) == -1)
|
||||
gc->us = 8;
|
||||
else
|
||||
gc->us = c;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
tty_colours_fg(struct tty *tty, const struct grid_cell *gc)
|
||||
|
@ -2898,9 +2918,17 @@ tty_colours_us(struct tty *tty, const struct grid_cell *gc)
|
|||
goto save;
|
||||
}
|
||||
|
||||
/* Must be an RGB colour - this should never happen. */
|
||||
if (~gc->us & COLOUR_FLAG_RGB)
|
||||
/*
|
||||
* If this is not an RGB colour, use Setulc1 if it exists, otherwise
|
||||
* convert.
|
||||
*/
|
||||
if (~gc->us & COLOUR_FLAG_RGB) {
|
||||
c = gc->us;
|
||||
if ((~c & COLOUR_FLAG_256) && (c >= 90 && c <= 97))
|
||||
c -= 82;
|
||||
tty_putcode_i(tty, TTYC_SETULC1, c & ~COLOUR_FLAG_256);
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Setulc and setal follows the ncurses(3) one argument "direct colour"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: bt_parse.y,v 1.51 2023/08/28 21:23:46 dv Exp $ */
|
||||
/* $OpenBSD: bt_parse.y,v 1.52 2023/09/02 19:28:46 dv Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2019-2021 Martin Pieuchot <mpi@openbsd.org>
|
||||
|
@ -266,6 +266,7 @@ block : action
|
|||
;
|
||||
|
||||
action : '{' stmtlist '}' { $$ = $2; }
|
||||
| '{' '}' { $$ = NULL; }
|
||||
;
|
||||
|
||||
%%
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: btrace.c,v 1.74 2023/08/16 13:07:11 dv Exp $ */
|
||||
/* $OpenBSD: btrace.c,v 1.75 2023/09/02 15:16:12 dv Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2019 - 2021 Martin Pieuchot <mpi@openbsd.org>
|
||||
|
@ -117,6 +117,8 @@ size_t dt_ndtpi; /* # of elements in the array */
|
|||
struct dtioc_arg_info **dt_args; /* array of probe arguments */
|
||||
|
||||
struct dt_evt bt_devt; /* fake event for BEGIN/END */
|
||||
#define EVENT_BEGIN 0
|
||||
#define EVENT_END (unsigned int)(-1)
|
||||
uint64_t bt_filtered; /* # of events filtered out */
|
||||
|
||||
struct syms *kelf, *uelf;
|
||||
|
@ -543,7 +545,7 @@ rules_setup(int fd)
|
|||
kelf = kelf_open(_PATH_KSYMS);
|
||||
|
||||
/* Initialize "fake" event for BEGIN/END */
|
||||
bt_devt.dtev_pbn = -1;
|
||||
bt_devt.dtev_pbn = EVENT_BEGIN;
|
||||
strlcpy(bt_devt.dtev_comm, getprogname(), sizeof(bt_devt.dtev_comm));
|
||||
bt_devt.dtev_pid = getpid();
|
||||
bt_devt.dtev_tid = getthrid();
|
||||
|
@ -623,6 +625,7 @@ rules_teardown(int fd)
|
|||
uelf = NULL;
|
||||
|
||||
/* Update "fake" event for BEGIN/END */
|
||||
bt_devt.dtev_pbn = EVENT_END;
|
||||
clock_gettime(CLOCK_REALTIME, &bt_devt.dtev_tsp);
|
||||
|
||||
if (rend)
|
||||
|
@ -1600,6 +1603,13 @@ ba2str(struct bt_arg *ba, struct dt_evt *dtev)
|
|||
str = buf;
|
||||
break;
|
||||
case B_AT_BI_PROBE:
|
||||
if (dtev->dtev_pbn == EVENT_BEGIN) {
|
||||
str = "BEGIN";
|
||||
break;
|
||||
} else if (dtev->dtev_pbn == EVENT_END) {
|
||||
str = "END";
|
||||
break;
|
||||
}
|
||||
dtpi = &dt_dtpis[dtev->dtev_pbn - 1];
|
||||
if (dtpi != NULL)
|
||||
snprintf(buf, sizeof(buf), "%s:%s:%s",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: dispatch.c,v 1.44 2021/11/20 11:47:02 kn Exp $ */
|
||||
/* $OpenBSD: dispatch.c,v 1.45 2023/09/02 10:18:45 kn Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1995, 1996, 1997, 1998, 1999
|
||||
|
@ -112,9 +112,7 @@ discover_interfaces(int *rdomain)
|
|||
for (ifa = ifap; ifa != NULL; ifa = ifa->ifa_next) {
|
||||
/*
|
||||
* See if this is the sort of interface we want to
|
||||
* deal with. Skip loopback and point-to-point
|
||||
* interfaces, except don't skip down interfaces if we're
|
||||
* trying to get a list of configurable interfaces.
|
||||
* deal with.
|
||||
*/
|
||||
if ((ifa->ifa_flags & IFF_LOOPBACK) ||
|
||||
(ifa->ifa_flags & IFF_POINTOPOINT) ||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue