Changeset View
Changeset View
Standalone View
Standalone View
sys/netipsec/key.c
Show First 20 Lines • Show All 2,033 Lines • ▼ Show 20 Lines | key_spdadd(struct socket *so, struct mbuf *m, const struct sadb_msghdr *mhp) | ||||
oldsp = key_getsp(&spidx); | oldsp = key_getsp(&spidx); | ||||
if (oldsp != NULL) { | if (oldsp != NULL) { | ||||
if (mhp->msg->sadb_msg_type == SADB_X_SPDUPDATE) { | if (mhp->msg->sadb_msg_type == SADB_X_SPDUPDATE) { | ||||
KEYDBG(KEY_STAMP, | KEYDBG(KEY_STAMP, | ||||
printf("%s: unlink SP(%p) for SPDUPDATE\n", | printf("%s: unlink SP(%p) for SPDUPDATE\n", | ||||
__func__, oldsp)); | __func__, oldsp)); | ||||
KEYDBG(KEY_DATA, kdebug_secpolicy(oldsp)); | KEYDBG(KEY_DATA, kdebug_secpolicy(oldsp)); | ||||
} else { | } else { | ||||
key_freesp(&newsp); | key_freesp(&oldsp); | ||||
ipseclog((LOG_DEBUG, | ipseclog((LOG_DEBUG, | ||||
"%s: a SP entry exists already.\n", __func__)); | "%s: a SP entry exists already.\n", __func__)); | ||||
return (key_senderror(so, m, EEXIST)); | return (key_senderror(so, m, EEXIST)); | ||||
} | } | ||||
} | } | ||||
/* allocate new SP entry */ | /* allocate new SP entry */ | ||||
if ((newsp = key_msg2sp(xpl0, PFKEY_EXTLEN(xpl0), &error)) == NULL) { | if ((newsp = key_msg2sp(xpl0, PFKEY_EXTLEN(xpl0), &error)) == NULL) { | ||||
▲ Show 20 Lines • Show All 6,570 Lines • Show Last 20 Lines |