summaryrefslogtreecommitdiff
path: root/usr
diff options
context:
space:
mode:
authorDan McDonald <danmcd@sun.com>2009-04-24 10:27:38 -0400
committerDan McDonald <danmcd@sun.com>2009-04-24 10:27:38 -0400
commitdc739cedf7e901527200983a5e928904324c74cb (patch)
treebd5c8a14b11e8433e550dc3af3dafff1745a36f5 /usr
parent47b333251f6569b2d2a85df530163c314e6eb46c (diff)
downloadillumos-joyent-dc739cedf7e901527200983a5e928904324c74cb.tar.gz
6824443 Make in.iked a 64-bit process when possible.
Diffstat (limited to 'usr')
-rw-r--r--usr/src/Targetdirs2
-rw-r--r--usr/src/cmd/cmd-inet/usr.lib/Makefile.lib24
-rw-r--r--usr/src/cmd/cmd-inet/usr.sbin/ipsecutils/ikeadm.c3
-rw-r--r--usr/src/lib/libipsecutil/common/ikedoor.h19
-rw-r--r--usr/src/pkgdefs/SUNWcsl/prototype_i3861
-rw-r--r--usr/src/pkgdefs/SUNWcsl/prototype_sparc1
-rw-r--r--usr/src/pkgdefs/SUNWcsu/prototype_com2
-rw-r--r--usr/src/pkgdefs/SUNWcsu/prototype_i3864
-rw-r--r--usr/src/pkgdefs/SUNWcsu/prototype_sparc8
-rw-r--r--usr/src/pkgdefs/etc/exception_list_i3863
-rw-r--r--usr/src/pkgdefs/etc/exception_list_sparc3
11 files changed, 55 insertions, 15 deletions
diff --git a/usr/src/Targetdirs b/usr/src/Targetdirs
index 2af52fc549..6677fae798 100644
--- a/usr/src/Targetdirs
+++ b/usr/src/Targetdirs
@@ -285,6 +285,7 @@ ROOT.BIN= \
/usr/lib/inet/dhcp/nsu \
/usr/lib/inet/dhcp/svc \
/usr/lib/inet/dhcp/svcadm \
+ /usr/lib/inet/$(MACH32) \
$(XROOT.BIN) \
/usr/lib/fm \
/usr/lib/gss \
@@ -375,6 +376,7 @@ ROOT.BIN64= \
/usr/lib/elfedit/$(MACH64) \
/usr/lib/fm/$(MACH64) \
/usr/lib/fp/libp/$(MACH64) \
+ /usr/lib/inet/$(MACH64) \
/usr/lib/krb5/$(MACH64) \
/usr/lib/libp/$(MACH64) \
/usr/lib/link_audit/$(MACH64) \
diff --git a/usr/src/cmd/cmd-inet/usr.lib/Makefile.lib b/usr/src/cmd/cmd-inet/usr.lib/Makefile.lib
index 1e7d9dc6de..3858bcb261 100644
--- a/usr/src/cmd/cmd-inet/usr.lib/Makefile.lib
+++ b/usr/src/cmd/cmd-inet/usr.lib/Makefile.lib
@@ -2,9 +2,8 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
@@ -19,19 +18,26 @@
#
# CDDL HEADER END
#
+
#
-#ident "%Z%%M% %I% %E% SMI"
-#
-# Copyright (c) 1996 by Sun Microsystems, Inc.
-# All rights reserved.
+# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
#
+
# cmd/cmd-inet/usr.lib/Makefile.lib
ROOTLIBINET= $(ROOTLIB)/inet
+ROOTLIBINET32= $(ROOTLIBINET)/$(MACH32)
+ROOTLIBINET64= $(ROOTLIBINET)/$(MACH64)
ROOTLIBINETPROG= $(PROG:%=$(ROOTLIBINET)/%)
+ROOTLIBINETPROG32= $(PROG:%=$(ROOTLIBINET32)/%)
+ROOTLIBINETPROG64= $(PROG:%=$(ROOTLIBINET64)/%)
$(ROOTLIBINET)/%: % $(ROOTLIBINET)
$(INS.file)
-$(ROOTLIBINET):
- $(INS.dir)
+$(ROOTLIBINET32)/%: % $(ROOTLIBINET32)
+ $(INS.file)
+
+$(ROOTLIBINET64)/%: % $(ROOTLIBINET64)
+ $(INS.file)
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 4b8abc3d1a..9329cbd4c7 100644
--- a/usr/src/cmd/cmd-inet/usr.sbin/ipsecutils/ikeadm.c
+++ b/usr/src/cmd/cmd-inet/usr.sbin/ipsecutils/ikeadm.c
@@ -1451,6 +1451,7 @@ print_hdr(char *prefix, ike_p1_hdr_t *hdrp)
{
char sbuf[TBUF_SIZE];
char tbuf[TBUF_SIZE];
+ time_t ltime = (time_t)hdrp->p1hdr_dpd_time;
(void) printf(
gettext("%s Cookies: Initiator 0x%llx Responder 0x%llx\n"),
@@ -1472,7 +1473,7 @@ print_hdr(char *prefix, ike_p1_hdr_t *hdrp)
return;
}
if (strftime(tbuf, TBUF_SIZE, NULL,
- localtime(&hdrp->p1hdr_dpd_time)) == 0) {
+ localtime(&ltime)) == 0) {
(void) strlcpy(tbuf, gettext("<time conversion failed>"),
TBUF_SIZE);
}
diff --git a/usr/src/lib/libipsecutil/common/ikedoor.h b/usr/src/lib/libipsecutil/common/ikedoor.h
index 4a79cec55f..c05b30c4e0 100644
--- a/usr/src/lib/libipsecutil/common/ikedoor.h
+++ b/usr/src/lib/libipsecutil/common/ikedoor.h
@@ -40,7 +40,17 @@ extern "C" {
* getting confused if a structure is changed and a mismatch occurs.
* This should be incremented each time a structure is changed.
*/
-#define DOORVER 2
+
+/*
+ * The IKE process may be a 64-bit process, but ikeadm or any other IKE
+ * door consumer does not have to be. We need to be strict ala. PF_KEY or
+ * any on-the-wire-protocol with respect to structure fields offsets and
+ * alignment. Please make sure all structures are the same size on both
+ * 64-bit and 32-bit execution environments (or even other ones), and that
+ * apart from trivial 4-byte enums or base headers, that all structures are
+ * multiples of 8-bytes (64-bits).
+ */
+#define DOORVER 3
#define DOORNM "/var/run/ike_door"
@@ -190,6 +200,7 @@ typedef struct {
uint32_t rule_max_certs;
uint32_t rule_ike_port;
uint32_t rule_natt_port;
+ uint32_t defaults_reserved; /* For 64-bit alignment. */
} ike_defaults_t;
/* data formatting structures for P1 SA dumps */
@@ -214,7 +225,7 @@ typedef struct {
uint32_t p1hdr_state;
boolean_t p1hdr_support_dpd;
dpd_status_t p1hdr_dpd_state;
- time_t p1hdr_dpd_time;
+ uint64_t p1hdr_dpd_time;
} ike_p1_hdr_t;
/* values for p1hdr_xchg (aligned with RFC2408, section 3.1) */
@@ -249,6 +260,7 @@ typedef struct {
uint32_t p1xf_max_secs;
uint32_t p1xf_max_kbytes;
uint32_t p1xf_max_keyuses;
+ uint32_t p1xf_reserved; /* Alignment to 64-bit. */
} ike_p1_xform_t;
/* values for p1xf_dh_group (aligned with RFC2409, Appendix A) */
@@ -424,6 +436,7 @@ typedef struct {
uint32_t cache_id;
uint32_t class;
int linkage;
+ uint32_t certcache_padding; /* For 64-bit alignment. */
char subject[DN_MAX];
char issuer[DN_MAX];
} ike_certcache_t;
@@ -544,6 +557,7 @@ typedef struct {
ike_svccmd_t cmd;
uint32_t stat_len;
uint32_t version;
+ uint32_t defreq_reserved; /* For 64-bit alignment. */
} ike_defreq_t;
/*
@@ -721,6 +735,7 @@ typedef struct {
*/
typedef struct {
ike_svccmd_t cmd;
+ uint32_t pin_reserved; /* For 64-bit alignment. */
char pkcs11_token[PKCS11_TOKSIZE];
uchar_t token_pin[MAX_PIN_LEN];
} ike_pin_t;
diff --git a/usr/src/pkgdefs/SUNWcsl/prototype_i386 b/usr/src/pkgdefs/SUNWcsl/prototype_i386
index c5de5442e2..0facb5caed 100644
--- a/usr/src/pkgdefs/SUNWcsl/prototype_i386
+++ b/usr/src/pkgdefs/SUNWcsl/prototype_i386
@@ -189,6 +189,7 @@ s none usr/lib/amd64/libgen.so.1=../../../lib/amd64/libgen.so.1
s none usr/lib/amd64/libgen.so=../../../lib/amd64/libgen.so.1
f none usr/lib/amd64/libidmap.so.1 755 root bin
s none usr/lib/amd64/libidmap.so=./libidmap.so.1
+f none usr/lib/amd64/libike.so.1 755 root bin
s none usr/lib/amd64/libinetutil.so.1=../../../lib/amd64/libinetutil.so.1
f none usr/lib/amd64/libipmi.so.1 755 root bin
s none usr/lib/amd64/libipmi.so=./libipmi.so.1
diff --git a/usr/src/pkgdefs/SUNWcsl/prototype_sparc b/usr/src/pkgdefs/SUNWcsl/prototype_sparc
index 4f3ea00813..d6ed9d6114 100644
--- a/usr/src/pkgdefs/SUNWcsl/prototype_sparc
+++ b/usr/src/pkgdefs/SUNWcsl/prototype_sparc
@@ -179,6 +179,7 @@ s none usr/lib/sparcv9/libgen.so.1=../../../lib/sparcv9/libgen.so.1
s none usr/lib/sparcv9/libgen.so=../../../lib/sparcv9/libgen.so.1
f none usr/lib/sparcv9/libidmap.so.1 755 root bin
s none usr/lib/sparcv9/libidmap.so=./libidmap.so.1
+f none usr/lib/sparcv9/libike.so.1 755 root bin
s none usr/lib/sparcv9/libinetutil.so.1=../../../lib/sparcv9/libinetutil.so.1
f none usr/lib/sparcv9/libipmi.so.1 755 root bin
s none usr/lib/sparcv9/libipmi.so=libipmi.so.1
diff --git a/usr/src/pkgdefs/SUNWcsu/prototype_com b/usr/src/pkgdefs/SUNWcsu/prototype_com
index c5309371d8..5451a120fc 100644
--- a/usr/src/pkgdefs/SUNWcsu/prototype_com
+++ b/usr/src/pkgdefs/SUNWcsu/prototype_com
@@ -650,7 +650,7 @@ f none usr/lib/inet/certrldb 555 root bin
d none usr/lib/inet/dhcp 755 root bin
d none usr/lib/inet/dhcp/nsu 755 root bin
d none usr/lib/inet/dhcp/svc 755 root bin
-f none usr/lib/inet/in.iked 555 root bin
+l none usr/lib/inet/in.iked=../../../usr/lib/isaexec
s none usr/lib/inet/in.mpathd=../../../lib/inet/in.mpathd
f none usr/lib/inet/inetd 555 root bin
f none usr/lib/intrd 555 root bin
diff --git a/usr/src/pkgdefs/SUNWcsu/prototype_i386 b/usr/src/pkgdefs/SUNWcsu/prototype_i386
index e8ea73b8ff..91c78f0905 100644
--- a/usr/src/pkgdefs/SUNWcsu/prototype_i386
+++ b/usr/src/pkgdefs/SUNWcsu/prototype_i386
@@ -89,6 +89,10 @@ f none usr/kernel/sys/sysacct 755 root sys
f none usr/lib/devfsadm/linkmod/SUNW_ieee1394_link.so 755 root sys
f none usr/lib/devfsadm/linkmod/SUNW_misc_link_i386.so 755 root sys
f none usr/lib/devfsadm/linkmod/SUNW_xen_link.so 755 root sys
+d none usr/lib/inet/amd64 755 root bin
+f none usr/lib/inet/amd64/in.iked 555 root bin
+d none usr/lib/inet/i86 755 root bin
+f none usr/lib/inet/i86/in.iked 555 root bin
s none usr/sbin/installgrub=../../sbin/installgrub
f none usr/sbin/prtdiag 2755 root sys
f none usr/sbin/rtc 555 root bin
diff --git a/usr/src/pkgdefs/SUNWcsu/prototype_sparc b/usr/src/pkgdefs/SUNWcsu/prototype_sparc
index 86133102af..2c4adaf592 100644
--- a/usr/src/pkgdefs/SUNWcsu/prototype_sparc
+++ b/usr/src/pkgdefs/SUNWcsu/prototype_sparc
@@ -19,7 +19,7 @@
# CDDL HEADER END
#
#
-# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# This required package information file contains a list of package contents.
@@ -101,9 +101,13 @@ d none usr/kernel/sys/sparcv9 755 root sys
f none usr/kernel/sys/sparcv9/acctctl 755 root sys
f none usr/kernel/sys/sparcv9/exacctsys 755 root sys
f none usr/kernel/sys/sparcv9/sysacct 755 root sys
-f none usr/lib/ld.so 755 root bin
f none usr/lib/devfsadm/linkmod/SUNW_ieee1394_link.so 755 root sys
f none usr/lib/devfsadm/linkmod/SUNW_misc_link_sparc.so 755 root sys
+d none usr/lib/inet/sparcv7 755 root bin
+f none usr/lib/inet/sparcv7/in.iked 555 root bin
+d none usr/lib/inet/sparcv9 755 root bin
+f none usr/lib/inet/sparcv9/in.iked 555 root bin
+f none usr/lib/ld.so 755 root bin
f none usr/lib/rcm/modules/SUNW_ttymux_rcm.so 555 root bin
d none usr/lib/secure/sparcv9 755 root bin
s none usr/lib/secure/64=sparcv9
diff --git a/usr/src/pkgdefs/etc/exception_list_i386 b/usr/src/pkgdefs/etc/exception_list_i386
index e5d0919bc5..241d625eec 100644
--- a/usr/src/pkgdefs/etc/exception_list_i386
+++ b/usr/src/pkgdefs/etc/exception_list_i386
@@ -363,10 +363,13 @@ usr/include/ike/sshrandom.h i386
usr/include/ike/sshhash.h i386
usr/include/ike/sshconf.h i386
usr/lib/libike.so i386
+usr/lib/llib-like i386
usr/lib/llib-like.ln i386
usr/lib/llib-lipsecutil i386
usr/lib/libipsecutil.so i386
usr/lib/llib-lipsecutil.ln i386
+usr/lib/amd64/libike.so i386
+usr/lib/amd64/llib-like.ln i386
usr/lib/amd64/libipsecutil.so i386
usr/lib/amd64/llib-lipsecutil.ln i386
#
diff --git a/usr/src/pkgdefs/etc/exception_list_sparc b/usr/src/pkgdefs/etc/exception_list_sparc
index a72fdb1cf5..ac70d0ee47 100644
--- a/usr/src/pkgdefs/etc/exception_list_sparc
+++ b/usr/src/pkgdefs/etc/exception_list_sparc
@@ -343,10 +343,13 @@ usr/include/ike/sshrandom.h sparc
usr/include/ike/sshhash.h sparc
usr/include/ike/sshconf.h sparc
usr/lib/libike.so sparc
+usr/lib/llib-like sparc
usr/lib/llib-like.ln sparc
usr/lib/llib-lipsecutil sparc
usr/lib/libipsecutil.so sparc
usr/lib/llib-lipsecutil.ln sparc
+usr/lib/sparcv9/libike.so sparc
+usr/lib/sparcv9/llib-like.ln sparc
usr/lib/sparcv9/libipsecutil.so sparc
usr/lib/sparcv9/llib-lipsecutil.ln sparc
#