MFH r338661 through r339253.

Sponsored by:	The FreeBSD Foundation
This commit is contained in:
Glen Barber 2018-10-09 14:27:55 +00:00
commit 7c32835287
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/projects/openssl111/; revision=339255
10 changed files with 153 additions and 19 deletions

View file

@ -8,6 +8,37 @@
#define Blowfish_expandstate Fssh_Blowfish_expandstate
#define Blowfish_initstate Fssh_Blowfish_initstate
#define Blowfish_stream2word Fssh_Blowfish_stream2word
#define DH_get0_key Fssh_DH_get0_key
#define DH_get0_pqg Fssh_DH_get0_pqg
#define DH_set0_key Fssh_DH_set0_key
#define DH_set0_pqg Fssh_DH_set0_pqg
#define DH_set_length Fssh_DH_set_length
#define DSA_SIG_get0 Fssh_DSA_SIG_get0
#define DSA_SIG_set0 Fssh_DSA_SIG_set0
#define DSA_get0_key Fssh_DSA_get0_key
#define DSA_get0_pqg Fssh_DSA_get0_pqg
#define DSA_set0_key Fssh_DSA_set0_key
#define DSA_set0_pqg Fssh_DSA_set0_pqg
#define ECDSA_SIG_get0 Fssh_ECDSA_SIG_get0
#define ECDSA_SIG_set0 Fssh_ECDSA_SIG_set0
#define EVP_CIPHER_CTX_get_iv Fssh_EVP_CIPHER_CTX_get_iv
#define EVP_CIPHER_CTX_set_iv Fssh_EVP_CIPHER_CTX_set_iv
#define EVP_MD_CTX_free Fssh_EVP_MD_CTX_free
#define EVP_MD_CTX_new Fssh_EVP_MD_CTX_new
#define EVP_PKEY_get0_RSA Fssh_EVP_PKEY_get0_RSA
#define RSA_get0_crt_params Fssh_RSA_get0_crt_params
#define RSA_get0_factors Fssh_RSA_get0_factors
#define RSA_get0_key Fssh_RSA_get0_key
#define RSA_meth_dup Fssh_RSA_meth_dup
#define RSA_meth_free Fssh_RSA_meth_free
#define RSA_meth_get_finish Fssh_RSA_meth_get_finish
#define RSA_meth_set1_name Fssh_RSA_meth_set1_name
#define RSA_meth_set_finish Fssh_RSA_meth_set_finish
#define RSA_meth_set_priv_dec Fssh_RSA_meth_set_priv_dec
#define RSA_meth_set_priv_enc Fssh_RSA_meth_set_priv_enc
#define RSA_set0_crt_params Fssh_RSA_set0_crt_params
#define RSA_set0_factors Fssh_RSA_set0_factors
#define RSA_set0_key Fssh_RSA_set0_key
#define _ssh__compat_glob Fssh__ssh__compat_glob
#define _ssh__compat_globfree Fssh__ssh__compat_globfree
#define _ssh_compat_realpath Fssh__ssh_compat_realpath
@ -166,7 +197,6 @@
#define cipher_crypt Fssh_cipher_crypt
#define cipher_ctx_is_plaintext Fssh_cipher_ctx_is_plaintext
#define cipher_free Fssh_cipher_free
#define cipher_get_keycontext Fssh_cipher_get_keycontext
#define cipher_get_keyiv Fssh_cipher_get_keyiv
#define cipher_get_keyiv_len Fssh_cipher_get_keyiv_len
#define cipher_get_length Fssh_cipher_get_length
@ -175,7 +205,6 @@
#define cipher_ivlen Fssh_cipher_ivlen
#define cipher_keylen Fssh_cipher_keylen
#define cipher_seclen Fssh_cipher_seclen
#define cipher_set_keycontext Fssh_cipher_set_keycontext
#define cipher_set_keyiv Fssh_cipher_set_keyiv
#define cipher_warning_message Fssh_cipher_warning_message
#define ciphers_valid Fssh_ciphers_valid
@ -630,7 +659,7 @@
#define ssh_remove_all_identities Fssh_ssh_remove_all_identities
#define ssh_remove_identity Fssh_ssh_remove_identity
#define ssh_request_reply Fssh_ssh_request_reply
#define ssh_rsa_generate_additional_parameters Fssh_ssh_rsa_generate_additional_parameters
#define ssh_rsa_complete_crt_parameters Fssh_ssh_rsa_complete_crt_parameters
#define ssh_rsa_sign Fssh_ssh_rsa_sign
#define ssh_rsa_verify Fssh_ssh_rsa_verify
#define ssh_set_app_data Fssh_ssh_set_app_data
@ -652,6 +681,7 @@
#define sshbuf_dump_data Fssh_sshbuf_dump_data
#define sshbuf_dup_string Fssh_sshbuf_dup_string
#define sshbuf_free Fssh_sshbuf_free
#define sshbuf_free_passwd Fssh_sshbuf_free_passwd
#define sshbuf_from Fssh_sshbuf_from
#define sshbuf_fromb Fssh_sshbuf_fromb
#define sshbuf_froms Fssh_sshbuf_froms
@ -662,6 +692,7 @@
#define sshbuf_get_cstring Fssh_sshbuf_get_cstring
#define sshbuf_get_ec Fssh_sshbuf_get_ec
#define sshbuf_get_eckey Fssh_sshbuf_get_eckey
#define sshbuf_get_passwd Fssh_sshbuf_get_passwd
#define sshbuf_get_string Fssh_sshbuf_get_string
#define sshbuf_get_string_direct Fssh_sshbuf_get_string_direct
#define sshbuf_get_stringb Fssh_sshbuf_get_stringb
@ -683,6 +714,7 @@
#define sshbuf_put_cstring Fssh_sshbuf_put_cstring
#define sshbuf_put_ec Fssh_sshbuf_put_ec
#define sshbuf_put_eckey Fssh_sshbuf_put_eckey
#define sshbuf_put_passwd Fssh_sshbuf_put_passwd
#define sshbuf_put_string Fssh_sshbuf_put_string
#define sshbuf_put_stringb Fssh_sshbuf_put_stringb
#define sshbuf_put_u16 Fssh_sshbuf_put_u16
@ -697,7 +729,6 @@
#define sshbuf_reset Fssh_sshbuf_reset
#define sshbuf_set_max_size Fssh_sshbuf_set_max_size
#define sshbuf_set_parent Fssh_sshbuf_set_parent
#define sshkey_add_private Fssh_sshkey_add_private
#define sshkey_alg_list Fssh_sshkey_alg_list
#define sshkey_cert_check_authority Fssh_sshkey_cert_check_authority
#define sshkey_cert_copy Fssh_sshkey_cert_copy
@ -709,7 +740,6 @@
#define sshkey_curve_name_to_nid Fssh_sshkey_curve_name_to_nid
#define sshkey_curve_nid_to_bits Fssh_sshkey_curve_nid_to_bits
#define sshkey_curve_nid_to_name Fssh_sshkey_curve_nid_to_name
#define sshkey_demote Fssh_sshkey_demote
#define sshkey_drop_cert Fssh_sshkey_drop_cert
#define sshkey_dump_ec_key Fssh_sshkey_dump_ec_key
#define sshkey_dump_ec_point Fssh_sshkey_dump_ec_point

