sync code with last fixes and improvements from OpenBSD
This commit is contained in:
parent
f57be82572
commit
58b04bcee7
468 changed files with 9958 additions and 7882 deletions
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: bfd.c,v 1.78 2021/09/14 09:15:55 mvs Exp $ */
|
||||
/* $OpenBSD: bfd.c,v 1.79 2023/07/12 16:10:45 mvs Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2016-2018 Peter Hessler <phessler@openbsd.org>
|
||||
|
@ -436,7 +436,6 @@ bfd_listener(struct bfd_config *bfd, unsigned int port)
|
|||
struct socket *so;
|
||||
struct mbuf *m = NULL, *mopt = NULL;
|
||||
int *ip, error;
|
||||
int s;
|
||||
|
||||
/* sa_family and sa_len must be equal */
|
||||
if (src->sa_family != dst->sa_family || src->sa_len != dst->sa_len)
|
||||
|
@ -453,9 +452,9 @@ bfd_listener(struct bfd_config *bfd, unsigned int port)
|
|||
mopt->m_len = sizeof(int);
|
||||
ip = mtod(mopt, int *);
|
||||
*ip = MAXTTL;
|
||||
s = solock(so);
|
||||
solock(so);
|
||||
error = sosetopt(so, IPPROTO_IP, IP_MINTTL, mopt);
|
||||
sounlock(so, s);
|
||||
sounlock(so);
|
||||
m_freem(mopt);
|
||||
if (error) {
|
||||
printf("%s: sosetopt error %d\n",
|
||||
|
@ -480,9 +479,9 @@ bfd_listener(struct bfd_config *bfd, unsigned int port)
|
|||
break;
|
||||
}
|
||||
|
||||
s = solock(so);
|
||||
solock(so);
|
||||
error = sobind(so, m, p);
|
||||
sounlock(so, s);
|
||||
sounlock(so);
|
||||
if (error) {
|
||||
printf("%s: sobind error %d\n",
|
||||
__func__, error);
|
||||
|
@ -518,7 +517,6 @@ bfd_sender(struct bfd_config *bfd, unsigned int port)
|
|||
struct sockaddr_in6 *sin6;
|
||||
struct sockaddr_in *sin;
|
||||
int error, *ip;
|
||||
int s;
|
||||
|
||||
/* sa_family and sa_len must be equal */
|
||||
if (src->sa_family != dst->sa_family || src->sa_len != dst->sa_len)
|
||||
|
@ -533,9 +531,9 @@ bfd_sender(struct bfd_config *bfd, unsigned int port)
|
|||
mopt->m_len = sizeof(int);
|
||||
ip = mtod(mopt, int *);
|
||||
*ip = IP_PORTRANGE_HIGH;
|
||||
s = solock(so);
|
||||
solock(so);
|
||||
error = sosetopt(so, IPPROTO_IP, IP_PORTRANGE, mopt);
|
||||
sounlock(so, s);
|
||||
sounlock(so);
|
||||
m_freem(mopt);
|
||||
if (error) {
|
||||
printf("%s: sosetopt error %d\n",
|
||||
|
@ -547,9 +545,9 @@ bfd_sender(struct bfd_config *bfd, unsigned int port)
|
|||
mopt->m_len = sizeof(int);
|
||||
ip = mtod(mopt, int *);
|
||||
*ip = MAXTTL;
|
||||
s = solock(so);
|
||||
solock(so);
|
||||
error = sosetopt(so, IPPROTO_IP, IP_TTL, mopt);
|
||||
sounlock(so, s);
|
||||
sounlock(so);
|
||||
m_freem(mopt);
|
||||
if (error) {
|
||||
printf("%s: sosetopt error %d\n",
|
||||
|
@ -561,9 +559,9 @@ bfd_sender(struct bfd_config *bfd, unsigned int port)
|
|||
mopt->m_len = sizeof(int);
|
||||
ip = mtod(mopt, int *);
|
||||
*ip = IPTOS_PREC_INTERNETCONTROL;
|
||||
s = solock(so);
|
||||
solock(so);
|
||||
error = sosetopt(so, IPPROTO_IP, IP_TOS, mopt);
|
||||
sounlock(so, s);
|
||||
sounlock(so);
|
||||
m_freem(mopt);
|
||||
if (error) {
|
||||
printf("%s: sosetopt error %d\n",
|
||||
|
@ -588,9 +586,9 @@ bfd_sender(struct bfd_config *bfd, unsigned int port)
|
|||
break;
|
||||
}
|
||||
|
||||
s = solock(so);
|
||||
solock(so);
|
||||
error = sobind(so, m, p);
|
||||
sounlock(so, s);
|
||||
sounlock(so);
|
||||
if (error) {
|
||||
printf("%s: sobind error %d\n",
|
||||
__func__, error);
|
||||
|
@ -611,9 +609,9 @@ bfd_sender(struct bfd_config *bfd, unsigned int port)
|
|||
break;
|
||||
}
|
||||
|
||||
s = solock(so);
|
||||
solock(so);
|
||||
error = soconnect(so, m);
|
||||
sounlock(so, s);
|
||||
sounlock(so);
|
||||
if (error && error != ECONNREFUSED) {
|
||||
printf("%s: soconnect error %d\n",
|
||||
__func__, error);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue