diff --git a/jdk/make/com/sun/Makefile b/jdk/make/com/sun/Makefile index 33d5824773c..7c436af52d1 100644 --- a/jdk/make/com/sun/Makefile +++ b/jdk/make/com/sun/Makefile @@ -47,7 +47,6 @@ SUBDIRS_enterprise = crypto/provider jndi \ org rowset net/httpserver SUBDIRS_misc = $(SCRIPT_SUBDIR) tracing servicetag nio demo -# Omit mirror since it's built with the apt tool. SUBDIRS_tools = tools include $(BUILDDIR)/common/Subdirs.gmk diff --git a/jdk/make/com/sun/nio/sctp/Exportedfiles.gmk b/jdk/make/com/sun/nio/sctp/Exportedfiles.gmk index b56c69faff4..f2f6970a827 100644 --- a/jdk/make/com/sun/nio/sctp/Exportedfiles.gmk +++ b/jdk/make/com/sun/nio/sctp/Exportedfiles.gmk @@ -29,11 +29,11 @@ ifneq ($(PLATFORM), windows) FILES_export = \ - sun/nio/ch/SctpAssocChange.java \ - sun/nio/ch/SctpChannelImpl.java \ - sun/nio/ch/SctpNet.java \ - sun/nio/ch/SctpPeerAddrChange.java \ - sun/nio/ch/SctpResultContainer.java \ - sun/nio/ch/SctpServerChannelImpl.java \ - sun/nio/ch/SctpStdSocketOption.java + sun/nio/ch/sctp/AssociationChange.java \ + sun/nio/ch/sctp/SctpChannelImpl.java \ + sun/nio/ch/sctp/SctpNet.java \ + sun/nio/ch/sctp/PeerAddrChange.java \ + sun/nio/ch/sctp/ResultContainer.java \ + sun/nio/ch/sctp/SctpServerChannelImpl.java \ + sun/nio/ch/sctp/SctpStdSocketOption.java endif diff --git a/jdk/make/com/sun/nio/sctp/FILES_java.gmk b/jdk/make/com/sun/nio/sctp/FILES_java.gmk index 725131e7280..667af33277b 100644 --- a/jdk/make/com/sun/nio/sctp/FILES_java.gmk +++ b/jdk/make/com/sun/nio/sctp/FILES_java.gmk @@ -42,25 +42,25 @@ FILES_java = \ com/sun/nio/sctp/SendFailedNotification.java \ com/sun/nio/sctp/ShutdownNotification.java \ \ - sun/nio/ch/SctpMessageInfoImpl.java \ - sun/nio/ch/SctpStdSocketOption.java + sun/nio/ch/sctp/MessageInfoImpl.java \ + sun/nio/ch/sctp/SctpStdSocketOption.java ifneq ($(PLATFORM), windows) FILES_java += \ - sun/nio/ch/SctpAssocChange.java \ - sun/nio/ch/SctpAssociationImpl.java \ - sun/nio/ch/SctpChannelImpl.java \ - sun/nio/ch/SctpMultiChannelImpl.java \ - sun/nio/ch/SctpNet.java \ - sun/nio/ch/SctpNotification.java \ - sun/nio/ch/SctpPeerAddrChange.java \ - sun/nio/ch/SctpResultContainer.java \ - sun/nio/ch/SctpSendFailed.java \ - sun/nio/ch/SctpServerChannelImpl.java \ - sun/nio/ch/SctpShutdown.java + sun/nio/ch/sctp/AssociationChange.java \ + sun/nio/ch/sctp/AssociationImpl.java \ + sun/nio/ch/sctp/PeerAddrChange.java \ + sun/nio/ch/sctp/ResultContainer.java \ + sun/nio/ch/sctp/SctpChannelImpl.java \ + sun/nio/ch/sctp/SctpMultiChannelImpl.java \ + sun/nio/ch/sctp/SctpNet.java \ + sun/nio/ch/sctp/SctpNotification.java \ + sun/nio/ch/sctp/SctpServerChannelImpl.java \ + sun/nio/ch/sctp/SendFailed.java \ + sun/nio/ch/sctp/Shutdown.java else FILES_java += \ - sun/nio/ch/SctpChannelImpl.java \ - sun/nio/ch/SctpMultiChannelImpl.java \ - sun/nio/ch/SctpServerChannelImpl.java + sun/nio/ch/sctp/SctpChannelImpl.java \ + sun/nio/ch/sctp/SctpMultiChannelImpl.java \ + sun/nio/ch/sctp/SctpServerChannelImpl.java endif diff --git a/jdk/make/com/sun/nio/sctp/Makefile b/jdk/make/com/sun/nio/sctp/Makefile index 4a9a5c36ff1..158077b78d1 100644 --- a/jdk/make/com/sun/nio/sctp/Makefile +++ b/jdk/make/com/sun/nio/sctp/Makefile @@ -47,14 +47,16 @@ include $(BUILDDIR)/common/Library.gmk # # Find platform-specific C source files # -vpath %.c $(PLATFORM_SRC)/native/sun/nio/ch +vpath %.c $(PLATFORM_SRC)/native/sun/nio/ch/sctp # # Include nio.h, net_util.h, sun_nio_ch_IOStatus.h, etc # OTHER_INCLUDES += \ -I$(SHARE_SRC)/native/sun/nio/ch \ + -I$(SHARE_SRC)/native/sun/nio/ch/sctp \ -I$(SHARE_SRC)/native/java/net \ + -I$(PLATFORM_SRC)/native/sun/nio/ch \ -I$(PLATFORM_SRC)/native/java/net \ -I$(CLASSHDRDIR)/../../../../java/java.nio/nio/CClassHeaders @@ -75,5 +77,5 @@ endif # ifneq windows clean clobber:: $(RM) -r $(CLASSDESTDIR)/com/sun/nio/sctp - $(RM) -r $(CLASSDESTDIR)/sun/nio/ch + $(RM) -r $(CLASSDESTDIR)/sun/nio/ch/sctp diff --git a/jdk/make/com/sun/nio/sctp/mapfile-vers b/jdk/make/com/sun/nio/sctp/mapfile-vers index 058995ecaa8..ceb27dab972 100644 --- a/jdk/make/com/sun/nio/sctp/mapfile-vers +++ b/jdk/make/com/sun/nio/sctp/mapfile-vers @@ -25,30 +25,30 @@ SUNWprivate_1.1 { global: - Java_sun_nio_ch_SctpNet_init; - Java_sun_nio_ch_SctpNet_socket0; - Java_sun_nio_ch_SctpNet_bindx; - Java_sun_nio_ch_SctpNet_branch0; - Java_sun_nio_ch_SctpNet_listen0; - Java_sun_nio_ch_SctpNet_connect0; - Java_sun_nio_ch_SctpNet_close0; - Java_sun_nio_ch_SctpNet_preClose0; - Java_sun_nio_ch_SctpNet_getLocalAddresses0; - Java_sun_nio_ch_SctpNet_getRemoteAddresses0; - Java_sun_nio_ch_SctpNet_getPrimAddrOption0; - Java_sun_nio_ch_SctpNet_setPrimAddrOption0; - Java_sun_nio_ch_SctpNet_setPeerPrimAddrOption0; - Java_sun_nio_ch_SctpNet_getInitMsgOption0; - Java_sun_nio_ch_SctpNet_setInitMsgOption0; - Java_sun_nio_ch_SctpNet_getIntOption0; - Java_sun_nio_ch_SctpNet_setIntOption0; - Java_sun_nio_ch_SctpNet_shutdown0; - Java_sun_nio_ch_SctpChannelImpl_initIDs; - Java_sun_nio_ch_SctpChannelImpl_checkConnect; - Java_sun_nio_ch_SctpChannelImpl_receive0; - Java_sun_nio_ch_SctpChannelImpl_send0; - Java_sun_nio_ch_SctpServerChannelImpl_initIDs; - Java_sun_nio_ch_SctpServerChannelImpl_accept0; + Java_sun_nio_ch_sctp_SctpNet_init; + Java_sun_nio_ch_sctp_SctpNet_socket0; + Java_sun_nio_ch_sctp_SctpNet_bindx; + Java_sun_nio_ch_sctp_SctpNet_branch0; + Java_sun_nio_ch_sctp_SctpNet_listen0; + Java_sun_nio_ch_sctp_SctpNet_connect0; + Java_sun_nio_ch_sctp_SctpNet_close0; + Java_sun_nio_ch_sctp_SctpNet_preClose0; + Java_sun_nio_ch_sctp_SctpNet_getLocalAddresses0; + Java_sun_nio_ch_sctp_SctpNet_getRemoteAddresses0; + Java_sun_nio_ch_sctp_SctpNet_getPrimAddrOption0; + Java_sun_nio_ch_sctp_SctpNet_setPrimAddrOption0; + Java_sun_nio_ch_sctp_SctpNet_setPeerPrimAddrOption0; + Java_sun_nio_ch_sctp_SctpNet_getInitMsgOption0; + Java_sun_nio_ch_sctp_SctpNet_setInitMsgOption0; + Java_sun_nio_ch_sctp_SctpNet_getIntOption0; + Java_sun_nio_ch_sctp_SctpNet_setIntOption0; + Java_sun_nio_ch_sctp_SctpNet_shutdown0; + Java_sun_nio_ch_sctp_SctpChannelImpl_initIDs; + Java_sun_nio_ch_sctp_SctpChannelImpl_checkConnect; + Java_sun_nio_ch_sctp_SctpChannelImpl_receive0; + Java_sun_nio_ch_sctp_SctpChannelImpl_send0; + Java_sun_nio_ch_sctp_SctpServerChannelImpl_initIDs; + Java_sun_nio_ch_sctp_SctpServerChannelImpl_accept0; JNI_OnLoad; local: *; diff --git a/jdk/make/common/Release.gmk b/jdk/make/common/Release.gmk index 5e3b0330110..cd042ff0191 100644 --- a/jdk/make/common/Release.gmk +++ b/jdk/make/common/Release.gmk @@ -132,7 +132,6 @@ endif JDK_MAN_PAGES = \ $(JRE_MAN_PAGES) \ appletviewer.1 \ - apt.1 \ extcheck.1 \ idlj.1 \ jar.1 \ @@ -264,7 +263,6 @@ SOURCES = \ com/sun/java/swing \ com/sun/javadoc \ com/sun/jmx \ - com/sun/mirror \ com/sun/source \ com/sun/naming \ com/sun/security/auth \ @@ -346,7 +344,6 @@ TOOLS = \ com/sun/javadoc \ com/sun/jdi \ com/sun/jarsigner \ - com/sun/mirror \ com/sun/source \ com/sun/tools/classfile \ com/sun/tools/doclets \ @@ -356,16 +353,16 @@ TOOLS = \ com/sun/tools/hat \ com/sun/tools/javac \ com/sun/tools/javadoc \ - com/sun/tools/apt \ com/sun/tools/javah \ com/sun/tools/javap \ com/sun/tools/corba \ com/sun/tools/internal/xjc \ com/sun/tools/internal/ws \ - META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory \ - META-INF/services/com.sun.tools.xjc.Plugin \ + META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \ + META-INF/services/com.sun.tools.internal.xjc.Plugin \ com/sun/istack/internal/tools \ - com/sun/istack/internal/ws \ + com/sun/tools/internal/jxc/ap \ + com/sun/tools/internal/ws/wscompile/plugin/at_generated \ com/sun/codemodel \ com/sun/tools/internal/jxc \ com/sun/xml/internal/rngom \ @@ -438,7 +435,6 @@ NOTJRETOOLS = \ java-rmi.cgi \ javac$(EXE_SUFFIX) \ javadoc$(EXE_SUFFIX) \ - apt$(EXE_SUFFIX) \ javah$(EXE_SUFFIX) \ javap$(EXE_SUFFIX) \ jcmd$(EXE_SUFFIX) \ @@ -525,13 +521,10 @@ $(NOT_RT_JAR_LIST): FRC $(ECHO) "com/sun/javadoc/" >> $@ $(ECHO) "com/sun/jdi/" >> $@ $(ECHO) "com/sun/jarsigner/" >> $@ - $(ECHO) "com/sun/mirror/" >> $@ $(ECHO) "com/sun/source/" >> $@ $(ECHO) "com/sun/istack/internal/tools/" >> $@ - $(ECHO) "com/sun/istack/internal/ws/" >> $@ $(ECHO) "META-INF/services/com.sun.jdi.connect.Connector" >> $@ $(ECHO) "META-INF/services/com.sun.jdi.connect.spi.TransportService" >> $@ - $(ECHO) "META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory" >> $@ $(ECHO) "META-INF/services/com.sun.tools.xjc.Plugin" >> $@ $(ECHO) "com/sun/tools/" >> $@ $(ECHO) "sun/jvmstat/" >> $@ @@ -1000,7 +993,7 @@ initial-image-jdk:: initial-image-jdk-setup \ @# @# files that might not exist need to be touched. @# - $(TOUCH) $(CLASSBINDIR)/META-INF/services/com.sun.tools.xjc.Plugin + $(TOUCH) $(CLASSBINDIR)/META-INF/services/com.sun.tools.internal.xjc.Plugin @# @# lib/tools.jar @# diff --git a/jdk/make/common/internal/Defs-jaxws.gmk b/jdk/make/common/internal/Defs-jaxws.gmk index 105651c79fc..f0ba12b292a 100644 --- a/jdk/make/common/internal/Defs-jaxws.gmk +++ b/jdk/make/common/internal/Defs-jaxws.gmk @@ -34,7 +34,6 @@ IMPORT_RT_PACKAGES += \ javax/xml/ws \ javax/jws \ javax/annotation \ - com/sun/istack/internal \ com/sun/xml/internal/bind \ com/sun/xml/internal/fastinfoset \ com/sun/xml/internal/messaging \ @@ -42,13 +41,13 @@ IMPORT_RT_PACKAGES += \ com/sun/xml/internal/txw2 \ com/sun/xml/internal/ws \ com/sun/xml/internal/stream/buffer + NOT_USED_PACKAGES += \ com/sun/tools/internal/txw2 IMPORT_TOOLS_PACKAGES += \ com/sun/codemodel \ com/sun/istack/internal/tools \ - com/sun/istack/internal/ws \ com/sun/xml/internal/rngom \ com/sun/xml/internal/xsom \ com/sun/xml/internal/dtdparser \ @@ -56,6 +55,9 @@ IMPORT_TOOLS_PACKAGES += \ com/sun/tools/internal/ws \ com/sun/tools/internal/jxc \ org/relaxng \ - META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory \ - META-INF/services/com.sun.tools.internal.xjc.Plugin + META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \ + META-INF/services/com.sun.tools.internal.xjc.Plugin \ + com/sun/tools/internal/jxc/ap \ + com/sun/tools/internal/ws/wscompile/plugin/at_generated + diff --git a/jdk/make/common/internal/Defs-langtools.gmk b/jdk/make/common/internal/Defs-langtools.gmk index d20180b1265..e5649583fa5 100644 --- a/jdk/make/common/internal/Defs-langtools.gmk +++ b/jdk/make/common/internal/Defs-langtools.gmk @@ -1,5 +1,5 @@ # -# Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -32,9 +32,7 @@ IMPORT_RT_PACKAGES += \ IMPORT_TOOLS_PACKAGES += \ com/sun/javadoc \ - com/sun/mirror \ com/sun/source \ - com/sun/tools/apt \ com/sun/tools/classfile \ com/sun/tools/doclets \ com/sun/tools/javac \ diff --git a/jdk/make/docs/Makefile b/jdk/make/docs/Makefile index 61756eab7e9..a4247e5bf72 100644 --- a/jdk/make/docs/Makefile +++ b/jdk/make/docs/Makefile @@ -1,4 +1,4 @@ -# Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -356,64 +356,6 @@ $(COREAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(CORE_P $(prep-target) $(call PackageFilter,$(CORE_PKGS)) -############################################################# -# -# mirrordocs -# - -# Part of langtools -ifdef LANGTOOLS_DIST - ALL_OTHER_TARGETS += mirrordocs -endif - -MIRROR_DOCDIR := $(JDK_API_DOCSDIR)/apt/mirror -MIRROR2COREAPI := ../../$(JDKJRE2COREAPI) -MIRROR_DOCTITLE := Mirror API -MIRROR_WINDOWTITLE := Mirror API -MIRROR_HEADER := Mirror API -MIRROR_BOTTOM := $(call CommonBottom,$(MIRROR_FIRST_COPYRIGHT_YEAR)) -MIRROR_GROUPNAME := Packages -MIRROR_OVERVIEW := $(IMPORTSRCDIR)/com/sun/mirror/overview.html -MIRROR_REGEXP := com.sun.mirror.* -# MIRROR_PKGS is located in NON_CORE_PKGS.gmk - -# The index.html, options, and packages files -MIRROR_INDEX_FILE = $(MIRROR_DOCDIR)/index.html -MIRROR_OPTIONS_FILE = $(DOCSTMPDIR)/mirror.options -MIRROR_PACKAGES_FILE = $(DOCSTMPDIR)/mirror.packages - -mirrordocs: $(MIRROR_INDEX_FILE) - -# Set relative location to core api document root -$(MIRROR_INDEX_FILE): GET2DOCSDIR=$(MIRROR2COREAPI)/.. - -# Run javadoc if the index file is out of date or missing -$(MIRROR_INDEX_FILE): $(MIRROR_OPTIONS_FILE) $(MIRROR_PACKAGES_FILE) - $(prep-javadoc) - $(call JavadocSummary,$(MIRROR_OPTIONS_FILE),$(MIRROR_PACKAGES_FILE)) - $(JAVADOC_CMD) $(JAVADOC_VM_MEMORY_FLAGS) -d $(@D) \ - @$(MIRROR_OPTIONS_FILE) @$(MIRROR_PACKAGES_FILE) - -# Create file with javadoc options in it -$(MIRROR_OPTIONS_FILE): $(MIRROR_OVERVIEW) - $(prep-target) - @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ - $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ - $(call OptionPair,-encoding,ascii) ; \ - $(call OptionPair,-overview,$(MIRROR_OVERVIEW)) ; \ - $(call OptionPair,-doctitle,$(MIRROR_DOCTITLE)) ; \ - $(call OptionPair,-windowtitle,$(MIRROR_WINDOWTITLE) $(DRAFT_WINTITLE));\ - $(call OptionPair,-header,$(MIRROR_HEADER)$(DRAFT_HEADER)) ; \ - $(call OptionPair,-bottom,$(MIRROR_BOTTOM)$(DRAFT_BOTTOM)) ; \ - $(call OptionTrip,-group,$(MIRROR_GROUPNAME),$(MIRROR_REGEXP)); \ - $(call OptionTrip,-linkoffline,$(MIRROR2COREAPI),$(COREAPI_DOCSDIR)); \ - ) >> $@ - -# Create a file with the package names in it -$(MIRROR_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(MIRROR_PKGS)) - $(prep-target) - $(call PackageFilter,$(MIRROR_PKGS)) - ############################################################# # # docletapidocs diff --git a/jdk/make/docs/NON_CORE_PKGS.gmk b/jdk/make/docs/NON_CORE_PKGS.gmk index e8eda9dfd92..8f4e36dcbdb 100644 --- a/jdk/make/docs/NON_CORE_PKGS.gmk +++ b/jdk/make/docs/NON_CORE_PKGS.gmk @@ -1,5 +1,5 @@ # -# Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -71,11 +71,6 @@ DOCLETAPI_PKGS = com.sun.javadoc TAGLETAPI_FILE = com/sun/tools/doclets/Taglet.java -MIRROR_PKGS = com.sun.mirror.apt \ - com.sun.mirror.declaration \ - com.sun.mirror.type \ - com.sun.mirror.util - ATTACH_PKGS = com.sun.tools.attach \ com.sun.tools.attach.spi diff --git a/jdk/make/java/management/mapfile-vers b/jdk/make/java/management/mapfile-vers index ccb6513a89a..21b92d45f9e 100644 --- a/jdk/make/java/management/mapfile-vers +++ b/jdk/make/java/management/mapfile-vers @@ -54,9 +54,6 @@ SUNWprivate_1.1 { Java_sun_management_GcInfoBuilder_getLastGcInfo0; Java_sun_management_GcInfoBuilder_getNumGcExtAttributes; Java_sun_management_HotSpotDiagnostic_dumpHeap; - Java_sun_management_HotSpotDiagnostic_executeDiagnosticCommand0; - Java_sun_management_HotSpotDiagnostic_getDiagnosticCommandInfo0; - Java_sun_management_HotSpotDiagnostic_getDiagnosticCommands0; Java_sun_management_HotspotThread_getInternalThreadCount; Java_sun_management_HotspotThread_getInternalThreadTimes0; Java_sun_management_MemoryImpl_getMemoryManagers0; diff --git a/jdk/make/launchers/Makefile b/jdk/make/launchers/Makefile index 5fe13cdf13e..9979d973b39 100644 --- a/jdk/make/launchers/Makefile +++ b/jdk/make/launchers/Makefile @@ -1,5 +1,5 @@ # -# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -55,7 +55,6 @@ endif define make-all-launchers $(make-appletviewer) -$(call make-launcher, apt, com.sun.tools.apt.Main, , ) $(call make-launcher, extcheck, com.sun.tools.extcheck.Main, , ) $(call make-launcher, idlj, com.sun.tools.corba.se.idl.toJavaPortable.Compile, , ) $(call make-launcher, jar, sun.tools.jar.Main, , ) diff --git a/jdk/make/launchers/Makefile.launcher b/jdk/make/launchers/Makefile.launcher index 0908d613b82..6d98efc4994 100644 --- a/jdk/make/launchers/Makefile.launcher +++ b/jdk/make/launchers/Makefile.launcher @@ -1,5 +1,5 @@ # -# Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -47,10 +47,6 @@ ifndef MAIN_CLASS endif # Some tools need the wildcard expansion option -ifeq ($(PROGRAM),apt) - WILDCARDS=true - NEVER_ACT_AS_SERVER_CLASS_MACHINE=true -endif ifeq ($(PROGRAM),javac) WILDCARDS=true MAIN_JAVA_ARGS += -J-Xss4m -J-ea:com.sun.tools... diff --git a/jdk/src/linux/doc/man/apt.1 b/jdk/src/linux/doc/man/apt.1 deleted file mode 100644 index 2d77108a5d4..00000000000 --- a/jdk/src/linux/doc/man/apt.1 +++ /dev/null @@ -1,153 +0,0 @@ -." Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. -." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -." -." This code is free software; you can redistribute it and/or modify it -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." This code is distributed in the hope that it will be useful, but WITHOUT -." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH apt 1 "10 May 2011" - -.LP -.SH "NAME" -.LP -.LP -\f2apt\fP \- annotation processing tool -.LP -.SH "SYNOPSIS" -.LP -.LP -\f2apt [\-classpath \fP\f2classpath\fP] [\-sourcepath \f2sourcepath\fP] [\-d \f2directory\fP] [\-s \f2directory\fP] [\-factorypath \f2path\fP] [\-factory \f2class\fP] [\-print] [\-nocompile] [\-A\f2key\fP[\f2=val\fP] ...] [\f2javac option\fP] sourcefiles [@files] -.LP -.SH "PARAMETERS" -.LP -.LP -Options may be in any order. For a discussion of parameters which apply to a specific option, see OPTIONS below. -.LP -.RS 3 -.TP 3 -sourcefiles -Zero or more source files to be processed. -.TP 3 -@files -One or more files that list source files or other options -.RE - -.LP -.SH "DESCRIPTION" -.LP -.LP -\f3Note\fP: The \f2apt\fP tool and its associated API contained in the package \f2com.sun.mirror\fP have been deprecated since JDK 7 and are planned to be removed in the next major JDK release. Use the options available in the \f2javac(1)\fP tool and the APIs contained in the packages \f2javax.annotation.processing\fP and \f2javax.lang.model\fP to process annotations. -.LP -.LP -The tool \f2apt\fP, annotation processing tool, includes reflective APIs and supporting infrastructure to process program annotations. The \f2apt\fP reflective APIs provide a build\-time, source\-based, read\-only view of program structure. These reflective APIs are designed to cleanly model the Java(TM) programming language's type system after the addition of generics. First, \f2apt\fP runs annotation processors that can produce new source code and other files. Next, \f2apt\fP can cause compilation of both original and generated source files, easing development. The reflective APIs and other APIs used to interact with the tool are subpackages of \f2com.sun.mirror\fP. -.LP -.LP -A fuller discussion of how the tool operates as well as instructions for developing with \f2apt\fP are in -.na -\f4Getting Started with \fP\f4apt\fP. @ -.fi -http://download.oracle.com/javase/7/docs/technotes/guides/apt/GettingStarted.html -.LP -.SH "OPTIONS" -.LP -.SS -apt specific options -.LP -.RS 3 -.TP 3 -\-s dir -Specify the directory root under which processor\-generated source files will be placed; files are placed in subdirectories based on package namespace. -.TP 3 -\-nocompile -Do not compile source files to class files. -.TP 3 -\-print -Print out textual representation of specified types; perform no annotation processing or compilation. -.TP 3 -\-A[key[=val]] -Options to pass to annotation processors \-\- these are not interpreted by \f2apt\fP directly, but are made available for use by individual processors -.TP 3 -\-factorypath path -Specify where to find annotation processor factories; if this option is used, the classpath is \f2not\fP searched for factories. -.TP 3 -\-factory classname -Name of annotation processor factory to use; bypasses default discovery process -.TP 3 -\-version -Print version information. -.TP 3 -\-X -Display information about non\-standard options. -.RE - -.LP -.SS -Options shared with javac -.LP -.RS 3 -.TP 3 -\-d dir -Specify where to place processor and javac generated class files -.TP 3 -\-cp path or \-classpath path -Specify where to find user class files and annotation processor factories. If \f2\-factorypath\fP is given, the classpath is not searched for factories. -.RE - -.LP -.LP -Consult the javac(1) man page for information on \f2javac\fP options. -.LP -.SS -Non\-Standard Options -.LP -.RS 3 -.TP 3 -\-XListAnnotationTypes -List found annotation types. -.TP 3 -\-XListDeclarations -List specified and included declarations. -.TP 3 -\-XPrintAptRounds -Print information about initial and recursive \f2apt\fP rounds. -.TP 3 -\-XPrintFactoryInfo -Print information about which annotations a factory is asked to process. -.TP 3 -\-XclassesAsDecls -Treat both class and source files as declarations to process. -.RE - -.LP -.LP -\f3Note\fP: Because these options are non\-standard, they are subject to change without notice. -.LP -.SH "NOTES" -.LP -.LP -The \f2apt\fP tool and its associated API contained in the package \f2com.sun.mirror\fP have been deprecated since JDK 7 and are planned to be removed in the next major JDK release. Use the options available in the \f2javac(1)\fP tool and the APIs contained in the packages \f2javax.annotation.processing\fP and \f2javax.lang.model\fP to process annotations. -.LP -.SH "SEE ALSO" -.LP -.RS 3 -.TP 2 -o -javac(1), java(1) -.RE - -.LP - diff --git a/jdk/src/linux/doc/man/ja/apt.1 b/jdk/src/linux/doc/man/ja/apt.1 deleted file mode 100644 index bd788983f81..00000000000 --- a/jdk/src/linux/doc/man/ja/apt.1 +++ /dev/null @@ -1,153 +0,0 @@ -." Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. -." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -." -." This code is free software; you can redistribute it and/or modify it -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." This code is distributed in the hope that it will be useful, but WITHOUT -." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH apt 1 "07 May 2011" - -.LP -.SH "NAME" -.LP -.LP -\f2apt\fP \- 注釈処理ツール -.LP -.SH "形式" -.LP -.LP -\f2apt [\-classpath \fP\f2classpath\fP] [\-sourcepath \f2sourcepath\fP] [\-d \f2directory\fP] [\-s \f2directory\fP] [\-factorypath \f2path\fP] [\-factory \f2class\fP] [\-print] [\-nocompile] [\-A\f2key\fP[\f2=val\fP] ...] [\f2javac option\fP] sourcefiles [@files] -.LP -.SH "パラメータ" -.LP -.LP -オプションの指定順序に決まりはありません。特定のオプションに適用されるパラメータについては、下記の「オプション」を参照してください。 -.LP -.RS 3 -.TP 3 -sourcefiles -ゼロ、1 つ、または複数の処理対象のソースファイル -.TP 3 -@files -ソースファイルまたは他のオプションを一覧表示する 1 つまたは複数のファイル -.RE - -.LP -.SH "説明" -.LP -.LP -\f3注\fP: \f2apt\fP ツールと、パッケージ \f2com.sun.mirror\fP に含まれているそれに関連した API は、JDK 7 以降非推奨になっており、JDK の次のメジャーリリースで削除される予定です。\f2javac(1)\fP ツールで利用可能なオプションと、パッケージ \f2javax.annotation.processing\fP および \f2javax.lang.model\fP に含まれている API を使用して、注釈を処理してください。 -.LP -.LP -注釈処理ツール \f2apt\fP は、リフレクト API とサポートインフラストラクチャーから構成され、プログラム注釈を処理します。\f2apt\fP リフレクト API は、 構築時のソースベースで、プログラム構造に関する読み取り専用ビューを提供します。これらのリフレクト API は、総称を追加した後に、Java(TM) プログラミング言語の型システムを正しくモデル化するように設計されています。最初に、\f2apt\fP は、新しいソースコードと他のファイルを作成する注釈プロセッサを実行します。次に、\f2apt\fP は、元のソースファイルと生成したソースファイルの両方をコンパイルするため、開発が楽になります。ツールとのインタフェースに使用されるリフレクト API などの API は、\f2com.sun.mirror\fP のサブパッケージです。 -.LP -.LP -ツールの機能に関する詳細と、\f2apt\fP を使用した開発方法については、 -.na -\f4「apt 入門」\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.htmlを参照してください。 -.LP -.SH "オプション" -.LP -.SS -apt 固有のオプション -.LP -.RS 3 -.TP 3 -\-s dir -プロセッサの生成するソースファイルを置くディレクトリルートを指定します。 ファイルは、パッケージの名前空間に基づいてサブディレクトリに置かれます。 -.TP 3 -\-nocompile -ソースファイルをクラスファイルにコンパイルしません。 -.TP 3 -\-print -指定したタイプのテキスト表現を出力します。 注釈処理またはコンパイルは行いません。 -.TP 3 -\-A[key[=val]] -注釈プロセッサへ渡すオプションです。 このオプションは、\f2apt\fP が直接解釈するのではなく、それぞれのプロセッサによって使用できるように変えられます。 -.TP 3 -\-factorypath path -注釈プロセッサファクトリを検索する場所を指定します。 このオプションを使用する場合、クラスパスのファクトリは検索されません。 -.TP 3 -\-factory classname -使用する注釈プロセッサファクトリの名前です。 デフォルトの検出プロセスを省略します。 -.TP 3 -\-version -バージョン情報を出力します。 -.TP 3 -\-X -非標準オプションに関する情報を表示します。 -.RE - -.LP -.SS -javac と共用するオプション -.LP -.RS 3 -.TP 3 -\-d dir -プロセッサと javac 生成のクラスファイルを置く場所を指定します。 -.TP 3 -\-cp path または \-classpath path -ユーザークラスファイルと注釈プロセッサファクトリを検索する場所を指定します。\f2\-factorypath\fP が指定されている場合、クラスパスのファクトリは検索されません。 -.RE - -.LP -.LP -\f2javac\fP オプションの詳細については、javac(1) のマニュアルページを参照してください。 -.LP -.SS -非標準オプション -.LP -.RS 3 -.TP 3 -\-XListAnnotationTypes -注釈の型に検出されるリスト. -.TP 3 -\-XListDeclarations -指定および宣言がインクルードされるリスト. -.TP 3 -\-XPrintAptRounds -初期および再帰的な \f2apt\fP ラウンドに関する情報を出力する. -.TP 3 -\-XPrintFactoryInfo -処理を要求するファクトリの注釈に関する情報を出力する. -.TP 3 -\-XclassesAsDecls -クラスファイルとソースファイルの両方を、処理対象の宣言として処理します。 -.RE - -.LP -.LP -\f3注\fP: これらは非標準オプションなので、予告なく変更される可能性があります。 -.LP -.SH "注" -.LP -.LP -\f2apt\fP ツールと、パッケージ \f2com.sun.mirror\fP に含まれているそれに関連した API は、JDK 7 以降非推奨になっており、JDK の次のメジャーリリースで削除される予定です。\f2javac(1)\fP ツールで利用可能なオプションと、パッケージ \f2javax.annotation.processing\fP および \f2javax.lang.model\fP に含まれている API を使用して、注釈を処理してください。 -.LP -.SH "関連項目" -.LP -.RS 3 -.TP 2 -o -javac(1), java(1) -.RE - -.LP - diff --git a/jdk/src/share/classes/com/sun/crypto/provider/PBEKey.java b/jdk/src/share/classes/com/sun/crypto/provider/PBEKey.java index a650133fe4a..22a315e8378 100644 --- a/jdk/src/share/classes/com/sun/crypto/provider/PBEKey.java +++ b/jdk/src/share/classes/com/sun/crypto/provider/PBEKey.java @@ -55,9 +55,12 @@ final class PBEKey implements SecretKey { // Should allow an empty password. passwd = new char[0]; } - for (int i=0; i '\u007E')) { - throw new InvalidKeySpecException("Password is not ASCII"); + // Accept "\0" to signify "zero-length password with no terminator". + if (!(passwd.length == 1 && passwd[0] == 0)) { + for (int i=0; i '\u007E')) { + throw new InvalidKeySpecException("Password is not ASCII"); + } } } this.key = new byte[passwd.length]; diff --git a/jdk/src/share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java b/jdk/src/share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java index e091e90e2c1..7c15de2c954 100644 --- a/jdk/src/share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java +++ b/jdk/src/share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java @@ -60,11 +60,16 @@ final class PKCS12PBECipherCore { static byte[] derive(char[] chars, byte[] salt, int ic, int n, int type) { - // Add in trailing NULL terminator. + // Add in trailing NULL terminator. Special case: + // no terminator if password is "\0". int length = chars.length*2; - if (length != 0) { + if (length == 2 && chars[0] == 0) { + chars = new char[0]; + length = 0; + } else { length += 2; } + byte[] passwd = new byte[length]; for (int i = 0, j = 0; i < chars.length; i++, j+=2) { passwd[j] = (byte) ((chars[i] >>> 8) & 0xFF); @@ -133,6 +138,9 @@ final class PKCS12PBECipherCore { } private static void concat(byte[] src, byte[] dst, int start, int len) { + if (src.length == 0) { + return; + } int loop = len / src.length; int off, i; for (i = 0, off = 0; i < loop; i++, off += src.length) diff --git a/jdk/src/share/classes/com/sun/management/DiagnosticCommandArgumentInfo.java b/jdk/src/share/classes/com/sun/management/DiagnosticCommandArgumentInfo.java deleted file mode 100644 index e42bff678b4..00000000000 --- a/jdk/src/share/classes/com/sun/management/DiagnosticCommandArgumentInfo.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package com.sun.management; - -import java.beans.ConstructorProperties; - -/** - * Diagnostic Command Argument information. It contains the description - * of one parameter of the diagnostic command. A parameter can either be an - * option or an argument. Options are identified by the option name while - * arguments are identified by their position in the command line. The generic - * syntax of a diagnostic command is: - *
- * <command name> [<option>=<value>] [<argument_value>] - *
- * Example: - *
- * command_name option1=value1 option2=value argumentA argumentB argumentC - *
- * In this command line, the diagnostic command receives five parameters, two - * options named {@code option1} and {@code option2}, and three arguments. - * argumentA's position is 0, argumentB's position is 1 and argumentC's - * position is 2. - * - * @author Frederic Parain - * @since 7u4 - */ - -public class DiagnosticCommandArgumentInfo { - private final String name; - private final String description; - private final String type; - private final String defaultValue; - private final boolean mandatory; - private final boolean option; - private final int position; - - /** - * Returns the argument name - * - * @return the argument name - */ - public String getName() { - return name; - } - - /** - * Returns the argument description - * - * @return the argument description - */ - public String getDescription() { - return description; - } - - /** - * Returns the argument type - * - * @return the argument type - */ - public String getType() { - return type; - } - - /** - * Returns the default value as a String if a default value - * is defined, null otherwise. - * - * @return the default value as a String if a default value - * is defined, null otherwise. - */ - public String getDefault() { - return defaultValue; - } - - /** - * Returns {@code true} if the argument is mandatory, - * {@code false} otherwise - * - * @return {@code true} if the argument is mandatory, - * {@code false} otherwise - */ - public boolean isMandatory() { - return mandatory; - } - - /** - * Returns {@code true} if the argument is an option, - * {@code false} otherwise. Options have to be specified using the - * <key>=<value> syntax on the command line, while other - * arguments are specified with a single <value> field and are - * identified by their position on command line. - * - * @return {@code true} if the argument is an option, - * {@code false} otherwise - */ - public boolean isOption() { - return option; - } - - /** - * Returns the expected position of this argument if it is not an option, - * -1 otherwise. Argument position if defined from left to right, - * starting at zero and ignoring the diagnostic command name and - * options. - * - * @return the expected position of this argument if it is not an option, - * -1 otherwise. - */ - public int getPosition() { - return position; - } - - @ConstructorProperties({"name","description","type","default", - "mandatory","option","position"}) - public DiagnosticCommandArgumentInfo(String name, String description, - String type, String defaultValue, - boolean mandatory, boolean option, - int position) { - this.name = name; - this.description = description; - this.type = type; - this.defaultValue = defaultValue; - this.mandatory = mandatory; - this.option = option; - this.position = position; - } -} diff --git a/jdk/src/share/classes/com/sun/management/DiagnosticCommandInfo.java b/jdk/src/share/classes/com/sun/management/DiagnosticCommandInfo.java deleted file mode 100644 index 4ce56c1b311..00000000000 --- a/jdk/src/share/classes/com/sun/management/DiagnosticCommandInfo.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package com.sun.management; - -import java.beans.ConstructorProperties; -import java.util.List; - -/** - * Diagnostic command information. It contains the description of a - * diagnostic command. - * - * @author Frederic Parain - * @since 7u4 - */ - -public class DiagnosticCommandInfo { - private final String name; - private final String description; - private final String impact; - private final boolean enabled; - private final List arguments; - - /** - * Returns the diagnostic command name - * - * @return the diagnostic command name - */ - public String getName() { - return name; - } - - /** - * Returns the diagnostic command description - * - * @return the diagnostic command description - */ - public String getDescription() { - return description; - } - - /** - * Returns the potential impact of the diagnostic command execution - * on the Java virtual machine behavior - * - * @return the potential impact of the diagnostic command execution - * on the Java virtual machine behavior - */ - public String getImpact() { - return impact; - } - - /** - * Returns {@code true} if the diagnostic command is enabled, - * {@code false} otherwise. The enabled/disabled - * status of a diagnostic command can evolve during - * the lifetime of the Java virtual machine. - * - * @return {@code true} if the diagnostic command is enabled, - * {@code false} otherwise - */ - public boolean isEnabled() { - return enabled; - } - - /** - * Returns the list of the diagnostic command arguments description. - * If the diagnostic command has no arguments, it returns an empty list. - * - * @return a list of the diagnostic command arguments description - */ - public List getArgumentsInfo() { - return arguments; - } - - @ConstructorProperties({"name", "description","impact","enabled", - "argumentsInfo"}) - public DiagnosticCommandInfo(String name, String description, - String impact, boolean enabled, - List arguments) - { - this.name = name; - this.description = description; - this.impact = impact; - this.enabled = enabled; - this.arguments = arguments; - } -} diff --git a/jdk/src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java b/jdk/src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java index 63b813f0e9c..2fe8835259f 100644 --- a/jdk/src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java +++ b/jdk/src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,11 +31,6 @@ import java.lang.management.PlatformManagedObject; /** * Diagnostic management interface for the HotSpot Virtual Machine. * - *

