aboutsummaryrefslogtreecommitdiff
path: root/share/security/patches/EN-10:01
diff options
context:
space:
mode:
Diffstat (limited to 'share/security/patches/EN-10:01')
-rw-r--r--share/security/patches/EN-10:01/mcinit.patch20
-rw-r--r--share/security/patches/EN-10:01/mcinit.patch.asc7
-rw-r--r--share/security/patches/EN-10:01/multicast.patch100
-rw-r--r--share/security/patches/EN-10:01/multicast.patch.asc7
-rw-r--r--share/security/patches/EN-10:01/nfsreconnect.patch27
-rw-r--r--share/security/patches/EN-10:01/nfsreconnect.patch.asc7
-rw-r--r--share/security/patches/EN-10:01/rename.patch17
-rw-r--r--share/security/patches/EN-10:01/rename.patch.asc7
-rw-r--r--share/security/patches/EN-10:01/sctp.patch14
-rw-r--r--share/security/patches/EN-10:01/sctp.patch.asc7
-rw-r--r--share/security/patches/EN-10:01/zfsmac.patch78
-rw-r--r--share/security/patches/EN-10:01/zfsmac.patch.asc7
-rw-r--r--share/security/patches/EN-10:01/zfsvaccess.patch72
-rw-r--r--share/security/patches/EN-10:01/zfsvaccess.patch.asc7
14 files changed, 0 insertions, 377 deletions
diff --git a/share/security/patches/EN-10:01/mcinit.patch b/share/security/patches/EN-10:01/mcinit.patch
deleted file mode 100644
index d559e080fd..0000000000
--- a/share/security/patches/EN-10:01/mcinit.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Index: sys/netinet/ip_mroute.c
-===================================================================
---- sys/netinet/ip_mroute.c (revision 201431)
-+++ sys/netinet/ip_mroute.c (working copy)
-@@ -1384,6 +1384,15 @@ fail:
- rt->mfc_rp.s_addr = INADDR_ANY;
- rt->mfc_bw_meter = NULL;
-
-+ /* initialize pkt counters per src-grp */
-+ rt->mfc_pkt_cnt = 0;
-+ rt->mfc_byte_cnt = 0;
-+ rt->mfc_wrong_if = 0;
-+ timevalclear(&rt->mfc_last_assert);
-+
-+ TAILQ_INIT(&rt->mfc_stall);
-+ rt->mfc_nstall = 0;
-+
- /* link into table */
- LIST_INSERT_HEAD(&mfchashtbl[hash], rt, mfc_hash);
- TAILQ_INSERT_HEAD(&rt->mfc_stall, rte, rte_link);
diff --git a/share/security/patches/EN-10:01/mcinit.patch.asc b/share/security/patches/EN-10:01/mcinit.patch.asc
deleted file mode 100644
index 7aef3ada9a..0000000000
--- a/share/security/patches/EN-10:01/mcinit.patch.asc
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.10 (FreeBSD)
-
-iD8DBQBLRQ97FdaIBMps37IRAiZJAJ9Py2iMOvav27vV5asuH/0hBYRVogCePJ/r
-K03edeiH7Tql3ZHfeRo8yko=
-=aa1V
------END PGP SIGNATURE-----
diff --git a/share/security/patches/EN-10:01/multicast.patch b/share/security/patches/EN-10:01/multicast.patch
deleted file mode 100644
index 1ca1de6c52..0000000000
--- a/share/security/patches/EN-10:01/multicast.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-Index: sys/netinet/raw_ip.c
-===================================================================
---- sys/netinet/raw_ip.c (revision 200583)
-+++ sys/netinet/raw_ip.c (working copy)
-@@ -343,17 +343,35 @@ rip_input(struct mbuf *m, int off)
- */
- if (inp->inp_moptions != NULL &&
- IN_MULTICAST(ntohl(ip->ip_dst.s_addr))) {
-- struct sockaddr_in group;
-+ /*
-+ * If the incoming datagram is for IGMP, allow it
-+ * through unconditionally to the raw socket.
-+ *
-+ * In the case of IGMPv2, we may not have explicitly
-+ * joined the group, and may have set IFF_ALLMULTI
-+ * on the interface. imo_multi_filter() may discard
-+ * control traffic we actually need to see.
-+ *
-+ * Userland multicast routing daemons should continue
-+ * filter the control traffic appropriately.
-+ */
- int blocked;
-
-- bzero(&group, sizeof(struct sockaddr_in));
-- group.sin_len = sizeof(struct sockaddr_in);
-- group.sin_family = AF_INET;
-- group.sin_addr = ip->ip_dst;
-+ blocked = MCAST_PASS;
-+ if (proto != IPPROTO_IGMP) {
-+ struct sockaddr_in group;
-
-- blocked = imo_multi_filter(inp->inp_moptions, ifp,
-- (struct sockaddr *)&group,
-- (struct sockaddr *)&ripsrc);
-+ bzero(&group, sizeof(struct sockaddr_in));
-+ group.sin_len = sizeof(struct sockaddr_in);
-+ group.sin_family = AF_INET;
-+ group.sin_addr = ip->ip_dst;
-+
-+ blocked = imo_multi_filter(inp->inp_moptions,
-+ ifp,
-+ (struct sockaddr *)&group,
-+ (struct sockaddr *)&ripsrc);
-+ }
-+
- if (blocked != MCAST_PASS) {
- IPSTAT_INC(ips_notmember);
- continue;
-Index: sys/netinet6/raw_ip6.c
-===================================================================
---- sys/netinet6/raw_ip6.c (revision 200583)
-+++ sys/netinet6/raw_ip6.c (working copy)
-@@ -213,17 +213,39 @@ rip6_input(struct mbuf **mp, int *offp, int proto)
- */
- if (in6p->in6p_moptions &&
- IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst)) {
-- struct sockaddr_in6 mcaddr;
-+ /*
-+ * If the incoming datagram is for MLD, allow it
-+ * through unconditionally to the raw socket.
-+ *
-+ * Use the M_RTALERT_MLD flag to check for MLD
-+ * traffic without having to inspect the mbuf chain
-+ * more deeply, as all MLDv1/v2 host messages MUST
-+ * contain the Router Alert option.
-+ *
-+ * In the case of MLDv1, we may not have explicitly
-+ * joined the group, and may have set IFF_ALLMULTI
-+ * on the interface. im6o_mc_filter() may discard
-+ * control traffic we actually need to see.
-+ *
-+ * Userland multicast routing daemons should continue
-+ * filter the control traffic appropriately.
-+ */
- int blocked;
-
-- bzero(&mcaddr, sizeof(struct sockaddr_in6));
-- mcaddr.sin6_len = sizeof(struct sockaddr_in6);
-- mcaddr.sin6_family = AF_INET6;
-- mcaddr.sin6_addr = ip6->ip6_dst;
-+ blocked = MCAST_PASS;
-+ if ((m->m_flags & M_RTALERT_MLD) == 0) {
-+ struct sockaddr_in6 mcaddr;
-
-- blocked = im6o_mc_filter(in6p->in6p_moptions, ifp,
-- (struct sockaddr *)&mcaddr,
-- (struct sockaddr *)&fromsa);
-+ bzero(&mcaddr, sizeof(struct sockaddr_in6));
-+ mcaddr.sin6_len = sizeof(struct sockaddr_in6);
-+ mcaddr.sin6_family = AF_INET6;
-+ mcaddr.sin6_addr = ip6->ip6_dst;
-+
-+ blocked = im6o_mc_filter(in6p->in6p_moptions,
-+ ifp,
-+ (struct sockaddr *)&mcaddr,
-+ (struct sockaddr *)&fromsa);
-+ }
- if (blocked != MCAST_PASS) {
- IP6STAT_INC(ip6s_notmember);
- continue;
diff --git a/share/security/patches/EN-10:01/multicast.patch.asc b/share/security/patches/EN-10:01/multicast.patch.asc
deleted file mode 100644
index 5c465c38e2..0000000000
--- a/share/security/patches/EN-10:01/multicast.patch.asc
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.10 (FreeBSD)
-
-iD8DBQBLRQ9/FdaIBMps37IRAuT6AJ49tONO/rrRaYM2zCY309CdPW3GNwCgnxls
-mSkLO892pvQKqaFTgjFof0w=
-=e/N4
------END PGP SIGNATURE-----
diff --git a/share/security/patches/EN-10:01/nfsreconnect.patch b/share/security/patches/EN-10:01/nfsreconnect.patch
deleted file mode 100644
index 61dfbb2cfb..0000000000
--- a/share/security/patches/EN-10:01/nfsreconnect.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Index: sys/rpc/clnt_vc.c
-===================================================================
---- sys/rpc/clnt_vc.c (revision 200583)
-+++ sys/rpc/clnt_vc.c (working copy)
-@@ -413,6 +413,22 @@ call_again:
-
- cr->cr_xid = xid;
- mtx_lock(&ct->ct_lock);
-+ /*
-+ * Check to see if the other end has already started to close down
-+ * the connection. The upcall will have set ct_error.re_status
-+ * to RPC_CANTRECV if this is the case.
-+ * If the other end starts to close down the connection after this
-+ * point, it will be detected later when cr_error is checked,
-+ * since the request is in the ct_pending queue.
-+ */
-+ if (ct->ct_error.re_status == RPC_CANTRECV) {
-+ if (errp != &ct->ct_error) {
-+ errp->re_errno = ct->ct_error.re_errno;
-+ errp->re_status = RPC_CANTRECV;
-+ }
-+ stat = RPC_CANTRECV;
-+ goto out;
-+ }
- TAILQ_INSERT_TAIL(&ct->ct_pending, cr, cr_link);
- mtx_unlock(&ct->ct_lock);
-
diff --git a/share/security/patches/EN-10:01/nfsreconnect.patch.asc b/share/security/patches/EN-10:01/nfsreconnect.patch.asc
deleted file mode 100644
index 66509664a5..0000000000
--- a/share/security/patches/EN-10:01/nfsreconnect.patch.asc
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.10 (FreeBSD)
-
-iD8DBQBLRQ+CFdaIBMps37IRAgxzAJ9whBL/OL5Iz3q5VxVFYSYtPh8INgCfVup2
-Vcul/i1E5SPCyfjeu11LWSI=
-=T7Kh
------END PGP SIGNATURE-----
diff --git a/share/security/patches/EN-10:01/rename.patch b/share/security/patches/EN-10:01/rename.patch
deleted file mode 100644
index ef70801f8b..0000000000
--- a/share/security/patches/EN-10:01/rename.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: sys/kern/vfs_lookup.c
-===================================================================
---- sys/kern/vfs_lookup.c (revision 200583)
-+++ sys/kern/vfs_lookup.c (working copy)
-@@ -552,6 +552,12 @@ dirloop:
- else
- cnp->cn_flags &= ~ISLASTCN;
-
-+ if ((cnp->cn_flags & ISLASTCN) != 0 &&
-+ cnp->cn_namelen == 1 && cnp->cn_nameptr[0] == '.' &&
-+ (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) {
-+ error = EINVAL;
-+ goto bad;
-+ }
-
- /*
- * Check for degenerate name (e.g. / or "")
diff --git a/share/security/patches/EN-10:01/rename.patch.asc b/share/security/patches/EN-10:01/rename.patch.asc
deleted file mode 100644
index f7bf8d9e29..0000000000
--- a/share/security/patches/EN-10:01/rename.patch.asc
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.10 (FreeBSD)
-
-iD8DBQBLRQ+GFdaIBMps37IRAsHrAJ9g66jI3fSGB4fINVFNE0snEzke8ACcDN0B
-181UsnOfrdrQVLHJiytzX2E=
-=LxDa
------END PGP SIGNATURE-----
diff --git a/share/security/patches/EN-10:01/sctp.patch b/share/security/patches/EN-10:01/sctp.patch
deleted file mode 100644
index 7543c42d2b..0000000000
--- a/share/security/patches/EN-10:01/sctp.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: sys/netinet/sctp_input.c
-===================================================================
---- sys/netinet/sctp_input.c (revision 200583)
-+++ sys/netinet/sctp_input.c (working copy)
-@@ -834,6 +834,9 @@ sctp_handle_shutdown(struct sctp_shutdown_chunk *c
- return;
- } else {
- sctp_update_acked(stcb, cp, net, abort_flag);
-+ if (*abort_flag) {
-+ return;
-+ }
- }
- if (asoc->control_pdapi) {
- /*
diff --git a/share/security/patches/EN-10:01/sctp.patch.asc b/share/security/patches/EN-10:01/sctp.patch.asc
deleted file mode 100644
index 3ea667c7fa..0000000000
--- a/share/security/patches/EN-10:01/sctp.patch.asc
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.10 (FreeBSD)
-
-iD8DBQBLRQ+KFdaIBMps37IRAucUAJ9tjhRHdgEPJCzgo+RqqbByqdnHBQCeIMX0
-ASUbaYhkffhO7sAJONHEg68=
-=GJHF
------END PGP SIGNATURE-----
diff --git a/share/security/patches/EN-10:01/zfsmac.patch b/share/security/patches/EN-10:01/zfsmac.patch
deleted file mode 100644
index 286e3959fe..0000000000
--- a/share/security/patches/EN-10:01/zfsmac.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
-===================================================================
---- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c (revision 200583)
-+++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c (working copy)
-@@ -143,16 +143,19 @@ zfs_znode_cache_constructor(void *buf, void *arg,
-
- POINTER_INVALIDATE(&zp->z_zfsvfs);
- ASSERT(!POINTER_IS_VALID(zp->z_zfsvfs));
-- ASSERT(vfsp != NULL);
-
-- error = getnewvnode("zfs", vfsp, &zfs_vnodeops, &vp);
-- if (error != 0 && (kmflags & KM_NOSLEEP))
-- return (-1);
-- ASSERT(error == 0);
-- vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
-- zp->z_vnode = vp;
-- vp->v_data = (caddr_t)zp;
-- VN_LOCK_AREC(vp);
-+ if (vfsp != NULL) {
-+ error = getnewvnode("zfs", vfsp, &zfs_vnodeops, &vp);
-+ if (error != 0 && (kmflags & KM_NOSLEEP))
-+ return (-1);
-+ ASSERT(error == 0);
-+ vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
-+ zp->z_vnode = vp;
-+ vp->v_data = (caddr_t)zp;
-+ VN_LOCK_AREC(vp);
-+ } else {
-+ zp->z_vnode = NULL;
-+ }
-
- list_link_init(&zp->z_link_node);
-
-@@ -1435,7 +1438,7 @@ zfs_create_fs(objset_t *os, cred_t *cr, nvlist_t *
- nvpair_t *elem;
- int error;
- znode_t *rootzp = NULL;
-- vnode_t *vp;
-+ vnode_t vnode;
- vattr_t vattr;
- znode_t *zp;
-
-@@ -1504,13 +1507,13 @@ zfs_create_fs(objset_t *os, cred_t *cr, nvlist_t *
- vattr.va_gid = crgetgid(cr);
-
- rootzp = kmem_cache_alloc(znode_cache, KM_SLEEP);
-- zfs_znode_cache_constructor(rootzp, &zfsvfs, 0);
-+ zfs_znode_cache_constructor(rootzp, NULL, 0);
- rootzp->z_unlinked = 0;
- rootzp->z_atime_dirty = 0;
-
-- vp = ZTOV(rootzp);
-- vp->v_type = VDIR;
-- VN_LOCK_ASHARE(vp);
-+ vnode.v_type = VDIR;
-+ vnode.v_data = rootzp;
-+ rootzp->z_vnode = &vnode;
-
- bzero(&zfsvfs, sizeof (zfsvfs_t));
-
-@@ -1539,16 +1542,10 @@ zfs_create_fs(objset_t *os, cred_t *cr, nvlist_t *
- ASSERT(error == 0);
- POINTER_INVALIDATE(&rootzp->z_zfsvfs);
-
-- VI_LOCK(vp);
-- ZTOV(rootzp)->v_data = NULL;
-- ZTOV(rootzp)->v_count = 0;
-- ZTOV(rootzp)->v_holdcnt = 0;
-- rootzp->z_vnode = NULL;
-- VOP_UNLOCK(vp, 0);
-- vdestroy(vp);
- dmu_buf_rele(rootzp->z_dbuf, NULL);
- rootzp->z_dbuf = NULL;
- mutex_destroy(&zfsvfs.z_znodes_lock);
-+ rootzp->z_vnode = NULL;
- kmem_cache_free(znode_cache, rootzp);
- }
-
diff --git a/share/security/patches/EN-10:01/zfsmac.patch.asc b/share/security/patches/EN-10:01/zfsmac.patch.asc
deleted file mode 100644
index ff2d98cb29..0000000000
--- a/share/security/patches/EN-10:01/zfsmac.patch.asc
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.10 (FreeBSD)
-
-iD8DBQBLRQ+OFdaIBMps37IRAoKrAJ96Nx1lSfC0pQG6vXgBP15kl13VOwCfVnT4
-GDh8Jy+GHTH56I82n4SgoaA=
-=DMKc
------END PGP SIGNATURE-----
diff --git a/share/security/patches/EN-10:01/zfsvaccess.patch b/share/security/patches/EN-10:01/zfsvaccess.patch
deleted file mode 100644
index 4a47391171..0000000000
--- a/share/security/patches/EN-10:01/zfsvaccess.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
-===================================================================
---- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c (revision 200583)
-+++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c (working copy)
-@@ -3981,21 +3981,33 @@ zfs_freebsd_access(ap)
- struct thread *a_td;
- } */ *ap;
- {
-+ accmode_t accmode;
-+ int error = 0;
-
- /*
-- * ZFS itself only knowns about VREAD, VWRITE and VEXEC, the rest
-- * we have to handle by calling vaccess().
-+ * ZFS itself only knowns about VREAD, VWRITE, VEXEC and VAPPEND,
- */
-- if ((ap->a_accmode & ~(VREAD|VWRITE|VEXEC)) != 0) {
-- vnode_t *vp = ap->a_vp;
-- znode_t *zp = VTOZ(vp);
-- znode_phys_t *zphys = zp->z_phys;
-+ accmode = ap->a_accmode & (VREAD|VWRITE|VEXEC|VAPPEND);
-+ if (accmode != 0)
-+ error = zfs_access(ap->a_vp, accmode, 0, ap->a_cred, NULL);
-
-- return (vaccess(vp->v_type, zphys->zp_mode, zphys->zp_uid,
-- zphys->zp_gid, ap->a_accmode, ap->a_cred, NULL));
-+ /*
-+ * VADMIN has to be handled by vaccess().
-+ */
-+ if (error == 0) {
-+ accmode = ap->a_accmode & ~(VREAD|VWRITE|VEXEC|VAPPEND);
-+ if (accmode != 0) {
-+ vnode_t *vp = ap->a_vp;
-+ znode_t *zp = VTOZ(vp);
-+ znode_phys_t *zphys = zp->z_phys;
-+
-+ error = vaccess(vp->v_type, zphys->zp_mode,
-+ zphys->zp_uid, zphys->zp_gid, accmode, ap->a_cred,
-+ NULL);
-+ }
- }
-
-- return (zfs_access(ap->a_vp, ap->a_accmode, 0, ap->a_cred, NULL));
-+ return (error);
- }
-
- static int
-Index: sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h
-===================================================================
---- sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h (revision 200583)
-+++ sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h (working copy)
-@@ -304,7 +304,6 @@ typedef struct xvattr {
- * VOP_ACCESS flags
- */
- #define V_ACE_MASK 0x1 /* mask represents NFSv4 ACE permissions */
--#define V_APPEND 0x2 /* want to do append only check */
-
- /*
- * Flags for vnode operations.
-Index: sys/cddl/compat/opensolaris/sys/vnode.h
-===================================================================
---- sys/cddl/compat/opensolaris/sys/vnode.h (revision 200583)
-+++ sys/cddl/compat/opensolaris/sys/vnode.h (working copy)
-@@ -57,6 +57,8 @@ typedef struct vop_vector vnodeops_t;
-
- #define v_count v_usecount
-
-+#define V_APPEND VAPPEND
-+
- static __inline int
- vn_is_readonly(vnode_t *vp)
- {
diff --git a/share/security/patches/EN-10:01/zfsvaccess.patch.asc b/share/security/patches/EN-10:01/zfsvaccess.patch.asc
deleted file mode 100644
index 3d295b1d99..0000000000
--- a/share/security/patches/EN-10:01/zfsvaccess.patch.asc
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.10 (FreeBSD)
-
-iD8DBQBLRQ+RFdaIBMps37IRAutJAJ9kWtj/5fk1Ng6qmDRdb2qbX00/RwCgg631
-+1Gsl+PGrFamz+iU2fTcfFA=
-=IAmh
------END PGP SIGNATURE-----