View file

@ -419,7 +419,7 @@ _strptime(const char *buf, const char *fmt, struct tm *tm, int *GMTp,
i += *buf - '0';
len--;
}
if (i > 31)
if (i == 0 || i > 31)
return (NULL);
tm->tm_mday = i;

View file

@ -100,6 +100,7 @@ dumbbell [label="Jean-Sebastien Pedron\ndumbbell@FreeBSD.org\n2017/01/10"]
dvl [label="Dan Langille\ndvl@FreeBSD.org\n2014/08/10"]
eadler [label="Eitan Adler\neadler@FreeBSD.org\n2011/08/17"]
edwin [label="Edwin Groothuis\nedwin@FreeBSD.org\n2002/10/22"]
egypcio [label="Vinícius Zavam\negypcio@FreeBSD.org\n2018/10/04"]
ehaupt [label="Emanuel Haupt\nehaupt@FreeBSD.org\n2005/10/03"]
eik [label="Oliver Eikemeier\neik@FreeBSD.org\n2003/11/12"]
ericbsd [label="Eric Turgeon\nericbsd@FreeBSD.org\n2018/03/17"]
@ -297,6 +298,7 @@ amdmi3 -> arrowd
antoine -> dumbbell
araujo -> egypcio
araujo -> jhixson
araujo -> lippe
araujo -> pclin
@ -332,6 +334,7 @@ bapt -> rpaulo
bapt -> sbruno
beat -> decke
beat -> egypcio
beat -> marius
beat -> sperber
beat -> uqs
@ -633,6 +636,7 @@ rakuco -> tcberner
rene -> bar
rene -> cmt
rene -> crees
rene -> egypcio
rene -> jgh
rene -> jmd
rene -> joneum