{@linkplain #getDiagnosticCommands Diagnostic commands} - * are actions that can be invoked dynamically and - * executed in a target Java virtual machine, mainly for troubleshooting - * and diagnosis. - * *

The diagnostic MBean is registered to the platform MBeanServer * as are other platform MBeans. * @@ -116,108 +111,4 @@ public interface HotSpotDiagnosticMXBean extends PlatformManagedObject { * ManagementPermission("control"). */ public void setVMOption(String name, String value); - - /** - * Returns the {@linkplain DiagnosticCommandInfo#getName() names} - * of all diagnostic commands. - * A diagnostic command is an action that can be invoked dynamically - * mainly for troubleshooting and diagnosis. The list of diagnostic - * commands may change at runtime. A diagnostic command may be - * {@linkplain DiagnosticCommandInfo#isEnabled disabled} but will - * not be removed from a previously returned list. - * - * @return the names of all diagnostic commands. - * - * @since 7u4 - */ - public List getDiagnosticCommands(); - - /** - * Returns a {@code DiagnosticCommandInfo} object describing the - * diagnostic command of the specified name {@code command} - * - * @param command a diagnostic command name - * @return a {@code DiagnosticCommandInfo} object - * @throws java.lang.IllegalArgumentException if the {@code command} - * doesn't match any diagnostic command registered in the - * targeted Java virtual machine. - * - * @since 7u4 - */ - public DiagnosticCommandInfo getDiagnosticCommandInfo(String command); - - /** - * Returns a list of {@code DiagnosticCommandInfo} object describing - * all diagnostic commands available on the targeted Java virtual machine - * - * @return a list of {@code DiagnosticCommandInfo} objects - * - * @since 7u4 - */ - public List getDiagnosticCommandInfo(); - - /** - * Returns a list of {@code DiagnosticCommandInfo} object describing - * all diagnostic commands specified in the {@code commands} list. - * - * @param commands {@code List} of {@code String} containing diagnostic - * command names - * @return a {@code List} of {@code DiagnosticCommandInfo} objects - * - * @throws java.lang.IllegalArgumentException if at least one - * command specified in the {@code commands } list - * doesn't match any diagnostic command registered in the - * targeted Java virtual machine. - * - * @since 7u4 - */ - public List getDiagnosticCommandInfo(List commands); - - /** - * Executes the command line {@code commandLine}. The command line must - * start with a diagnostic command name, optionally followed by parameters. - * Each command has its own syntax but the generic syntax for a diagnostic - * command line is: - *

- * <command name> [<option>=<value>] [<argument_value>] - *
- * - * @param commandLine command line to execute - * @return a {@code String} object containing the diagnostic command - * output. - * - * @throws java.lang.IllegalArgumentException if the command line doesn't - * match any diagnostic command registered in the virtual machine - * of if the parameters don't match the diagnostic command syntax. - * @throws java.lang.SecurityException - * if a security manager exists and the caller does not have - * ManagementPermission("control"). - * - * @since 7u4 - */ - public String execute(String commandLine); - - /** - * Invokes the diagnostic command named {@code cmd} with the parameters - * specified in {@code args}. Each command has its own syntax but - * the generic syntax for parameters is: - *
- * [<option>=<value>] [<argument_value>] - *
- * - * @param cmd a diagnostic command name - * @param args the command parameters - * @return a {@code String} object containing the diagnostic command - * output. - * - * @throws java.lang.IllegalArgumentException if the command line doesn't - * match any diagnostic command registered in the virtual machine - * of if the parameters don't match the diagnostic command syntax. - * @throws java.lang.SecurityException - * if a security manager exists and the caller does not have - * ManagementPermission("control"). - * - * @since 7u4 - */ - public String execute(String cmd, String... args); } diff --git a/jdk/src/share/classes/com/sun/nio/sctp/MessageInfo.java b/jdk/src/share/classes/com/sun/nio/sctp/MessageInfo.java index b851b77ac43..85cac09f50d 100644 --- a/jdk/src/share/classes/com/sun/nio/sctp/MessageInfo.java +++ b/jdk/src/share/classes/com/sun/nio/sctp/MessageInfo.java @@ -94,7 +94,7 @@ public abstract class MessageInfo { if (streamNumber < 0 || streamNumber > 65536) throw new IllegalArgumentException("Invalid stream number"); - return new sun.nio.ch.SctpMessageInfoImpl(null, address, streamNumber); + return new sun.nio.ch.sctp.MessageInfoImpl(null, address, streamNumber); } /** * Creates a {@code MessageInfo} instance suitable for use when @@ -133,8 +133,8 @@ public abstract class MessageInfo { if (streamNumber < 0 || streamNumber > 65536) throw new IllegalArgumentException("Invalid stream number"); - return new sun.nio.ch.SctpMessageInfoImpl(association, address, - streamNumber); + return new sun.nio.ch.sctp.MessageInfoImpl(association, + address, streamNumber); } /** diff --git a/jdk/src/share/classes/com/sun/nio/sctp/SctpChannel.java b/jdk/src/share/classes/com/sun/nio/sctp/SctpChannel.java index d040a7a07ea..27666981319 100644 --- a/jdk/src/share/classes/com/sun/nio/sctp/SctpChannel.java +++ b/jdk/src/share/classes/com/sun/nio/sctp/SctpChannel.java @@ -162,7 +162,7 @@ public abstract class SctpChannel */ public static SctpChannel open() throws IOException { - return new sun.nio.ch.SctpChannelImpl((SelectorProvider)null); + return new sun.nio.ch.sctp.SctpChannelImpl((SelectorProvider)null); } /** diff --git a/jdk/src/share/classes/com/sun/nio/sctp/SctpMultiChannel.java b/jdk/src/share/classes/com/sun/nio/sctp/SctpMultiChannel.java index 229d18ec039..e1df42e2d11 100644 --- a/jdk/src/share/classes/com/sun/nio/sctp/SctpMultiChannel.java +++ b/jdk/src/share/classes/com/sun/nio/sctp/SctpMultiChannel.java @@ -162,7 +162,7 @@ public abstract class SctpMultiChannel */ public static SctpMultiChannel open() throws IOException { - return new sun.nio.ch.SctpMultiChannelImpl((SelectorProvider)null); + return new sun.nio.ch.sctp.SctpMultiChannelImpl((SelectorProvider)null); } /** diff --git a/jdk/src/share/classes/com/sun/nio/sctp/SctpServerChannel.java b/jdk/src/share/classes/com/sun/nio/sctp/SctpServerChannel.java index 3867fc9ca34..49bb0bc83a2 100644 --- a/jdk/src/share/classes/com/sun/nio/sctp/SctpServerChannel.java +++ b/jdk/src/share/classes/com/sun/nio/sctp/SctpServerChannel.java @@ -98,7 +98,7 @@ public abstract class SctpServerChannel */ public static SctpServerChannel open() throws IOException { - return new sun.nio.ch.SctpServerChannelImpl((SelectorProvider)null); + return new sun.nio.ch.sctp.SctpServerChannelImpl((SelectorProvider)null); } /** diff --git a/jdk/src/share/classes/com/sun/nio/sctp/SctpStandardSocketOptions.java b/jdk/src/share/classes/com/sun/nio/sctp/SctpStandardSocketOptions.java index 22c5f4a005b..82d70be8e84 100644 --- a/jdk/src/share/classes/com/sun/nio/sctp/SctpStandardSocketOptions.java +++ b/jdk/src/share/classes/com/sun/nio/sctp/SctpStandardSocketOptions.java @@ -25,7 +25,7 @@ package com.sun.nio.sctp; import java.net.SocketAddress; -import sun.nio.ch.SctpStdSocketOption; +import sun.nio.ch.sctp.SctpStdSocketOption; /** * SCTP channels supports the socket options defined by this class @@ -50,7 +50,7 @@ public class SctpStandardSocketOptions { */ public static final SctpSocketOption SCTP_DISABLE_FRAGMENTS = new SctpStdSocketOption("SCTP_DISABLE_FRAGMENTS", Boolean.class, - sun.nio.ch.SctpStdSocketOption.SCTP_DISABLE_FRAGMENTS); + sun.nio.ch.sctp.SctpStdSocketOption.SCTP_DISABLE_FRAGMENTS); /** * Enables or disables explicit message completion. @@ -69,7 +69,7 @@ public class SctpStandardSocketOptions { */ public static final SctpSocketOption SCTP_EXPLICIT_COMPLETE = new SctpStdSocketOption("SCTP_EXPLICIT_COMPLETE", Boolean.class, - sun.nio.ch.SctpStdSocketOption.SCTP_EXPLICIT_COMPLETE); + sun.nio.ch.sctp.SctpStdSocketOption.SCTP_EXPLICIT_COMPLETE); /** * Fragmented interleave controls how the presentation of messages occur @@ -120,7 +120,7 @@ public class SctpStandardSocketOptions { public static final SctpSocketOption SCTP_FRAGMENT_INTERLEAVE = new SctpStdSocketOption("SCTP_FRAGMENT_INTERLEAVE", Integer.class, - sun.nio.ch.SctpStdSocketOption.SCTP_FRAGMENT_INTERLEAVE); + sun.nio.ch.sctp.SctpStdSocketOption.SCTP_FRAGMENT_INTERLEAVE); /** * The maximum number of streams requested by the local endpoint during @@ -171,7 +171,7 @@ public class SctpStandardSocketOptions { */ public static final SctpSocketOption SCTP_NODELAY = new SctpStdSocketOption("SCTP_NODELAY", Boolean.class, - sun.nio.ch.SctpStdSocketOption.SCTP_NODELAY); + sun.nio.ch.sctp.SctpStdSocketOption.SCTP_NODELAY); /** * Requests that the local SCTP stack use the given peer address as @@ -246,7 +246,7 @@ public class SctpStandardSocketOptions { */ public static final SctpSocketOption SO_SNDBUF = new SctpStdSocketOption("SO_SNDBUF", Integer.class, - sun.nio.ch.SctpStdSocketOption.SO_SNDBUF); + sun.nio.ch.sctp.SctpStdSocketOption.SO_SNDBUF); /** * The size of the socket receive buffer. @@ -273,7 +273,7 @@ public class SctpStandardSocketOptions { */ public static final SctpSocketOption SO_RCVBUF = new SctpStdSocketOption("SO_RCVBUF", Integer.class, - sun.nio.ch.SctpStdSocketOption.SO_RCVBUF); + sun.nio.ch.sctp.SctpStdSocketOption.SO_RCVBUF); /** * Linger on close if data is present. @@ -304,7 +304,7 @@ public class SctpStandardSocketOptions { */ public static final SctpSocketOption SO_LINGER = new SctpStdSocketOption("SO_LINGER", Integer.class, - sun.nio.ch.SctpStdSocketOption.SO_LINGER); + sun.nio.ch.sctp.SctpStdSocketOption.SO_LINGER); /** * This class is used to set the maximum number of inbound/outbound streams diff --git a/jdk/src/share/classes/java/lang/management/ManagementPermission.java b/jdk/src/share/classes/java/lang/management/ManagementPermission.java index bf27f1dd1ae..6df6f1e3d42 100644 --- a/jdk/src/share/classes/java/lang/management/ManagementPermission.java +++ b/jdk/src/share/classes/java/lang/management/ManagementPermission.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -46,12 +46,17 @@ at the permission allows, and associated risks"> * * control * Ability to control the runtime characteristics of the Java virtual - * machine, for example, setting the -verbose:gc and -verbose:class flag, - * setting the threshold of a memory pool, and enabling and disabling - * the thread contention monitoring support. + * machine, for example, enabling and disabling the verbose output for + * the class loading or memory system, setting the threshold of a memory + * pool, and enabling and disabling the thread contention monitoring + * support. Some actions controlled by this permission can disclose + * information about the running application, like the -verbose:class + * flag. * * This allows an attacker to control the runtime characteristics - * of the Java virtual machine and cause the system to misbehave. + * of the Java virtual machine and cause the system to misbehave. An + * attacker can also access some information related to the running + * application. * * * diff --git a/jdk/src/share/classes/java/util/jar/Attributes.java b/jdk/src/share/classes/java/util/jar/Attributes.java index e09071172b6..1eb28d41678 100644 --- a/jdk/src/share/classes/java/util/jar/Attributes.java +++ b/jdk/src/share/classes/java/util/jar/Attributes.java @@ -71,7 +71,7 @@ public class Attributes implements Map, Cloneable { * @param size the initial number of attributes */ public Attributes(int size) { - map = new HashMap(size); + map = new HashMap<>(size); } /** @@ -81,7 +81,7 @@ public class Attributes implements Map, Cloneable { * @param attr the specified Attributes */ public Attributes(Attributes attr) { - map = new HashMap(attr); + map = new HashMap<>(attr); } @@ -296,9 +296,9 @@ public class Attributes implements Map, Cloneable { * XXX Need to handle UTF8 values and break up lines longer than 72 bytes */ void write(DataOutputStream os) throws IOException { - Iterator it = entrySet().iterator(); + Iterator> it = entrySet().iterator(); while (it.hasNext()) { - Map.Entry e = (Map.Entry)it.next(); + Map.Entry e = it.next(); StringBuffer buffer = new StringBuffer( ((Name)e.getKey()).toString()); buffer.append(": "); @@ -340,9 +340,9 @@ public class Attributes implements Map, Cloneable { // write out all attributes except for the version // we wrote out earlier - Iterator it = entrySet().iterator(); + Iterator> it = entrySet().iterator(); while (it.hasNext()) { - Map.Entry e = (Map.Entry)it.next(); + Map.Entry e = it.next(); String name = ((Name)e.getKey()).toString(); if ((version != null) && ! (name.equalsIgnoreCase(vername))) { @@ -499,7 +499,7 @@ public class Attributes implements Map, Cloneable { */ public boolean equals(Object o) { if (o instanceof Name) { - Comparator c = ASCIICaseInsensitiveComparator.CASE_INSENSITIVE_ORDER; + Comparator c = ASCIICaseInsensitiveComparator.CASE_INSENSITIVE_ORDER; return c.compare(name, ((Name)o).name) == 0; } else { return false; diff --git a/jdk/src/share/classes/java/util/jar/JarOutputStream.java b/jdk/src/share/classes/java/util/jar/JarOutputStream.java index 843b16aa8d7..36942772619 100644 --- a/jdk/src/share/classes/java/util/jar/JarOutputStream.java +++ b/jdk/src/share/classes/java/util/jar/JarOutputStream.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -135,7 +135,7 @@ class JarOutputStream extends ZipOutputStream { * The bytes are assumed to be in Intel (little-endian) byte order. */ private static int get16(byte[] b, int off) { - return (b[off] & 0xff) | ((b[off+1] & 0xff) << 8); + return Byte.toUnsignedInt(b[off]) | ( Byte.toUnsignedInt(b[off+1]) << 8); } /* diff --git a/jdk/src/share/classes/java/util/jar/JarVerifier.java b/jdk/src/share/classes/java/util/jar/JarVerifier.java index 6a9a8b55667..5c80d5013db 100644 --- a/jdk/src/share/classes/java/util/jar/JarVerifier.java +++ b/jdk/src/share/classes/java/util/jar/JarVerifier.java @@ -48,21 +48,21 @@ class JarVerifier { /* a table mapping names to code signers, for jar entries that have had their actual hashes verified */ - private Hashtable verifiedSigners; + private Hashtable verifiedSigners; /* a table mapping names to code signers, for jar entries that have passed the .SF/.DSA/.EC -> MANIFEST check */ - private Hashtable sigFileSigners; + private Hashtable sigFileSigners; /* a hash table to hold .SF bytes */ - private Hashtable sigFileData; + private Hashtable sigFileData; /** "queue" of pending PKCS7 blocks that we couldn't parse * until we parsed the .SF file */ - private ArrayList pendingBlocks; + private ArrayList pendingBlocks; /* cache of CodeSigner objects */ - private ArrayList signerCache; + private ArrayList signerCache; /* Are we parsing a block? */ private boolean parsingBlockOrSF = false; @@ -94,10 +94,10 @@ class JarVerifier { public JarVerifier(byte rawBytes[]) { manifestRawBytes = rawBytes; - sigFileSigners = new Hashtable(); - verifiedSigners = new Hashtable(); - sigFileData = new Hashtable(11); - pendingBlocks = new ArrayList(); + sigFileSigners = new Hashtable<>(); + verifiedSigners = new Hashtable<>(); + sigFileData = new Hashtable<>(11); + pendingBlocks = new ArrayList<>(); baos = new ByteArrayOutputStream(); manifestDigests = new ArrayList<>(); } @@ -248,10 +248,9 @@ class JarVerifier { sigFileData.put(key, bytes); // check pending blocks, we can now process // anyone waiting for this .SF file - Iterator it = pendingBlocks.iterator(); + Iterator it = pendingBlocks.iterator(); while (it.hasNext()) { - SignatureFileVerifier sfv = - (SignatureFileVerifier) it.next(); + SignatureFileVerifier sfv = it.next(); if (sfv.needSignatureFile(key)) { if (debug != null) { debug.println( @@ -270,7 +269,7 @@ class JarVerifier { String key = uname.substring(0, uname.lastIndexOf(".")); if (signerCache == null) - signerCache = new ArrayList(); + signerCache = new ArrayList<>(); if (manDig == null) { synchronized(manifestRawBytes) { @@ -287,7 +286,7 @@ class JarVerifier { if (sfv.needSignatureFileBytes()) { // see if we have already parsed an external .SF file - byte[] bytes = (byte[]) sigFileData.get(key); + byte[] bytes = sigFileData.get(key); if (bytes == null) { // put this block on queue for later processing @@ -343,7 +342,7 @@ class JarVerifier { */ public CodeSigner[] getCodeSigners(String name) { - return (CodeSigner[])verifiedSigners.get(name); + return verifiedSigners.get(name); } public CodeSigner[] getCodeSigners(JarFile jar, JarEntry entry) @@ -376,15 +375,14 @@ class JarVerifier { CodeSigner[] signers) { if (signers != null) { - ArrayList certChains = new ArrayList(); + ArrayList certChains = new ArrayList<>(); for (int i = 0; i < signers.length; i++) { certChains.addAll( signers[i].getSignerCertPath().getCertificates()); } // Convert into a Certificate[] - return (java.security.cert.Certificate[]) - certChains.toArray( + return certChains.toArray( new java.security.cert.Certificate[certChains.size()]); } return null; @@ -418,8 +416,8 @@ class JarVerifier { // MANIFEST.MF is always treated as signed and verified, // move its signers from sigFileSigners to verifiedSigners. if (sigFileSigners.containsKey(JarFile.MANIFEST_NAME)) { - verifiedSigners.put(JarFile.MANIFEST_NAME, - sigFileSigners.remove(JarFile.MANIFEST_NAME)); + CodeSigner[] codeSigners = sigFileSigners.remove(JarFile.MANIFEST_NAME); + verifiedSigners.put(JarFile.MANIFEST_NAME, codeSigners); } } @@ -493,10 +491,10 @@ class JarVerifier { // Extended JavaUtilJarAccess CodeSource API Support - private Map urlToCodeSourceMap = new HashMap(); - private Map signerToCodeSource = new HashMap(); + private Map> urlToCodeSourceMap = new HashMap<>(); + private Map signerToCodeSource = new HashMap<>(); private URL lastURL; - private Map lastURLMap; + private Map lastURLMap; /* * Create a unique mapping from codeSigner cache entries to CodeSource. @@ -504,19 +502,19 @@ class JarVerifier { * and shared JAR file although in practice there will be a single URL in use. */ private synchronized CodeSource mapSignersToCodeSource(URL url, CodeSigner[] signers) { - Map map; + Map map; if (url == lastURL) { map = lastURLMap; } else { - map = (Map) urlToCodeSourceMap.get(url); + map = urlToCodeSourceMap.get(url); if (map == null) { - map = new HashMap(); + map = new HashMap<>(); urlToCodeSourceMap.put(url, map); } lastURLMap = map; lastURL = url; } - CodeSource cs = (CodeSource) map.get(signers); + CodeSource cs = map.get(signers); if (cs == null) { cs = new VerifierCodeSource(csdomain, url, signers); signerToCodeSource.put(signers, cs); @@ -524,16 +522,16 @@ class JarVerifier { return cs; } - private CodeSource[] mapSignersToCodeSources(URL url, List signers, boolean unsigned) { - List sources = new ArrayList(); + private CodeSource[] mapSignersToCodeSources(URL url, List signers, boolean unsigned) { + List sources = new ArrayList<>(); for (int i = 0; i < signers.size(); i++) { - sources.add(mapSignersToCodeSource(url, (CodeSigner[]) signers.get(i))); + sources.add(mapSignersToCodeSource(url, signers.get(i))); } if (unsigned) { sources.add(mapSignersToCodeSource(url, null)); } - return (CodeSource[]) sources.toArray(new CodeSource[sources.size()]); + return sources.toArray(new CodeSource[sources.size()]); } private CodeSigner[] emptySigner = new CodeSigner[0]; @@ -553,7 +551,7 @@ class JarVerifier { * but this handles a CodeSource of any type, just in case. */ CodeSource[] sources = mapSignersToCodeSources(cs.getLocation(), getJarCodeSigners(), true); - List sourceList = new ArrayList(); + List sourceList = new ArrayList<>(); for (int i = 0; i < sources.length; i++) { sourceList.add(sources[i]); } @@ -574,6 +572,7 @@ class JarVerifier { * signing data that can be compared by object reference identity. */ private static class VerifierCodeSource extends CodeSource { + private static final long serialVersionUID = -9047366145967768825L; URL vlocation; CodeSigner[] vsigners; @@ -641,16 +640,16 @@ class JarVerifier { return vcerts; } } - private Map signerMap; + private Map signerMap; - private synchronized Map signerMap() { + private synchronized Map signerMap() { if (signerMap == null) { /* * Snapshot signer state so it doesn't change on us. We care * only about the asserted signatures. Verification of * signature validity happens via the JarEntry apis. */ - signerMap = new HashMap(verifiedSigners.size() + sigFileSigners.size()); + signerMap = new HashMap<>(verifiedSigners.size() + sigFileSigners.size()); signerMap.putAll(verifiedSigners); signerMap.putAll(sigFileSigners); } @@ -658,15 +657,15 @@ class JarVerifier { } public synchronized Enumeration entryNames(JarFile jar, final CodeSource[] cs) { - final Map map = signerMap(); - final Iterator itor = map.entrySet().iterator(); + final Map map = signerMap(); + final Iterator> itor = map.entrySet().iterator(); boolean matchUnsigned = false; /* * Grab a single copy of the CodeSigner arrays. Check * to see if we can optimize CodeSigner equality test. */ - List req = new ArrayList(cs.length); + List req = new ArrayList<>(cs.length); for (int i = 0; i < cs.length; i++) { CodeSigner[] match = findMatchingSigners(cs[i]); if (match != null) { @@ -678,8 +677,8 @@ class JarVerifier { } } - final List signersReq = req; - final Enumeration enum2 = (matchUnsigned) ? unsignedEntryNames(jar) : emptyEnumeration; + final List signersReq = req; + final Enumeration enum2 = (matchUnsigned) ? unsignedEntryNames(jar) : emptyEnumeration; return new Enumeration() { @@ -691,14 +690,14 @@ class JarVerifier { } while (itor.hasNext()) { - Map.Entry e = (Map.Entry) itor.next(); - if (signersReq.contains((CodeSigner[]) e.getValue())) { - name = (String) e.getKey(); + Map.Entry e = itor.next(); + if (signersReq.contains(e.getValue())) { + name = e.getKey(); return true; } } while (enum2.hasMoreElements()) { - name = (String) enum2.nextElement(); + name = enum2.nextElement(); return true; } return false; @@ -719,13 +718,13 @@ class JarVerifier { * Like entries() but screens out internal JAR mechanism entries * and includes signed entries with no ZIP data. */ - public Enumeration entries2(final JarFile jar, Enumeration e) { - final Map map = new HashMap(); + public Enumeration entries2(final JarFile jar, Enumeration e) { + final Map map = new HashMap<>(); map.putAll(signerMap()); - final Enumeration enum_ = e; + final Enumeration enum_ = e; return new Enumeration() { - Enumeration signers = null; + Enumeration signers = null; JarEntry entry; public boolean hasMoreElements() { @@ -733,7 +732,7 @@ class JarVerifier { return true; } while (enum_.hasMoreElements()) { - ZipEntry ze = (ZipEntry) enum_.nextElement(); + ZipEntry ze = enum_.nextElement(); if (JarVerifier.isSigningRelated(ze.getName())) { continue; } @@ -744,7 +743,7 @@ class JarVerifier { signers = Collections.enumeration(map.keySet()); } while (signers.hasMoreElements()) { - String name = (String) signers.nextElement(); + String name = signers.nextElement(); entry = jar.newEntry(new ZipEntry(name)); return true; } @@ -764,7 +763,7 @@ class JarVerifier { } }; } - private Enumeration emptyEnumeration = new Enumeration() { + private Enumeration emptyEnumeration = new Enumeration() { public boolean hasMoreElements() { return false; @@ -797,8 +796,8 @@ class JarVerifier { } private Enumeration unsignedEntryNames(JarFile jar) { - final Map map = signerMap(); - final Enumeration entries = jar.entries(); + final Map map = signerMap(); + final Enumeration entries = jar.entries(); return new Enumeration() { String name; @@ -813,7 +812,7 @@ class JarVerifier { } while (entries.hasMoreElements()) { String value; - ZipEntry e = (ZipEntry) entries.nextElement(); + ZipEntry e = entries.nextElement(); value = e.getName(); if (e.isDirectory() || isSigningRelated(value)) { continue; @@ -836,14 +835,14 @@ class JarVerifier { } }; } - private List jarCodeSigners; + private List jarCodeSigners; - private synchronized List getJarCodeSigners() { + private synchronized List getJarCodeSigners() { CodeSigner[] signers; if (jarCodeSigners == null) { - HashSet set = new HashSet(); + HashSet set = new HashSet<>(); set.addAll(signerMap().values()); - jarCodeSigners = new ArrayList(); + jarCodeSigners = new ArrayList<>(); jarCodeSigners.addAll(set); } return jarCodeSigners; @@ -858,7 +857,7 @@ class JarVerifier { public CodeSource getCodeSource(URL url, String name) { CodeSigner[] signers; - signers = (CodeSigner[]) signerMap().get(name); + signers = signerMap().get(name); return mapSignersToCodeSource(url, signers); } diff --git a/jdk/src/share/classes/java/util/jar/Manifest.java b/jdk/src/share/classes/java/util/jar/Manifest.java index 3bb56715282..49612938ab8 100644 --- a/jdk/src/share/classes/java/util/jar/Manifest.java +++ b/jdk/src/share/classes/java/util/jar/Manifest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -339,7 +339,7 @@ public class Manifest implements Cloneable { return -1; } } - return buf[pos++] & 0xff; + return Byte.toUnsignedInt(buf[pos++]); } public int read(byte[] b, int off, int len) throws IOException { diff --git a/jdk/src/share/classes/java/util/zip/InflaterInputStream.java b/jdk/src/share/classes/java/util/zip/InflaterInputStream.java index 53e16ee22e3..b948905d0e8 100644 --- a/jdk/src/share/classes/java/util/zip/InflaterInputStream.java +++ b/jdk/src/share/classes/java/util/zip/InflaterInputStream.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -119,7 +119,7 @@ class InflaterInputStream extends FilterInputStream { */ public int read() throws IOException { ensureOpen(); - return read(singleByteBuf, 0, 1) == -1 ? -1 : singleByteBuf[0] & 0xff; + return read(singleByteBuf, 0, 1) == -1 ? -1 : Byte.toUnsignedInt(singleByteBuf[0]); } /** diff --git a/jdk/src/share/classes/java/util/zip/ZipInputStream.java b/jdk/src/share/classes/java/util/zip/ZipInputStream.java index a60adb8040e..7076f9be5d8 100644 --- a/jdk/src/share/classes/java/util/zip/ZipInputStream.java +++ b/jdk/src/share/classes/java/util/zip/ZipInputStream.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -435,7 +435,7 @@ class ZipInputStream extends InflaterInputStream implements ZipConstants { * The bytes are assumed to be in Intel (little-endian) byte order. */ private static final int get16(byte b[], int off) { - return (b[off] & 0xff) | ((b[off+1] & 0xff) << 8); + return Byte.toUnsignedInt(b[off]) | (Byte.toUnsignedInt(b[off+1]) << 8); } /* diff --git a/jdk/src/share/classes/javax/crypto/CipherSpi.java b/jdk/src/share/classes/javax/crypto/CipherSpi.java index c3442ea2d81..e563e920eb6 100644 --- a/jdk/src/share/classes/javax/crypto/CipherSpi.java +++ b/jdk/src/share/classes/javax/crypto/CipherSpi.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -775,7 +775,7 @@ public abstract class CipherSpi { int outOfs = output.arrayOffset() + outPos; byte[] inArray = new byte[getTempArraySize(inLen)]; int total = 0; - while (inLen > 0) { + do { int chunk = Math.min(inLen, inArray.length); input.get(inArray, 0, chunk); int n; @@ -787,7 +787,7 @@ public abstract class CipherSpi { total += n; outOfs += n; inLen -= chunk; - } + } while (inLen > 0); output.position(outPos + total); return total; } else { // output is not backed by an accessible byte[] @@ -804,7 +804,7 @@ public abstract class CipherSpi { int outSize = outArray.length; int total = 0; boolean resized = false; - while (inLen > 0) { + do { int chunk = Math.min(inLen, outSize); if ((a1 == false) && (resized == false)) { input.get(inArray, 0, chunk); @@ -834,7 +834,7 @@ public abstract class CipherSpi { int newOut = engineGetOutputSize(chunk); outArray = new byte[newOut]; } - } + } while (inLen > 0); input.position(inLimit); return total; } diff --git a/jdk/src/share/classes/javax/net/ssl/ExtendedSSLSession.java b/jdk/src/share/classes/javax/net/ssl/ExtendedSSLSession.java index a9a5ed2968a..8afd963458d 100644 --- a/jdk/src/share/classes/javax/net/ssl/ExtendedSSLSession.java +++ b/jdk/src/share/classes/javax/net/ssl/ExtendedSSLSession.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -43,7 +43,7 @@ public abstract class ExtendedSSLSession implements SSLSession { * The signature algorithm name must be a standard Java Security * name (such as "SHA1withRSA", "SHA256withECDSA", and so on). * See Appendix A in the + * "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#AppA"> * Java Cryptography Architecture API Specification & Reference * for information about standard algorithm names. *

@@ -71,7 +71,7 @@ public abstract class ExtendedSSLSession implements SSLSession { * The signature algorithm name must be a standard Java Security * name (such as "SHA1withRSA", "SHA256withECDSA", and so on). * See Appendix A in the + * "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#AppA"> * Java Cryptography Architecture API Specification & Reference * for information about standard algorithm names. * diff --git a/jdk/src/share/classes/javax/net/ssl/SSLParameters.java b/jdk/src/share/classes/javax/net/ssl/SSLParameters.java index 4bb20a164eb..0cb5b7d424c 100644 --- a/jdk/src/share/classes/javax/net/ssl/SSLParameters.java +++ b/jdk/src/share/classes/javax/net/ssl/SSLParameters.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -242,7 +242,7 @@ public class SSLParameters { * * @param algorithm The standard string name of the endpoint * identification algorithm (or null). See Appendix A in the + * "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#AppA"> * Java Cryptography Architecture API Specification & Reference * for information about standard algorithm names. * diff --git a/jdk/src/share/classes/javax/security/auth/x500/X500Principal.java b/jdk/src/share/classes/javax/security/auth/x500/X500Principal.java index 64a54f1509a..4a507197771 100644 --- a/jdk/src/share/classes/javax/security/auth/x500/X500Principal.java +++ b/jdk/src/share/classes/javax/security/auth/x500/X500Principal.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -107,10 +107,17 @@ public final class X500Principal implements Principal, java.io.Serializable { * defined in RFC 1779 and RFC 2253 * (and listed in {@link #getName(String format) getName(String format)}), * as well as the T, DNQ or DNQUALIFIER, SURNAME, GIVENNAME, INITIALS, - * GENERATION, EMAILADDRESS, and SERIALNUMBER keywords whose OIDs are - * defined in RFC 3280 and its successor. + * GENERATION, EMAILADDRESS, and SERIALNUMBER keywords whose Object + * Identifiers (OIDs) are defined in RFC 3280 and its successor. * Any other attribute type must be specified as an OID. * + *

This implementation enforces a more restrictive OID syntax than + * defined in RFC 1779 and 2253. It uses the more correct syntax defined in + * RFC 4512, which + * specifies that OIDs contain at least 2 digits: + * + *

{@code numericoid = number 1*( DOT number ) } + * * @param name an X.500 distinguished name in RFC 1779 or RFC 2253 format * @exception NullPointerException if the name * is null @@ -135,10 +142,17 @@ public final class X500Principal implements Principal, java.io.Serializable { * keywords recognized by X500Principal(String). Keywords * MUST be specified in all upper-case, otherwise they will be ignored. * Improperly specified keywords are ignored; however if a keyword in the - * name maps to an improperly specified OID, an + * name maps to an improperly specified Object Identifier (OID), an * IllegalArgumentException is thrown. It is permissible to * have 2 different keywords that map to the same OID. * + *

This implementation enforces a more restrictive OID syntax than + * defined in RFC 1779 and 2253. It uses the more correct syntax defined in + * RFC 4512, which + * specifies that OIDs contain at least 2 digits: + * + *

{@code numericoid = number 1*( DOT number ) } + * * @param name an X.500 distinguished name in RFC 1779 or RFC 2253 format * @param keywordMap an attribute type keyword map, where each key is a * keyword String that maps to a corresponding object identifier in String diff --git a/jdk/src/share/classes/javax/security/auth/x500/package.html b/jdk/src/share/classes/javax/security/auth/x500/package.html index 508380fb2a7..46a9203774f 100644 --- a/jdk/src/share/classes/javax/security/auth/x500/package.html +++ b/jdk/src/share/classes/javax/security/auth/x500/package.html @@ -2,7 +2,7 @@