diff options
author | Dan McDonald <danmcd@sun.com> | 2009-04-24 10:27:38 -0400 |
---|---|---|
committer | Dan McDonald <danmcd@sun.com> | 2009-04-24 10:27:38 -0400 |
commit | dc739cedf7e901527200983a5e928904324c74cb (patch) | |
tree | bd5c8a14b11e8433e550dc3af3dafff1745a36f5 /usr | |
parent | 47b333251f6569b2d2a85df530163c314e6eb46c (diff) | |
download | illumos-joyent-dc739cedf7e901527200983a5e928904324c74cb.tar.gz |
6824443 Make in.iked a 64-bit process when possible.
Diffstat (limited to 'usr')
-rw-r--r-- | usr/src/Targetdirs | 2 | ||||
-rw-r--r-- | usr/src/cmd/cmd-inet/usr.lib/Makefile.lib | 24 | ||||
-rw-r--r-- | usr/src/cmd/cmd-inet/usr.sbin/ipsecutils/ikeadm.c | 3 | ||||
-rw-r--r-- | usr/src/lib/libipsecutil/common/ikedoor.h | 19 | ||||
-rw-r--r-- | usr/src/pkgdefs/SUNWcsl/prototype_i386 | 1 | ||||
-rw-r--r-- | usr/src/pkgdefs/SUNWcsl/prototype_sparc | 1 | ||||
-rw-r--r-- | usr/src/pkgdefs/SUNWcsu/prototype_com | 2 | ||||
-rw-r--r-- | usr/src/pkgdefs/SUNWcsu/prototype_i386 | 4 | ||||
-rw-r--r-- | usr/src/pkgdefs/SUNWcsu/prototype_sparc | 8 | ||||
-rw-r--r-- | usr/src/pkgdefs/etc/exception_list_i386 | 3 | ||||
-rw-r--r-- | usr/src/pkgdefs/etc/exception_list_sparc | 3 |
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(<ime)) == 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 # |