Mercurial > dropbear
changeset 1858:ed3326f21888
Test for IP_TOS and hardcode DSCP values
This allows it to work on macos too
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Tue, 25 Jan 2022 17:57:05 +0800 |
parents | 6022df862942 |
children | 5001e9c5641f |
files | netio.c |
diffstat | 1 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/netio.c Tue Jan 25 17:32:20 2022 +0800 +++ b/netio.c Tue Jan 25 17:57:05 2022 +0800 @@ -374,7 +374,7 @@ /* Don't log ENOTSOCK errors so that this can harmlessly be called * on a client '-J' proxy pipe */ -#ifdef IPTOS_DSCP_AF21 +#ifdef IP_TOS /* Set the DSCP field for outbound IP packet priority. rfc4594 has some guidance to meanings. @@ -388,11 +388,14 @@ Old Dropbear/OpenSSH and Debian/Ubuntu OpenSSH (at Jan 2022) use IPTOS_LOWDELAY/IPTOS_THROUGHPUT + + DSCP constants are from Linux headers, applicable to other platforms + such as macos. */ if (prio == DROPBEAR_PRIO_LOWDELAY) { - val = IPTOS_DSCP_AF21; + val = 0x48; /* IPTOS_DSCP_AF21 */ } else if (prio == DROPBEAR_PRIO_BULK) { - val = IPTOS_DSCP_AF11; + val = 0x28; /* IPTOS_DSCP_AF11; */ } else { val = 0; /* default */ } @@ -406,7 +409,7 @@ if (rc < 0 && errno != ENOTSOCK) { TRACE(("Couldn't set IP_TOS (%s)", strerror(errno))); } -#endif +#endif /* IP_TOS */ #ifdef HAVE_LINUX_PKT_SCHED_H /* Set scheduling priority within the local Linux network stack */