From 9c2c14ab194d42014417b385d6bf226ba1a37995 Mon Sep 17 00:00:00 2001 From: Thejaswini Singarajipura Date: Mon, 29 Sep 2008 19:18:37 -0400 Subject: PSARC 2008/523 IPsec session failover 6398024 IPsec should support session failover across machines 6545486 PF_KEY needs to set an SA's sequence number --- usr/src/cmd/cmd-inet/usr.sbin/ipsecutils/ikeadm.c | 44 +- .../cmd/cmd-inet/usr.sbin/ipsecutils/ipseckey.c | 106 +++- usr/src/lib/libipsecutil/common/ikedoor.h | 17 +- usr/src/lib/libipsecutil/common/ipsec_util.c | 101 +++- usr/src/lib/libipsecutil/common/ipsec_util.h | 11 +- usr/src/uts/common/inet/ip/ip.c | 51 ++ usr/src/uts/common/inet/ip/ip_sadb.c | 17 +- usr/src/uts/common/inet/ip/ipdrop.c | 8 +- usr/src/uts/common/inet/ip/ipsecah.c | 51 +- usr/src/uts/common/inet/ip/ipsecesp.c | 47 +- usr/src/uts/common/inet/ip/keysock.c | 50 +- usr/src/uts/common/inet/ip/sadb.c | 562 +++++++++++++++++++-- usr/src/uts/common/inet/ipdrop.h | 6 +- usr/src/uts/common/inet/sadb.h | 51 +- usr/src/uts/common/net/pfkeyv2.h | 48 +- usr/src/uts/intel/ia32/ml/modstubs.s | 1 + usr/src/uts/intel/ip/ip.global-objs.debug64 | 4 + usr/src/uts/intel/ip/ip.global-objs.obj64 | 4 + usr/src/uts/sparc/ip/ip.global-objs.debug64 | 4 + usr/src/uts/sparc/ip/ip.global-objs.obj64 | 4 + usr/src/uts/sparc/ml/modstubs.s | 1 + 21 files changed, 1072 insertions(+), 116 deletions(-) (limited to 'usr') diff --git a/usr/src/cmd/cmd-inet/usr.sbin/ipsecutils/ikeadm.c b/usr/src/cmd/cmd-inet/usr.sbin/ipsecutils/ikeadm.c index 7fc33db683..2c42b6ca79 100644 --- a/usr/src/cmd/cmd-inet/usr.sbin/ipsecutils/ikeadm.c +++ b/usr/src/cmd/cmd-inet/usr.sbin/ipsecutils/ikeadm.c @@ -1377,6 +1377,9 @@ dhstr(int grp) static void print_hdr(char *prefix, ike_p1_hdr_t *hdrp) { + char sbuf[TBUF_SIZE]; + char tbuf[TBUF_SIZE]; + (void) printf( gettext("%s Cookies: Initiator 0x%llx Responder 0x%llx\n"), prefix, ntohll(hdrp->p1hdr_cookies.cky_i), @@ -1385,8 +1388,36 @@ print_hdr(char *prefix, ike_p1_hdr_t *hdrp) hdrp->p1hdr_isinit ? gettext("initiator") : gettext("responder")); (void) printf(gettext("%s ISAKMP version %d.%d; %s exchange\n"), prefix, hdrp->p1hdr_major, hdrp->p1hdr_minor, xchgstr(hdrp->p1hdr_xchg)); - (void) printf(gettext("%s Current state is %s"), prefix, + (void) printf(gettext("%s Current state is %s\n"), prefix, statestr(hdrp->p1hdr_state)); + if (hdrp->p1hdr_support_dpd == B_FALSE) { + return; + } + (void) printf(gettext("%s Dead Peer Detection (RFC 3706)" + " enabled"), prefix); + if (hdrp->p1hdr_dpd_state < DPD_IN_PROGRESS) { + (void) printf("\n"); + return; + } + if (strftime(tbuf, TBUF_SIZE, NULL, + localtime(&hdrp->p1hdr_dpd_time)) == 0) { + (void) strlcpy(tbuf, gettext("