View file

@ -133,7 +133,7 @@ static void nfsrv_pnfssetfh(struct vnode *, struct pnfsdsfile *, char *, char *,
static int nfsrv_dsremove(struct vnode *, char *, struct ucred *, NFSPROC_T *);
static int nfsrv_dssetacl(struct vnode *, struct acl *, struct ucred *,
NFSPROC_T *);
static int nfsrv_pnfsstatfs(struct statfs *);
static int nfsrv_pnfsstatfs(struct statfs *, struct mount *);
int nfs_pnfsio(task_fn_t *, void *);
@ -1593,7 +1593,7 @@ nfsvno_statfs(struct vnode *vp, struct statfs *sf)
if (nfsrv_devidcnt > 0) {
/* For a pNFS service, get the DS numbers. */
tsf = malloc(sizeof(*tsf), M_TEMP, M_WAITOK | M_ZERO);
error = nfsrv_pnfsstatfs(tsf);
error = nfsrv_pnfsstatfs(tsf, vp->v_mount);
if (error != 0) {
free(tsf, M_TEMP);
tsf = NULL;
@ -1774,7 +1774,7 @@ nfsvno_fillattr(struct nfsrv_descript *nd, struct mount *mp, struct vnode *vp,
NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_SPACEFREE) ||
NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_SPACETOTAL))) {
sf = malloc(sizeof(*sf), M_TEMP, M_WAITOK | M_ZERO);
error = nfsrv_pnfsstatfs(sf);
error = nfsrv_pnfsstatfs(sf, mp);
if (error != 0) {
free(sf, M_TEMP);
sf = NULL;
@ -5578,7 +5578,7 @@ nfsrv_killrpcs(struct nfsmount *nmp)
* receive the total for all DSs.
*/
static int
nfsrv_pnfsstatfs(struct statfs *sf)
nfsrv_pnfsstatfs(struct statfs *sf, struct mount *mp)
{
struct statfs *tsf;
struct nfsdevice *ds;
@ -5595,13 +5595,30 @@ nfsrv_pnfsstatfs(struct statfs *sf)
tdvpp = dvpp;
i = 0;
NFSDDSLOCK();
/* First, search for matches for same file system. */
TAILQ_FOREACH(ds, &nfsrv_devidhead, nfsdev_list) {
if (ds->nfsdev_nmp != NULL) {
if (ds->nfsdev_nmp != NULL && ds->nfsdev_mdsisset != 0 &&
ds->nfsdev_mdsfsid.val[0] == mp->mnt_stat.f_fsid.val[0] &&
ds->nfsdev_mdsfsid.val[1] == mp->mnt_stat.f_fsid.val[1]) {
if (++i > nfsrv_devidcnt)
break;
*tdvpp++ = ds->nfsdev_dvp;
}
}
/*
* If no matches for same file system, total all servers not assigned
* to a file system.
*/
if (i == 0) {
TAILQ_FOREACH(ds, &nfsrv_devidhead, nfsdev_list) {
if (ds->nfsdev_nmp != NULL &&
ds->nfsdev_mdsisset == 0) {
if (++i > nfsrv_devidcnt)
break;
*tdvpp++ = ds->nfsdev_dvp;
}
}
}
NFSDDSUNLOCK();
cnt = i;

View file

@ -2033,15 +2033,18 @@ lagg_lb_porttable(struct lagg_softc *sc, struct lagg_port *lp)
{
struct lagg_lb *lb = (struct lagg_lb *)sc->sc_psc;
struct lagg_port *lp_next;
int i = 0;
int i = 0, rv;
rv = 0;
bzero(&lb->lb_ports, sizeof(lb->lb_ports));
LAGG_RLOCK();
CK_SLIST_FOREACH(lp_next, &sc->sc_ports, lp_entries) {
if (lp_next == lp)
continue;
if (i >= LAGG_MAX_PORTS)
return (EINVAL);
if (i >= LAGG_MAX_PORTS) {
rv = EINVAL;
break;
}
if (sc->sc_ifflags & IFF_DEBUG)
printf("%s: port %s at index %d\n",
sc->sc_ifname, lp_next->lp_ifp->if_xname, i);
@ -2049,7 +2052,7 @@ lagg_lb_porttable(struct lagg_softc *sc, struct lagg_port *lp)
}
LAGG_RUNLOCK();
return (0);
return (rv);
}
static int

View file

@ -110,16 +110,16 @@ ip_dooptions(struct mbuf *m, int pass)
struct nhop4_extended nh_ext;
struct sockaddr_in ipaddr = { sizeof(ipaddr), AF_INET };
NET_EPOCH_ENTER();
/* Ignore or reject packets with IP options. */
if (V_ip_doopts == 0)
return 0;
else if (V_ip_doopts == 2) {
type = ICMP_UNREACH;
code = ICMP_UNREACH_FILTER_PROHIB;
goto bad;
goto bad_unlocked;
}
NET_EPOCH_ENTER();
dst = ip->ip_dst;
cp = (u_char *)(ip + 1);
cnt = (ip->ip_hl << 2) - sizeof (struct ip);
@ -388,6 +388,7 @@ ip_dooptions(struct mbuf *m, int pass)
return (0);
bad:
NET_EPOCH_EXIT();
bad_unlocked:
icmp_error(m, type, code, 0, 0);
IPSTAT_INC(ips_badoptions);
return (1);

View file

@ -434,8 +434,8 @@ udp6_input(struct mbuf **mp, int *offp, int proto)
INP_RUNLOCK(last);
} else
INP_RUNLOCK(last);
INP_INFO_RUNLOCK_ET(pcbinfo, et);
inp_lost:
INP_INFO_RUNLOCK_ET(pcbinfo, et);
return (IPPROTO_DONE);
}
/*

View file

@ -85,6 +85,7 @@
02/22 Jake Burkholder <jake@FreeBSD.org> born in Maynooth, Ontario, Canada, 1979
02/23 Peter Wemm <peter@FreeBSD.org> born in Perth, Western Australia, Australia, 1971
02/23 Mathieu Arnold <mat@FreeBSD.org> born in Champigny sur Marne, Val de Marne, France, 1978
02/23 Vinícius Zavam <egypcio@FreeBSD.org> born in Fortaleza, Ceará, Brazil, 1986
02/24 Johan Karlsson <johan@FreeBSD.org> born in Mariannelund, Sweden, 1974
02/24 Colin Percival <cperciva@FreeBSD.org> born in Burnaby, Canada, 1981
02/24 Kevin Bowling <kbowling@FreeBSD.org> born in Scottsdale, Arizona, United States, 1989

View file

@ -161,7 +161,7 @@ _UNAME_R=`uname -r`
_UNAME_R=${_UNAME_R%-p*}
case ${_UNAME_R} in
*-CURRENT|*-STABLE|*-PRERELEASE)
*-ALPHA*|*-CURRENT|*-STABLE|*-PRERELEASE)
RELDIR="snapshots"
;;
*)

View file

@ -0,0 +1,78 @@
/*-
* SPDX-License-Identifier: BSD-2-Clause
*
* Copyright (c) 2018 John Baldwin <jhb@FreeBSD.org>
*
* This software was developed by SRI International and the University of
* Cambridge Computer Laboratory (Department of Computer Science and
* Technology) under DARPA contract HR0011-18-C-0016 ("ECATS"), as part of the
* DARPA SSITH research programme.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
#include <sys/types.h>
#include <machine/elf.h>
#include <err.h>
#include <errno.h>
#include "ef.h"
int
ef_reloc(struct elf_file *ef, const void *reldata, int reltype, Elf_Off relbase,
Elf_Off dataoff, size_t len, void *dest)
{
Elf_Addr *where, val;
const Elf_Rela *rela;
Elf_Addr addend, addr;
Elf_Size rtype;
switch (reltype) {
case EF_RELOC_RELA:
rela = (const Elf_Rela *)reldata;
where = (Elf_Addr *)((char *)dest + relbase + rela->r_offset -
dataoff);
addend = rela->r_addend;
rtype = ELF_R_TYPE(rela->r_info);
break;
default:
return (EINVAL);
}
if ((char *)where < (char *)dest || (char *)where >= (char *)dest + len)
return (0);
switch (rtype) {
case R_RISCV_RELATIVE: /* B + A */
addr = addend + relbase;
val = addr;
*where = val;
break;
default:
warnx("unhandled relocation type %d", (int)rtype);
}
return (0);
}