Print this page
4838 Fix for 4596 has some inverted booleans
Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
*** 2731,2741 ****
if (v4mapped)
ixa->ixa_flags |= IXAF_IS_IPV4;
else
ixa->ixa_flags &= ~IXAF_IS_IPV4;
if (srcid != 0 && IN6_IS_ADDR_UNSPECIFIED(&v6src)) {
! if (ip_srcid_find_id(srcid, &v6src, IPCL_ZONEID(connp),
v4mapped, connp->conn_netstack)) {
/* Mismatch - v4mapped/v6 specified by srcid. */
mutex_exit(&connp->conn_lock);
error = EADDRNOTAVAIL;
goto failed; /* Does freemsg() and mib. */
--- 2731,2741 ----
if (v4mapped)
ixa->ixa_flags |= IXAF_IS_IPV4;
else
ixa->ixa_flags &= ~IXAF_IS_IPV4;
if (srcid != 0 && IN6_IS_ADDR_UNSPECIFIED(&v6src)) {
! if (!ip_srcid_find_id(srcid, &v6src, IPCL_ZONEID(connp),
v4mapped, connp->conn_netstack)) {
/* Mismatch - v4mapped/v6 specified by srcid. */
mutex_exit(&connp->conn_lock);
error = EADDRNOTAVAIL;
goto failed; /* Does freemsg() and mib. */
*** 3752,3762 ****
if (v4mapped)
ixa->ixa_flags |= IXAF_IS_IPV4;
else
ixa->ixa_flags &= ~IXAF_IS_IPV4;
if (srcid != 0 && IN6_IS_ADDR_UNSPECIFIED(&v6src)) {
! if (ip_srcid_find_id(srcid, &v6src, IPCL_ZONEID(connp),
v4mapped, connp->conn_netstack)) {
/* Mismatched v4mapped/v6 specified by srcid. */
mutex_exit(&connp->conn_lock);
error = EADDRNOTAVAIL;
goto ud_error;
--- 3752,3762 ----
if (v4mapped)
ixa->ixa_flags |= IXAF_IS_IPV4;
else
ixa->ixa_flags &= ~IXAF_IS_IPV4;
if (srcid != 0 && IN6_IS_ADDR_UNSPECIFIED(&v6src)) {
! if (!ip_srcid_find_id(srcid, &v6src, IPCL_ZONEID(connp),
v4mapped, connp->conn_netstack)) {
/* Mismatched v4mapped/v6 specified by srcid. */
mutex_exit(&connp->conn_lock);
error = EADDRNOTAVAIL;
goto ud_error;
*** 5569,5579 ****
v6dst = sin6->sin6_addr;
dstport = sin6->sin6_port;
srcid = sin6->__sin6_src_id;
v4mapped = IN6_IS_ADDR_V4MAPPED(&v6dst);
if (srcid != 0 && IN6_IS_ADDR_UNSPECIFIED(&v6src)) {
! if (ip_srcid_find_id(srcid, &v6src, IPCL_ZONEID(connp),
v4mapped, connp->conn_netstack)) {
/* Mismatch v4mapped/v6 specified by srcid. */
return (EADDRNOTAVAIL);
}
}
--- 5569,5579 ----
v6dst = sin6->sin6_addr;
dstport = sin6->sin6_port;
srcid = sin6->__sin6_src_id;
v4mapped = IN6_IS_ADDR_V4MAPPED(&v6dst);
if (srcid != 0 && IN6_IS_ADDR_UNSPECIFIED(&v6src)) {
! if (!ip_srcid_find_id(srcid, &v6src, IPCL_ZONEID(connp),
v4mapped, connp->conn_netstack)) {
/* Mismatch v4mapped/v6 specified by srcid. */
return (EADDRNOTAVAIL);
}
}