Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
45250f4b
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
45250f4b
编写于
7月 19, 2018
作者:
A
alitvinov
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
0271ef3f
03bfbbd8
变更
30
隐藏空白更改
内联
并排
Showing
30 changed file
with
453 addition
and
122 deletion
+453
-122
.hgtags
.hgtags
+14
-0
THIRD_PARTY_README
THIRD_PARTY_README
+186
-0
make/CompileDemos.gmk
make/CompileDemos.gmk
+0
-23
make/Images.gmk
make/Images.gmk
+0
-31
src/macosx/classes/com/apple/laf/resources/aqua_de.properties
...macosx/classes/com/apple/laf/resources/aqua_de.properties
+2
-2
src/share/classes/com/sun/jndi/ldap/Connection.java
src/share/classes/com/sun/jndi/ldap/Connection.java
+34
-17
src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties
...classes/com/sun/rowset/RowSetResourceBundle_de.properties
+2
-2
src/share/classes/java/awt/Desktop.java
src/share/classes/java/awt/Desktop.java
+5
-6
src/share/classes/java/io/ObjectStreamClass.java
src/share/classes/java/io/ObjectStreamClass.java
+56
-2
src/share/classes/java/util/regex/PatternSyntaxException.java
...share/classes/java/util/regex/PatternSyntaxException.java
+2
-2
src/share/classes/sun/rmi/server/resources/rmid_de.properties
...share/classes/sun/rmi/server/resources/rmid_de.properties
+2
-2
src/share/classes/sun/security/ssl/SSLContextImpl.java
src/share/classes/sun/security/ssl/SSLContextImpl.java
+7
-0
src/share/classes/sun/security/tools/keytool/Resources_de.java
...hare/classes/sun/security/tools/keytool/Resources_de.java
+5
-5
src/share/classes/sun/security/tools/policytool/Resources_de.java
...e/classes/sun/security/tools/policytool/Resources_de.java
+2
-2
src/share/classes/sun/security/util/AuthResources_sv.java
src/share/classes/sun/security/util/AuthResources_sv.java
+2
-2
src/share/classes/sun/tools/jar/resources/jar_de.properties
src/share/classes/sun/tools/jar/resources/jar_de.properties
+2
-2
src/share/native/common/jni_util.h
src/share/native/common/jni_util.h
+17
-1
src/share/native/java/net/net_util.c
src/share/native/java/net/net_util.c
+15
-1
src/solaris/native/java/net/Inet4AddressImpl.c
src/solaris/native/java/net/Inet4AddressImpl.c
+9
-1
src/solaris/native/java/net/Inet6AddressImpl.c
src/solaris/native/java/net/Inet6AddressImpl.c
+9
-1
src/solaris/native/java/net/NetworkInterface.c
src/solaris/native/java/net/NetworkInterface.c
+7
-5
src/solaris/native/java/net/PlainDatagramSocketImpl.c
src/solaris/native/java/net/PlainDatagramSocketImpl.c
+25
-3
src/solaris/native/java/net/net_util_md.c
src/solaris/native/java/net/net_util_md.c
+4
-1
src/windows/native/java/net/Inet4AddressImpl.c
src/windows/native/java/net/Inet4AddressImpl.c
+7
-1
src/windows/native/java/net/Inet6AddressImpl.c
src/windows/native/java/net/Inet6AddressImpl.c
+7
-1
src/windows/native/java/net/NetworkInterface.c
src/windows/native/java/net/NetworkInterface.c
+5
-2
src/windows/native/java/net/NetworkInterface_winXP.c
src/windows/native/java/net/NetworkInterface_winXP.c
+3
-1
src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c
...indows/native/java/net/TwoStacksPlainDatagramSocketImpl.c
+15
-4
src/windows/native/java/net/TwoStacksPlainSocketImpl.c
src/windows/native/java/net/TwoStacksPlainSocketImpl.c
+5
-1
src/windows/native/java/net/net_util_md.c
src/windows/native/java/net/net_util_md.c
+4
-1
未找到文件。
.hgtags
浏览文件 @
45250f4b
...
@@ -860,6 +860,7 @@ ddae5cb11d6c04130b8002b852bc7f80e0c8bcd2 jdk8u162-b12
...
@@ -860,6 +860,7 @@ ddae5cb11d6c04130b8002b852bc7f80e0c8bcd2 jdk8u162-b12
b6195815c4bbbf275f1aefd337d805eb66f2b5b8 jdk8u171-b00
b6195815c4bbbf275f1aefd337d805eb66f2b5b8 jdk8u171-b00
f1792a59f1fa20e47fe5d4561754012440564bec jdk8u171-b01
f1792a59f1fa20e47fe5d4561754012440564bec jdk8u171-b01
cac020298633fc736f5e21afddf00145665ef0a7 jdk8u171-b02
cac020298633fc736f5e21afddf00145665ef0a7 jdk8u171-b02
e7e27f446209924f66a4bf86738f3e5f2fbbef5f jdk8u181-b00
c260afc0c5a13407aad4f066f81fba814bb0cbae jdk8u171-b03
c260afc0c5a13407aad4f066f81fba814bb0cbae jdk8u171-b03
ac700f67341a20ddae093c319da1c65e41edcacd jdk8u171-b04
ac700f67341a20ddae093c319da1c65e41edcacd jdk8u171-b04
863ef3413aa42c15fbdc14fef6732f2741f97046 jdk8u171-b05
863ef3413aa42c15fbdc14fef6732f2741f97046 jdk8u171-b05
...
@@ -881,6 +882,19 @@ cf952b84daa1e74403a4d1df541c0ecca830717d jdk8u172-b04
...
@@ -881,6 +882,19 @@ cf952b84daa1e74403a4d1df541c0ecca830717d jdk8u172-b04
f52ece1d8708024735f06e7e3bdc771efbc073d0 jdk8u172-b09
f52ece1d8708024735f06e7e3bdc771efbc073d0 jdk8u172-b09
9e9009034e5ce97a97f72c00cd37cf2a638fa1a4 jdk8u172-b10
9e9009034e5ce97a97f72c00cd37cf2a638fa1a4 jdk8u172-b10
2a041b1f858dc6a372ac07b8cf5bf6fab879dcc8 jdk8u172-b11
2a041b1f858dc6a372ac07b8cf5bf6fab879dcc8 jdk8u172-b11
d902fae6241006af3c4cfc4ce82ebcb3efb9d725 jdk8u181-b01
baac18e216fb47b4cfa04169b3c3de58d667de7c jdk8u181-b02
d237c59d14e1c1fb1f750e9cdabcea6e711f4d34 jdk8u181-b03
6eeca4fb7748e8bdca4afbd6785b04376b1d44cc jdk8u181-b04
f34c24087b0e6f52391f491d6c3a608616d1db2c jdk8u181-b05
076f5fd6258846fce7010a598de2c7583628bb1e jdk8u181-b06
446351642449411566d7fd0a26e32c8825f4f03e jdk8u181-b07
f26f68978e0e7ed0e6e61f9d64fa2d06f1c1a24c jdk8u181-b08
71b4f630e5225b9dcb939325f1a2ee0d04dc98f6 jdk8u181-b09
1f7b9ad2c572fe2c905a771bac15f252e374c2c6 jdk8u181-b10
112f3576f12e24d5e35d8d31782698e7d9a8fa52 jdk8u181-b11
22e01e7c5c39bfa3f5e2d18be76c7bf0dc71033a jdk8u181-b12
0cb452d66676bc1b3824bea4a0c16ac76e58b070 jdk8u181-b13
51b6cc7fbd98a87c6cdb5c70b7dbe25bb10e0dd7 jdk8u182-b00
51b6cc7fbd98a87c6cdb5c70b7dbe25bb10e0dd7 jdk8u182-b00
bead1ed7344f2911f5bed83639cf5160596561ef jdk8u192-b00
bead1ed7344f2911f5bed83639cf5160596561ef jdk8u192-b00
444b4528c8ecdd39b5923820fa2ed6d583808b5e jdk8u192-b01
444b4528c8ecdd39b5923820fa2ed6d583808b5e jdk8u192-b01
THIRD_PARTY_README
浏览文件 @
45250f4b
...
@@ -181,6 +181,192 @@ performance of this software.
...
@@ -181,6 +181,192 @@ performance of this software.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
%% This notice is provided with respect to DejaVu fonts v2.34, which may be
included with JRE 8, and JDK 8, and OpenJDK 8.
--- begin of LICENSE ---
Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below)
Bitstream Vera Fonts Copyright
------------------------------
Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
a trademark of Bitstream, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of the fonts accompanying this license ("Fonts") and associated
documentation files (the "Font Software"), to reproduce and distribute the
Font Software, including without limitation the rights to use, copy, merge,
publish, distribute, and/or sell copies of the Font Software, and to permit
persons to whom the Font Software is furnished to do so, subject to the
following conditions:
The above copyright and trademark notices and this permission notice shall
be included in all copies of one or more of the Font Software typefaces.
The Font Software may be modified, altered, or added to, and in particular
the designs of glyphs or characters in the Fonts may be modified and
additional glyphs or characters may be added to the Fonts, only if the fonts
are renamed to names not containing either the words "Bitstream" or the word
"Vera".
This License becomes null and void to the extent applicable to Fonts or Font
Software that has been modified and is distributed under the "Bitstream
Vera" names.
The Font Software may be sold as part of a larger software package but no
copy of one or more of the Font Software typefaces may be sold by itself.
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING
ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE
FONT SOFTWARE.
Except as contained in this notice, the names of Gnome, the Gnome
Foundation, and Bitstream Inc., shall not be used in advertising or
otherwise to promote the sale, use or other dealings in this Font Software
without prior written authorization from the Gnome Foundation or Bitstream
Inc., respectively. For further information, contact: fonts at gnome dot
org.
Arev Fonts Copyright
------------------------------
Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining
a copy of the fonts accompanying this license ("Fonts") and
associated documentation files (the "Font Software"), to reproduce
and distribute the modifications to the Bitstream Vera Font Software,
including without limitation the rights to use, copy, merge, publish,
distribute, and/or sell copies of the Font Software, and to permit
persons to whom the Font Software is furnished to do so, subject to
the following conditions:
The above copyright and trademark notices and this permission notice
shall be included in all copies of one or more of the Font Software
typefaces.
The Font Software may be modified, altered, or added to, and in
particular the designs of glyphs or characters in the Fonts may be
modified and additional glyphs or characters may be added to the
Fonts, only if the fonts are renamed to names not containing either
the words "Tavmjong Bah" or the word "Arev".
This License becomes null and void to the extent applicable to Fonts
or Font Software that has been modified and is distributed under the
"Tavmjong Bah Arev" names.
The Font Software may be sold as part of a larger software package but
no copy of one or more of the Font Software typefaces may be sold by
itself.
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
Except as contained in this notice, the name of Tavmjong Bah shall not
be used in advertising or otherwise to promote the sale, use or other
dealings in this Font Software without prior written authorization
from Tavmjong Bah. For further information, contact: tavmjong @ free
. fr.
TeX Gyre DJV Math
-----------------
Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
Math extensions done by B. Jackowski, P. Strzelczyk and P. Pianowski
(on behalf of TeX users groups) are in public domain.
Letters imported from Euler Fraktur from AMSfonts are (c) American
Mathematical Society (see below).
Bitstream Vera Fonts Copyright
Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera
is a trademark of Bitstream, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of the fonts accompanying this license ("Fonts") and associated documentation
files (the "Font Software"), to reproduce and distribute the Font Software,
including without limitation the rights to use, copy, merge, publish,
distribute, and/or sell copies of the Font Software, and to permit persons
to whom the Font Software is furnished to do so, subject to the following
conditions:
The above copyright and trademark notices and this permission notice
shall be included in all copies of one or more of the Font Software typefaces.
The Font Software may be modified, altered, or added to, and in particular
the designs of glyphs or characters in the Fonts may be modified and
additional glyphs or characters may be added to the Fonts, only if the
fonts are renamed to names not containing either the words "Bitstream"
or the word "Vera".
This License becomes null and void to the extent applicable to Fonts or
Font Software that has been modified and is distributed under the
"Bitstream Vera" names.
The Font Software may be sold as part of a larger software package but
no copy of one or more of the Font Software typefaces may be sold by itself.
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING
ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN
THE FONT SOFTWARE.
Except as contained in this notice, the names of GNOME, the GNOME
Foundation, and Bitstream Inc., shall not be used in advertising or
otherwise to promote the sale, use or other dealings in this Font Software
without prior written authorization from the GNOME Foundation or
Bitstream Inc., respectively.
For further information, contact: fonts at gnome dot org.
AMSFonts (v. 2.2) copyright
The PostScript Type 1 implementation of the AMSFonts produced by and
previously distributed by Blue Sky Research and Y&Y, Inc. are now freely
available for general use. This has been accomplished through the
cooperation
of a consortium of scientific publishers with Blue Sky Research and Y&Y.
Members of this consortium include:
Elsevier Science IBM Corporation Society for Industrial and Applied
Mathematics (SIAM) Springer-Verlag American Mathematical Society (AMS)
In order to assure the authenticity of these fonts, copyright will be
held by the American Mathematical Society. This is not meant to restrict
in any way the legitimate use of the fonts, such as (but not limited to)
electronic distribution of documents containing these fonts, inclusion of
these fonts into other public domain or commercial font collections or computer
applications, use of the outline data to create derivative fonts and/or
faces, etc. However, the AMS does require that the AMS copyright notice be
removed from any derivative versions of the fonts which have been altered in
any way. In addition, to ensure the fidelity of TeX documents using Computer
Modern fonts, Professor Donald Knuth, creator of the Computer Modern faces,
has requested that any alterations which yield different font metrics be
given a different name.
--- end of LICENSE ---
-------------------------------------------------------------------------------
%% This notice is provided with respect to Document Object Model (DOM) Level 2
%% This notice is provided with respect to Document Object Model (DOM) Level 2
& 3, which may be included with JRE 8, JDK 8, and OpenJDK 8.
& 3, which may be included with JRE 8, JDK 8, and OpenJDK 8.
...
...
make/CompileDemos.gmk
浏览文件 @
45250f4b
...
@@ -455,29 +455,6 @@ endif
...
@@ -455,29 +455,6 @@ endif
##################################################################################################
##################################################################################################
ifndef OPENJDK
DB_DEMO_ZIPFILE := $(wildcard $(JDK_TOPDIR)/src/closed/share/db/db-derby-*-bin.zip)
$(JDK_OUTPUTDIR)/demo/_the.db.unzipped: $(DB_DEMO_ZIPFILE)
$(MKDIR) -p $(@D)
$(RM) -r $(JDK_OUTPUTDIR)/demo/db $(JDK_OUTPUTDIR)/demo/demo
$(CD) $(JDK_OUTPUTDIR)/demo && $(UNZIP) -q -o $<
$(MV) $(JDK_OUTPUTDIR)/demo/db-derby-*-bin/demo $(JDK_OUTPUTDIR)/demo/db
$(CD) $(JDK_OUTPUTDIR)/demo && $(RM) -r db-derby-*-bin
$(TOUCH) $@
# Copy this after the unzip above to avoid race with directory creation and mv command.
$(JDK_OUTPUTDIR)/demo/db/README-JDK-DEMOS.html: \
$(JDK_TOPDIR)/src/closed/share/db/README-JDK-DEMOS.html \
| $(JDK_OUTPUTDIR)/demo/_the.db.unzipped
$(MKDIR) -p $(@D)
$(CAT) $< | $(SED) "s/XXXX/$(shell cat $(JDK_TOPDIR)/src/closed/share/db/COPYRIGHTYEAR)/" > $@
BUILD_DEMOS += $(JDK_OUTPUTDIR)/demo/_the.db.unzipped $(JDK_OUTPUTDIR)/demo/db/README-JDK-DEMOS.html
endif
##################################################################################################
all: $(BUILD_DEMOS)
all: $(BUILD_DEMOS)
.PHONY: all
.PHONY: all
make/Images.gmk
浏览文件 @
45250f4b
...
@@ -541,37 +541,6 @@ $(foreach lib, $(JDK_OVERLAY_DEMO_SOURCES), $(eval $(call CreateOverlayDemoRule,
...
@@ -541,37 +541,6 @@ $(foreach lib, $(JDK_OVERLAY_DEMO_SOURCES), $(eval $(call CreateOverlayDemoRule,
$(foreach f,$(call CacheFind,$(JDK_OUTPUTDIR)/sample), \
$(foreach f,$(call CacheFind,$(JDK_OUTPUTDIR)/sample), \
$(eval $(call AddFileToCopy,$(JDK_OUTPUTDIR),$(JDK_IMAGE_DIR),$f,JDK_SAMPLE_TARGETS)))
$(eval $(call AddFileToCopy,$(JDK_OUTPUTDIR),$(JDK_IMAGE_DIR),$f,JDK_SAMPLE_TARGETS)))
################################################################################
# /db dir
ifndef OPENJDK
$(IMAGES_OUTPUTDIR)/_unzip/%.unzipped: $(JDK_TOPDIR)/src/closed/share/db/%
$(ECHO) Unzipping $(patsubst $(SRC_ROOT)/%,%,$<)
$(MKDIR) -p $(JDK_IMAGE_DIR)/db
cd $(JDK_IMAGE_DIR)/db && $(UNZIP) -q -o $< -x */index.html */KEYS */test/* *javadoc/* */docs/* */demo/* 2> /dev/null
cd $(JDK_IMAGE_DIR)/db && $(MV) db-derby-*-bin/* . && $(RM) -r db-derby-*-bin
ifneq ($(OPENJDK_TARGET_OS), windows)
$(RM) $(JDK_IMAGE_DIR)/db/bin/*.bat
endif
$(MKDIR) -p $(@D)
$(TOUCH) $@
$(JDK_IMAGE_DIR)/db/README-JDK.html: $(JDK_TOPDIR)/src/closed/share/db/README-JDK.html
$(ECHO) $(LOG_INFO) Copying '$(patsubst $(OUTPUT_ROOT)/%,%,$@)'
$(MKDIR) -p $(@D)
$(CAT) $< | $(SED) "s/XXXX/$(shell cat $(JDK_TOPDIR)/src/closed/share/db/COPYRIGHTYEAR)/" > $@
$(JDK_IMAGE_DIR)/db/3RDPARTY: $(JDK_TOPDIR)/src/closed/share/db/3RDPARTY
$(ECHO) $(LOG_INFO) Copying '$(patsubst $(OUTPUT_ROOT)/%,%,$@)'
$(MKDIR) -p $(@D)
$(CAT) $< | $(SED) "s/XXXX/$(shell cat $(JDK_TOPDIR)/src/closed/share/db/COPYRIGHTYEAR)/" > $@
JDK_DB_TARGETS := $(patsubst $(JDK_TOPDIR)/src/closed/share/db/%, $(IMAGES_OUTPUTDIR)/_unzip/%.unzipped, \
$(wildcard $(JDK_TOPDIR)/src/closed/share/db/db-derby-*-bin.zip)) \
$(JDK_IMAGE_DIR)/db/README-JDK.html $(JDK_IMAGE_DIR)/db/3RDPARTY
endif
################################################################################
################################################################################
# /include dir
# /include dir
...
...
src/macosx/classes/com/apple/laf/resources/aqua_de.properties
浏览文件 @
45250f4b
#
#
# Copyright (c) 2011, 201
7
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 201
8
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -59,7 +59,7 @@ FileChooser.fileSizeGigaBytes={0} GB
...
@@ -59,7 +59,7 @@ FileChooser.fileSizeGigaBytes={0} GB
FileChooser.saveTitle.textAndMnemonic
=
Speichern
FileChooser.saveTitle.textAndMnemonic
=
Speichern
FileChooser.openTitle.textAndMnemonic
=
\u
00D6ffnen
FileChooser.openTitle.textAndMnemonic
=
\u
00D6ffnen
FileChooser.newFolderExistsError.textAndMnemonic
=
Dieser Name ist bereits vergeben
FileChooser.newFolderExistsError.textAndMnemonic
=
Dieser Name ist bereits vergeben
FileChooser.chooseButton.textAndMnemonic
=
W
\u
00E4hlen
FileChooser.chooseButton.textAndMnemonic
=
Ausw
\u
00E4hlen
FileChooser.newFolderButton.textAndMnemonic
=
Neuer Ordner
FileChooser.newFolderButton.textAndMnemonic
=
Neuer Ordner
FileChooser.newFolderTitle.textAndMnemonic
=
Neuer Ordner
FileChooser.newFolderTitle.textAndMnemonic
=
Neuer Ordner
...
...
src/share/classes/com/sun/jndi/ldap/Connection.java
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 1999, 201
4
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -27,26 +27,27 @@ package com.sun.jndi.ldap;
...
@@ -27,26 +27,27 @@ package com.sun.jndi.ldap;
import
java.io.BufferedInputStream
;
import
java.io.BufferedInputStream
;
import
java.io.BufferedOutputStream
;
import
java.io.BufferedOutputStream
;
import
java.io.InterruptedIOException
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
java.io.InputStream
;
import
java.io.InputStream
;
import
java.io.InterruptedIOException
;
import
java.io.OutputStream
;
import
java.lang.reflect.Constructor
;
import
java.lang.reflect.InvocationTargetException
;
import
java.lang.reflect.Method
;
import
java.net.Socket
;
import
java.net.Socket
;
import
javax.net.ssl.SSLSocket
;
import
java.security.AccessController
;
import
java.security.PrivilegedAction
;
import
java.util.Arrays
;
import
javax.naming.CommunicationException
;
import
javax.naming.CommunicationException
;
import
javax.naming.ServiceUnavailableException
;
import
javax.naming.NamingException
;
import
javax.naming.InterruptedNamingException
;
import
javax.naming.InterruptedNamingException
;
import
javax.naming.NamingException
;
import
javax.naming.ServiceUnavailableException
;
import
javax.naming.ldap.Control
;
import
javax.naming.ldap.Control
;
import
javax.net.ssl.SSLParameters
;
import
javax.net.ssl.SSLSocket
;
import
java.lang.reflect.Method
;
import
java.lang.reflect.Constructor
;
import
java.lang.reflect.InvocationTargetException
;
import
java.util.Arrays
;
import
sun.misc.IOUtils
;
import
sun.misc.IOUtils
;
//import javax.net.SocketFactory;
/**
/**
* A thread that creates a connection to an LDAP server.
* A thread that creates a connection to an LDAP server.
...
@@ -159,7 +160,18 @@ public final class Connection implements Runnable {
...
@@ -159,7 +160,18 @@ public final class Connection implements Runnable {
int
readTimeout
;
int
readTimeout
;
int
connectTimeout
;
int
connectTimeout
;
private
static
final
boolean
IS_HOSTNAME_VERIFICATION_DISABLED
=
hostnameVerificationDisabledValue
();
private
static
boolean
hostnameVerificationDisabledValue
()
{
PrivilegedAction
<
String
>
act
=
()
->
System
.
getProperty
(
"com.sun.jndi.ldap.object.disableEndpointIdentification"
);
String
prop
=
AccessController
.
doPrivileged
(
act
);
if
(
prop
==
null
)
{
return
false
;
}
return
prop
.
isEmpty
()
?
true
:
Boolean
.
parseBoolean
(
prop
);
}
// true means v3; false means v2
// true means v3; false means v2
// Called in LdapClient.authenticate() (which is synchronized)
// Called in LdapClient.authenticate() (which is synchronized)
// when connection is "quiet" and not shared; no need to synchronize
// when connection is "quiet" and not shared; no need to synchronize
...
@@ -368,15 +380,20 @@ public final class Connection implements Runnable {
...
@@ -368,15 +380,20 @@ public final class Connection implements Runnable {
// the SSL handshake following socket connection as part of the timeout.
// the SSL handshake following socket connection as part of the timeout.
// So explicitly set a socket read timeout, trigger the SSL handshake,
// So explicitly set a socket read timeout, trigger the SSL handshake,
// then reset the timeout.
// then reset the timeout.
if
(
connectTimeout
>
0
&&
socket
instanceof
SSLSocket
)
{
if
(
socket
instanceof
SSLSocket
)
{
SSLSocket
sslSocket
=
(
SSLSocket
)
socket
;
SSLSocket
sslSocket
=
(
SSLSocket
)
socket
;
int
socketTimeout
=
sslSocket
.
getSoTimeout
();
int
socketTimeout
=
sslSocket
.
getSoTimeout
();
if
(!
IS_HOSTNAME_VERIFICATION_DISABLED
)
{
sslSocket
.
setSoTimeout
(
connectTimeout
);
// reuse full timeout value
SSLParameters
param
=
sslSocket
.
getSSLParameters
();
param
.
setEndpointIdentificationAlgorithm
(
"LDAPS"
);
sslSocket
.
setSSLParameters
(
param
);
}
if
(
connectTimeout
>
0
)
{
sslSocket
.
setSoTimeout
(
connectTimeout
);
// reuse full timeout value
}
sslSocket
.
startHandshake
();
sslSocket
.
startHandshake
();
sslSocket
.
setSoTimeout
(
socketTimeout
);
sslSocket
.
setSoTimeout
(
socketTimeout
);
}
}
return
socket
;
return
socket
;
}
}
...
...
src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties
浏览文件 @
45250f4b
#
#
# Copyright (c) 2005, 201
6
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2005, 201
8
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -30,7 +30,7 @@ cachedrowsetimpl.nullhash = CachedRowSetImpl-Instanz kann nicht instanziiert wer
...
@@ -30,7 +30,7 @@ cachedrowsetimpl.nullhash = CachedRowSetImpl-Instanz kann nicht instanziiert wer
cachedrowsetimpl.invalidop
=
Ung
\u
00FCltiger Vorgang beim Zeileneinf
\u
00FCgen
cachedrowsetimpl.invalidop
=
Ung
\u
00FCltiger Vorgang beim Zeileneinf
\u
00FCgen
cachedrowsetimpl.accfailed
=
acceptChanges nicht erfolgreich
cachedrowsetimpl.accfailed
=
acceptChanges nicht erfolgreich
cachedrowsetimpl.invalidcp
=
Ung
\u
00FCltige Cursorposition
cachedrowsetimpl.invalidcp
=
Ung
\u
00FCltige Cursorposition
cachedrowsetimpl.illegalop
=
Un
g
\u
00FClt
iger Vorgang bei nicht eingef
\u
00FCgter Zeile
cachedrowsetimpl.illegalop
=
Un
zul
\u
00E4ss
iger Vorgang bei nicht eingef
\u
00FCgter Zeile
cachedrowsetimpl.clonefail
=
Klonen nicht erfolgreich: {0}
cachedrowsetimpl.clonefail
=
Klonen nicht erfolgreich: {0}
cachedrowsetimpl.invalidcol
=
Ung
\u
00FCltiger Spaltenindex
cachedrowsetimpl.invalidcol
=
Ung
\u
00FCltiger Spaltenindex
cachedrowsetimpl.invalcolnm
=
Ung
\u
00FCltiger Spaltenname
cachedrowsetimpl.invalcolnm
=
Ung
\u
00FCltiger Spaltenname
...
...
src/share/classes/java/awt/Desktop.java
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 2005, 20
06
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 20
18
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -202,15 +202,11 @@ public class Desktop {
...
@@ -202,15 +202,11 @@ public class Desktop {
* @throws NullPointerException if file is null
* @throws NullPointerException if file is null
* @throws IllegalArgumentException if file doesn't exist
* @throws IllegalArgumentException if file doesn't exist
*/
*/
private
static
void
checkFileValidation
(
File
file
){
private
static
void
checkFileValidation
(
File
file
)
{
if
(
file
==
null
)
throw
new
NullPointerException
(
"File must not be null"
);
if
(!
file
.
exists
())
{
if
(!
file
.
exists
())
{
throw
new
IllegalArgumentException
(
"The file: "
throw
new
IllegalArgumentException
(
"The file: "
+
file
.
getPath
()
+
" doesn't exist."
);
+
file
.
getPath
()
+
" doesn't exist."
);
}
}
file
.
canRead
();
}
}
/**
/**
...
@@ -264,6 +260,7 @@ public class Desktop {
...
@@ -264,6 +260,7 @@ public class Desktop {
* @see java.awt.AWTPermission
* @see java.awt.AWTPermission
*/
*/
public
void
open
(
File
file
)
throws
IOException
{
public
void
open
(
File
file
)
throws
IOException
{
file
=
new
File
(
file
.
getPath
());
checkAWTPermission
();
checkAWTPermission
();
checkExec
();
checkExec
();
checkActionSupport
(
Action
.
OPEN
);
checkActionSupport
(
Action
.
OPEN
);
...
@@ -295,6 +292,7 @@ public class Desktop {
...
@@ -295,6 +292,7 @@ public class Desktop {
* @see java.awt.AWTPermission
* @see java.awt.AWTPermission
*/
*/
public
void
edit
(
File
file
)
throws
IOException
{
public
void
edit
(
File
file
)
throws
IOException
{
file
=
new
File
(
file
.
getPath
());
checkAWTPermission
();
checkAWTPermission
();
checkExec
();
checkExec
();
checkActionSupport
(
Action
.
EDIT
);
checkActionSupport
(
Action
.
EDIT
);
...
@@ -325,6 +323,7 @@ public class Desktop {
...
@@ -325,6 +323,7 @@ public class Desktop {
* allowed to create a subprocess
* allowed to create a subprocess
*/
*/
public
void
print
(
File
file
)
throws
IOException
{
public
void
print
(
File
file
)
throws
IOException
{
file
=
new
File
(
file
.
getPath
());
checkExec
();
checkExec
();
SecurityManager
sm
=
System
.
getSecurityManager
();
SecurityManager
sm
=
System
.
getSecurityManager
();
if
(
sm
!=
null
)
{
if
(
sm
!=
null
)
{
...
...
src/share/classes/java/io/ObjectStreamClass.java
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 1996, 201
3
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1996, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -86,6 +86,18 @@ public class ObjectStreamClass implements Serializable {
...
@@ -86,6 +86,18 @@ public class ObjectStreamClass implements Serializable {
private
static
final
ObjectStreamField
[]
serialPersistentFields
=
private
static
final
ObjectStreamField
[]
serialPersistentFields
=
NO_FIELDS
;
NO_FIELDS
;
/** true if deserialization constructor checking is disabled */
private
static
boolean
disableSerialConstructorChecks
=
AccessController
.
doPrivileged
(
new
PrivilegedAction
<
Boolean
>()
{
public
Boolean
run
()
{
String
prop
=
"jdk.disableSerialConstructorChecks"
;
return
"true"
.
equals
(
System
.
getProperty
(
prop
))
?
Boolean
.
TRUE
:
Boolean
.
FALSE
;
}
}
).
booleanValue
();
/** reflection factory for obtaining serialization constructors */
/** reflection factory for obtaining serialization constructors */
private
static
final
ReflectionFactory
reflFactory
=
private
static
final
ReflectionFactory
reflFactory
=
AccessController
.
doPrivileged
(
AccessController
.
doPrivileged
(
...
@@ -1496,6 +1508,46 @@ public class ObjectStreamClass implements Serializable {
...
@@ -1496,6 +1508,46 @@ public class ObjectStreamClass implements Serializable {
}
}
}
}
/**
* Given a class, determines whether its superclass has
* any constructors that are accessible from the class.
* This is a special purpose method intended to do access
* checking for a serializable class and its superclasses
* up to, but not including, the first non-serializable
* superclass. This also implies that the superclass is
* always non-null, because a serializable class must be a
* class (not an interface) and Object is not serializable.
*
* @param cl the class from which access is checked
* @return whether the superclass has a constructor accessible from cl
*/
private
static
boolean
superHasAccessibleConstructor
(
Class
<?>
cl
)
{
Class
<?>
superCl
=
cl
.
getSuperclass
();
assert
Serializable
.
class
.
isAssignableFrom
(
cl
);
assert
superCl
!=
null
;
if
(
packageEquals
(
cl
,
superCl
))
{
// accessible if any non-private constructor is found
for
(
Constructor
<?>
ctor
:
superCl
.
getDeclaredConstructors
())
{
if
((
ctor
.
getModifiers
()
&
Modifier
.
PRIVATE
)
==
0
)
{
return
true
;
}
}
return
false
;
}
else
{
// sanity check to ensure the parent is protected or public
if
((
superCl
.
getModifiers
()
&
(
Modifier
.
PROTECTED
|
Modifier
.
PUBLIC
))
==
0
)
{
return
false
;
}
// accessible if any constructor is protected or public
for
(
Constructor
<?>
ctor
:
superCl
.
getDeclaredConstructors
())
{
if
((
ctor
.
getModifiers
()
&
(
Modifier
.
PROTECTED
|
Modifier
.
PUBLIC
))
!=
0
)
{
return
true
;
}
}
return
false
;
}
}
/**
/**
* Returns subclass-accessible no-arg constructor of first non-serializable
* Returns subclass-accessible no-arg constructor of first non-serializable
* superclass, or null if none found. Access checks are disabled on the
* superclass, or null if none found. Access checks are disabled on the
...
@@ -1504,7 +1556,9 @@ public class ObjectStreamClass implements Serializable {
...
@@ -1504,7 +1556,9 @@ public class ObjectStreamClass implements Serializable {
private
static
Constructor
<?>
getSerializableConstructor
(
Class
<?>
cl
)
{
private
static
Constructor
<?>
getSerializableConstructor
(
Class
<?>
cl
)
{
Class
<?>
initCl
=
cl
;
Class
<?>
initCl
=
cl
;
while
(
Serializable
.
class
.
isAssignableFrom
(
initCl
))
{
while
(
Serializable
.
class
.
isAssignableFrom
(
initCl
))
{
if
((
initCl
=
initCl
.
getSuperclass
())
==
null
)
{
Class
<?>
prev
=
initCl
;
if
((
initCl
=
initCl
.
getSuperclass
())
==
null
||
(!
disableSerialConstructorChecks
&&
!
superHasAccessibleConstructor
(
prev
)))
{
return
null
;
return
null
;
}
}
}
}
...
...
src/share/classes/java/util/regex/PatternSyntaxException.java
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 1999, 20
0
8, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 20
1
8, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -113,7 +113,7 @@ public class PatternSyntaxException
...
@@ -113,7 +113,7 @@ public class PatternSyntaxException
}
}
sb
.
append
(
nl
);
sb
.
append
(
nl
);
sb
.
append
(
pattern
);
sb
.
append
(
pattern
);
if
(
index
>=
0
)
{
if
(
index
>=
0
&&
pattern
!=
null
&&
index
<
pattern
.
length
()
)
{
sb
.
append
(
nl
);
sb
.
append
(
nl
);
for
(
int
i
=
0
;
i
<
index
;
i
++)
sb
.
append
(
' '
);
for
(
int
i
=
0
;
i
<
index
;
i
++)
sb
.
append
(
' '
);
sb
.
append
(
'^'
);
sb
.
append
(
'^'
);
...
...
src/share/classes/sun/rmi/server/resources/rmid_de.properties
浏览文件 @
45250f4b
#
#
#
#
# Copyright (c) 1998, 201
3
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1998, 201
8
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -43,7 +43,7 @@ rmid.syntax.log.missing=F\u00FCr Option -log ist ein Argument erforderlich
...
@@ -43,7 +43,7 @@ rmid.syntax.log.missing=F\u00FCr Option -log ist ein Argument erforderlich
rmid.syntax.log.required
=
Option -log ist erforderlich
rmid.syntax.log.required
=
Option -log ist erforderlich
# {0} = the (string) illegal argument in question
# {0} = the (string) illegal argument in question
rmid.syntax.illegal.option
=
Un
g
\u
00FClt
ige Option: {0}
rmid.syntax.illegal.option
=
Un
zul
\u
00E4ss
ige Option: {0}
# {0} = the (string) reason text that came with a thrown exception
# {0} = the (string) reason text that came with a thrown exception
# "Activation.main" should not be translated, because it's a codepoint
# "Activation.main" should not be translated, because it's a codepoint
...
...
src/share/classes/sun/security/ssl/SSLContextImpl.java
浏览文件 @
45250f4b
...
@@ -344,6 +344,13 @@ public abstract class SSLContextImpl extends SSLContextSpi {
...
@@ -344,6 +344,13 @@ public abstract class SSLContextImpl extends SSLContextSpi {
EnumSet
.
of
(
CryptoPrimitive
.
KEY_AGREEMENT
),
EnumSet
.
of
(
CryptoPrimitive
.
KEY_AGREEMENT
),
suite
.
name
,
null
))
{
suite
.
name
,
null
))
{
suites
.
add
(
suite
);
suites
.
add
(
suite
);
}
else
{
if
(
debug
!=
null
&&
Debug
.
isOn
(
"sslctx"
)
&&
Debug
.
isOn
(
"verbose"
))
{
System
.
out
.
println
(
"Ignoring disabled cipher suite: "
+
suite
.
name
);
}
}
}
}
else
if
(
debug
!=
null
&&
}
else
if
(
debug
!=
null
&&
Debug
.
isOn
(
"sslctx"
)
&&
Debug
.
isOn
(
"verbose"
))
{
Debug
.
isOn
(
"sslctx"
)
&&
Debug
.
isOn
(
"verbose"
))
{
...
...
src/share/classes/sun/security/tools/keytool/Resources_de.java
浏览文件 @
45250f4b
...
@@ -99,7 +99,7 @@ public class Resources_de extends java.util.ListResourceBundle {
...
@@ -99,7 +99,7 @@ public class Resources_de extends java.util.ListResourceBundle {
{
"destination.alias"
,
{
"destination.alias"
,
"Zielalias"
},
//-destalias
"Zielalias"
},
//-destalias
{
"destination.key.password"
,
{
"destination.key.password"
,
"Zielschl\u00FCssel
-K
ennwort"
},
//-destkeypass
"Zielschl\u00FCssel
k
ennwort"
},
//-destkeypass
{
"destination.keystore.name"
,
{
"destination.keystore.name"
,
"Ziel-Keystore-Name"
},
//-destkeystore
"Ziel-Keystore-Name"
},
//-destkeystore
{
"destination.keystore.password.protected"
,
{
"destination.keystore.password.protected"
,
...
@@ -147,7 +147,7 @@ public class Resources_de extends java.util.ListResourceBundle {
...
@@ -147,7 +147,7 @@ public class Resources_de extends java.util.ListResourceBundle {
{
"source.alias"
,
{
"source.alias"
,
"Quellalias"
},
//-srcalias
"Quellalias"
},
//-srcalias
{
"source.key.password"
,
{
"source.key.password"
,
"Quellschl\u00FCssel
-K
ennwort"
},
//-srckeypass
"Quellschl\u00FCssel
k
ennwort"
},
//-srckeypass
{
"source.keystore.name"
,
{
"source.keystore.name"
,
"Quell-Keystore-Name"
},
//-srckeystore
"Quell-Keystore-Name"
},
//-srckeystore
{
"source.keystore.password.protected"
,
{
"source.keystore.password.protected"
,
...
@@ -178,8 +178,8 @@ public class Resources_de extends java.util.ListResourceBundle {
...
@@ -178,8 +178,8 @@ public class Resources_de extends java.util.ListResourceBundle {
"Serielle ID des zu entziehenden Certs"
},
//-id
"Serielle ID des zu entziehenden Certs"
},
//-id
// keytool: Running part
// keytool: Running part
{
"keytool.error."
,
"Keytool-Fehler: "
},
{
"keytool.error."
,
"Keytool-Fehler: "
},
{
"Illegal.option."
,
"Un
g\u00FClt
ige Option: "
},
{
"Illegal.option."
,
"Un
zul\u00E4ss
ige Option: "
},
{
"Illegal.value."
,
"Un
g\u00FClt
iger Wert: "
},
{
"Illegal.value."
,
"Un
zul\u00E4ss
iger Wert: "
},
{
"Unknown.password.type."
,
"Unbekannter Kennworttyp: "
},
{
"Unknown.password.type."
,
"Unbekannter Kennworttyp: "
},
{
"Cannot.find.environment.variable."
,
{
"Cannot.find.environment.variable."
,
"Umgebungsvariable kann nicht gefunden werden: "
},
"Umgebungsvariable kann nicht gefunden werden: "
},
...
@@ -205,7 +205,7 @@ public class Resources_de extends java.util.ListResourceBundle {
...
@@ -205,7 +205,7 @@ public class Resources_de extends java.util.ListResourceBundle {
"Wenn der Keystore nicht kennwortgesch\u00FCtzt ist, d\u00FCrfen -storepass, -keypass und -new nicht angegeben werden"
},
"Wenn der Keystore nicht kennwortgesch\u00FCtzt ist, d\u00FCrfen -storepass, -keypass und -new nicht angegeben werden"
},
{
"if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified"
,
{
"if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified"
,
"Wenn der Quell-Keystore nicht kennwortgesch\u00FCtzt ist, d\u00FCrfen -srcstorepass und -srckeypass nicht angegeben werden"
},
"Wenn der Quell-Keystore nicht kennwortgesch\u00FCtzt ist, d\u00FCrfen -srcstorepass und -srckeypass nicht angegeben werden"
},
{
"Illegal.startdate.value"
,
"Un
g\u00FClt
iger Wert f\u00FCr Anfangsdatum"
},
{
"Illegal.startdate.value"
,
"Un
zul\u00E4ss
iger Wert f\u00FCr Anfangsdatum"
},
{
"Validity.must.be.greater.than.zero"
,
{
"Validity.must.be.greater.than.zero"
,
"G\u00FCltigkeit muss gr\u00F6\u00DFer als null sein"
},
"G\u00FCltigkeit muss gr\u00F6\u00DFer als null sein"
},
{
"provName.not.a.provider"
,
"{0} kein Provider"
},
{
"provName.not.a.provider"
,
"{0} kein Provider"
},
...
...
src/share/classes/sun/security/tools/policytool/Resources_de.java
浏览文件 @
45250f4b
...
@@ -39,8 +39,8 @@ public class Resources_de extends java.util.ListResourceBundle {
...
@@ -39,8 +39,8 @@ public class Resources_de extends java.util.ListResourceBundle {
{
"Warning.Class.not.found.class"
,
"Warnung: Klasse nicht gefunden: {0}"
},
{
"Warning.Class.not.found.class"
,
"Warnung: Klasse nicht gefunden: {0}"
},
{
"Warning.Invalid.argument.s.for.constructor.arg"
,
{
"Warning.Invalid.argument.s.for.constructor.arg"
,
"Warnung: Ung\u00FCltige(s) Argument(e) f\u00FCr Constructor: {0}"
},
"Warnung: Ung\u00FCltige(s) Argument(e) f\u00FCr Constructor: {0}"
},
{
"Illegal.Principal.Type.type"
,
"Un
g\u00FClt
iger Principal-Typ: {0}"
},
{
"Illegal.Principal.Type.type"
,
"Un
zul\u00E4ss
iger Principal-Typ: {0}"
},
{
"Illegal.option.option"
,
"Un
g\u00FClt
ige Option: {0}"
},
{
"Illegal.option.option"
,
"Un
zul\u00E4ss
ige Option: {0}"
},
{
"Usage.policytool.options."
,
"Verwendung: policytool [Optionen]"
},
{
"Usage.policytool.options."
,
"Verwendung: policytool [Optionen]"
},
{
".file.file.policy.file.location"
,
{
".file.file.policy.file.location"
,
" [-file <Datei>] Policy-Dateiverzeichnis"
},
" [-file <Datei>] Policy-Dateiverzeichnis"
},
...
...
src/share/classes/sun/security/util/AuthResources_sv.java
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 2000, 201
7
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -88,7 +88,7 @@ public class AuthResources_sv extends java.util.ListResourceBundle {
...
@@ -88,7 +88,7 @@ public class AuthResources_sv extends java.util.ListResourceBundle {
{
"Keystore.alias."
,
"Nyckellageralias: "
},
{
"Keystore.alias."
,
"Nyckellageralias: "
},
{
"Keystore.password."
,
"Nyckellagerl\u00F6senord: "
},
{
"Keystore.password."
,
"Nyckellagerl\u00F6senord: "
},
{
"Private.key.password.optional."
,
{
"Private.key.password.optional."
,
"L\u00F6senord f\u00F6r p
ersonlig
nyckel (valfritt): "
},
"L\u00F6senord f\u00F6r p
rivat
nyckel (valfritt): "
},
// com.sun.security.auth.module.Krb5LoginModule
// com.sun.security.auth.module.Krb5LoginModule
{
"Kerberos.username.defUsername."
,
{
"Kerberos.username.defUsername."
,
...
...
src/share/classes/sun/tools/jar/resources/jar_de.properties
浏览文件 @
45250f4b
#
#
# Copyright (c) 1999, 201
5
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1999, 201
8
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
#
#
error.cant.open
=
\u
00D6ffnen nicht m
\u
00F6glich: {0}
error.cant.open
=
\u
00D6ffnen nicht m
\u
00F6glich: {0}
error.illegal.option
=
Un
g
\u
00FClt
ige Option: {0}
error.illegal.option
=
Un
zul
\u
00E4ss
ige Option: {0}
error.bad.option
=
Eine der Optionen -{ctxu} muss angegeben werden.
error.bad.option
=
Eine der Optionen -{ctxu} muss angegeben werden.
error.bad.cflag
=
Kennzeichen "c" erfordert Angabe von Manifest oder Eingabedateien.
error.bad.cflag
=
Kennzeichen "c" erfordert Angabe von Manifest oder Eingabedateien.
error.bad.uflag
=
Kennzeichen "u" erfordert Angabe von Manifest, Kennzeichen "e" oder Eingabedateien.
error.bad.uflag
=
Kennzeichen "u" erfordert Angabe von Manifest, Kennzeichen "e" oder Eingabedateien.
...
...
src/share/native/common/jni_util.h
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 1997, 201
3
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -297,6 +297,22 @@ JNU_NotifyAll(JNIEnv *env, jobject object);
...
@@ -297,6 +297,22 @@ JNU_NotifyAll(JNIEnv *env, jobject object);
} \
} \
} while (0) \
} while (0) \
#define CHECK_NULL_THROW_NPE(env, x, msg) \
do { \
if ((x) == NULL) { \
JNU_ThrowNullPointerException((env), (msg));\
return; \
} \
} while(0) \
#define CHECK_NULL_THROW_NPE_RETURN(env, x, msg, z)\
do { \
if ((x) == NULL) { \
JNU_ThrowNullPointerException((env), (msg));\
return (z); \
} \
} while(0) \
#define CHECK_NULL_RETURN(x, y) \
#define CHECK_NULL_RETURN(x, y) \
do { \
do { \
if ((x) == NULL) { \
if ((x) == NULL) { \
...
...
src/share/native/java/net/net_util.c
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 1998, 201
3
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -168,32 +168,38 @@ int setInet6Address_ipaddress(JNIEnv *env, jobject iaObj, char *address) {
...
@@ -168,32 +168,38 @@ int setInet6Address_ipaddress(JNIEnv *env, jobject iaObj, char *address) {
void
setInetAddress_addr
(
JNIEnv
*
env
,
jobject
iaObj
,
int
address
)
{
void
setInetAddress_addr
(
JNIEnv
*
env
,
jobject
iaObj
,
int
address
)
{
jobject
holder
=
(
*
env
)
->
GetObjectField
(
env
,
iaObj
,
ia_holderID
);
jobject
holder
=
(
*
env
)
->
GetObjectField
(
env
,
iaObj
,
ia_holderID
);
CHECK_NULL_THROW_NPE
(
env
,
holder
,
"InetAddress holder is null"
);
(
*
env
)
->
SetIntField
(
env
,
holder
,
iac_addressID
,
address
);
(
*
env
)
->
SetIntField
(
env
,
holder
,
iac_addressID
,
address
);
}
}
void
setInetAddress_family
(
JNIEnv
*
env
,
jobject
iaObj
,
int
family
)
{
void
setInetAddress_family
(
JNIEnv
*
env
,
jobject
iaObj
,
int
family
)
{
jobject
holder
=
(
*
env
)
->
GetObjectField
(
env
,
iaObj
,
ia_holderID
);
jobject
holder
=
(
*
env
)
->
GetObjectField
(
env
,
iaObj
,
ia_holderID
);
CHECK_NULL_THROW_NPE
(
env
,
holder
,
"InetAddress holder is null"
);
(
*
env
)
->
SetIntField
(
env
,
holder
,
iac_familyID
,
family
);
(
*
env
)
->
SetIntField
(
env
,
holder
,
iac_familyID
,
family
);
}
}
void
setInetAddress_hostName
(
JNIEnv
*
env
,
jobject
iaObj
,
jobject
host
)
{
void
setInetAddress_hostName
(
JNIEnv
*
env
,
jobject
iaObj
,
jobject
host
)
{
jobject
holder
=
(
*
env
)
->
GetObjectField
(
env
,
iaObj
,
ia_holderID
);
jobject
holder
=
(
*
env
)
->
GetObjectField
(
env
,
iaObj
,
ia_holderID
);
CHECK_NULL_THROW_NPE
(
env
,
holder
,
"InetAddress holder is null"
);
(
*
env
)
->
SetObjectField
(
env
,
holder
,
iac_hostNameID
,
host
);
(
*
env
)
->
SetObjectField
(
env
,
holder
,
iac_hostNameID
,
host
);
(
*
env
)
->
SetObjectField
(
env
,
holder
,
iac_origHostNameID
,
host
);
(
*
env
)
->
SetObjectField
(
env
,
holder
,
iac_origHostNameID
,
host
);
}
}
int
getInetAddress_addr
(
JNIEnv
*
env
,
jobject
iaObj
)
{
int
getInetAddress_addr
(
JNIEnv
*
env
,
jobject
iaObj
)
{
jobject
holder
=
(
*
env
)
->
GetObjectField
(
env
,
iaObj
,
ia_holderID
);
jobject
holder
=
(
*
env
)
->
GetObjectField
(
env
,
iaObj
,
ia_holderID
);
CHECK_NULL_THROW_NPE_RETURN
(
env
,
holder
,
"InetAddress holder is null"
,
-
1
);
return
(
*
env
)
->
GetIntField
(
env
,
holder
,
iac_addressID
);
return
(
*
env
)
->
GetIntField
(
env
,
holder
,
iac_addressID
);
}
}
int
getInetAddress_family
(
JNIEnv
*
env
,
jobject
iaObj
)
{
int
getInetAddress_family
(
JNIEnv
*
env
,
jobject
iaObj
)
{
jobject
holder
=
(
*
env
)
->
GetObjectField
(
env
,
iaObj
,
ia_holderID
);
jobject
holder
=
(
*
env
)
->
GetObjectField
(
env
,
iaObj
,
ia_holderID
);
CHECK_NULL_THROW_NPE_RETURN
(
env
,
holder
,
"InetAddress holder is null"
,
-
1
);
return
(
*
env
)
->
GetIntField
(
env
,
holder
,
iac_familyID
);
return
(
*
env
)
->
GetIntField
(
env
,
holder
,
iac_familyID
);
}
}
jobject
getInetAddress_hostName
(
JNIEnv
*
env
,
jobject
iaObj
)
{
jobject
getInetAddress_hostName
(
JNIEnv
*
env
,
jobject
iaObj
)
{
jobject
holder
=
(
*
env
)
->
GetObjectField
(
env
,
iaObj
,
ia_holderID
);
jobject
holder
=
(
*
env
)
->
GetObjectField
(
env
,
iaObj
,
ia_holderID
);
CHECK_NULL_THROW_NPE_RETURN
(
env
,
holder
,
"InetAddress holder is null"
,
NULL
);
return
(
*
env
)
->
GetObjectField
(
env
,
holder
,
iac_hostNameID
);
return
(
*
env
)
->
GetObjectField
(
env
,
holder
,
iac_hostNameID
);
}
}
...
@@ -215,7 +221,9 @@ NET_SockaddrToInetAddress(JNIEnv *env, struct sockaddr *him, int *port) {
...
@@ -215,7 +221,9 @@ NET_SockaddrToInetAddress(JNIEnv *env, struct sockaddr *him, int *port) {
CHECK_NULL_RETURN
(
iaObj
,
NULL
);
CHECK_NULL_RETURN
(
iaObj
,
NULL
);
address
=
NET_IPv4MappedToIPv4
(
caddr
);
address
=
NET_IPv4MappedToIPv4
(
caddr
);
setInetAddress_addr
(
env
,
iaObj
,
address
);
setInetAddress_addr
(
env
,
iaObj
,
address
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
NULL
);
setInetAddress_family
(
env
,
iaObj
,
IPv4
);
setInetAddress_family
(
env
,
iaObj
,
IPv4
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
NULL
);
}
else
{
}
else
{
jint
scope
;
jint
scope
;
int
ret
;
int
ret
;
...
@@ -224,6 +232,7 @@ NET_SockaddrToInetAddress(JNIEnv *env, struct sockaddr *him, int *port) {
...
@@ -224,6 +232,7 @@ NET_SockaddrToInetAddress(JNIEnv *env, struct sockaddr *him, int *port) {
ret
=
setInet6Address_ipaddress
(
env
,
iaObj
,
(
char
*
)
&
(
him6
->
sin6_addr
));
ret
=
setInet6Address_ipaddress
(
env
,
iaObj
,
(
char
*
)
&
(
him6
->
sin6_addr
));
CHECK_NULL_RETURN
(
ret
,
NULL
);
CHECK_NULL_RETURN
(
ret
,
NULL
);
setInetAddress_family
(
env
,
iaObj
,
IPv6
);
setInetAddress_family
(
env
,
iaObj
,
IPv6
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
NULL
);
scope
=
getScopeID
(
him
);
scope
=
getScopeID
(
him
);
setInet6Address_scopeid
(
env
,
iaObj
,
scope
);
setInet6Address_scopeid
(
env
,
iaObj
,
scope
);
}
}
...
@@ -235,7 +244,9 @@ NET_SockaddrToInetAddress(JNIEnv *env, struct sockaddr *him, int *port) {
...
@@ -235,7 +244,9 @@ NET_SockaddrToInetAddress(JNIEnv *env, struct sockaddr *him, int *port) {
iaObj
=
(
*
env
)
->
NewObject
(
env
,
ia4_class
,
ia4_ctrID
);
iaObj
=
(
*
env
)
->
NewObject
(
env
,
ia4_class
,
ia4_ctrID
);
CHECK_NULL_RETURN
(
iaObj
,
NULL
);
CHECK_NULL_RETURN
(
iaObj
,
NULL
);
setInetAddress_family
(
env
,
iaObj
,
IPv4
);
setInetAddress_family
(
env
,
iaObj
,
IPv4
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
NULL
);
setInetAddress_addr
(
env
,
iaObj
,
ntohl
(
him4
->
sin_addr
.
s_addr
));
setInetAddress_addr
(
env
,
iaObj
,
ntohl
(
him4
->
sin_addr
.
s_addr
));
JNU_CHECK_EXCEPTION_RETURN
(
env
,
NULL
);
*
port
=
ntohs
(
him4
->
sin_port
);
*
port
=
ntohs
(
him4
->
sin_port
);
}
}
return
iaObj
;
return
iaObj
;
...
@@ -248,6 +259,7 @@ NET_SockaddrEqualsInetAddress(JNIEnv *env, struct sockaddr *him, jobject iaObj)
...
@@ -248,6 +259,7 @@ NET_SockaddrEqualsInetAddress(JNIEnv *env, struct sockaddr *him, jobject iaObj)
#ifdef AF_INET6
#ifdef AF_INET6
family
=
getInetAddress_family
(
env
,
iaObj
)
==
IPv4
?
AF_INET
:
AF_INET6
;
family
=
getInetAddress_family
(
env
,
iaObj
)
==
IPv4
?
AF_INET
:
AF_INET6
;
JNU_CHECK_EXCEPTION_RETURN
(
env
,
JNI_FALSE
);
if
(
him
->
sa_family
==
AF_INET6
)
{
if
(
him
->
sa_family
==
AF_INET6
)
{
#ifdef WIN32
#ifdef WIN32
struct
SOCKADDR_IN6
*
him6
=
(
struct
SOCKADDR_IN6
*
)
him
;
struct
SOCKADDR_IN6
*
him6
=
(
struct
SOCKADDR_IN6
*
)
him
;
...
@@ -263,6 +275,7 @@ NET_SockaddrEqualsInetAddress(JNIEnv *env, struct sockaddr *him, jobject iaObj)
...
@@ -263,6 +275,7 @@ NET_SockaddrEqualsInetAddress(JNIEnv *env, struct sockaddr *him, jobject iaObj)
}
}
addrNew
=
NET_IPv4MappedToIPv4
(
caddrNew
);
addrNew
=
NET_IPv4MappedToIPv4
(
caddrNew
);
addrCur
=
getInetAddress_addr
(
env
,
iaObj
);
addrCur
=
getInetAddress_addr
(
env
,
iaObj
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
JNI_FALSE
);
if
(
addrNew
==
addrCur
)
{
if
(
addrNew
==
addrCur
)
{
return
JNI_TRUE
;
return
JNI_TRUE
;
}
else
{
}
else
{
...
@@ -294,6 +307,7 @@ NET_SockaddrEqualsInetAddress(JNIEnv *env, struct sockaddr *him, jobject iaObj)
...
@@ -294,6 +307,7 @@ NET_SockaddrEqualsInetAddress(JNIEnv *env, struct sockaddr *him, jobject iaObj)
}
}
addrNew
=
ntohl
(
him4
->
sin_addr
.
s_addr
);
addrNew
=
ntohl
(
him4
->
sin_addr
.
s_addr
);
addrCur
=
getInetAddress_addr
(
env
,
iaObj
);
addrCur
=
getInetAddress_addr
(
env
,
iaObj
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
JNI_FALSE
);
if
(
addrNew
==
addrCur
)
{
if
(
addrNew
==
addrCur
)
{
return
JNI_TRUE
;
return
JNI_TRUE
;
}
else
{
}
else
{
...
...
src/solaris/native/java/net/Inet4AddressImpl.c
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 2000, 201
3
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -234,7 +234,11 @@ Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
...
@@ -234,7 +234,11 @@ Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
goto
cleanupAndReturn
;
goto
cleanupAndReturn
;
}
}
setInetAddress_addr
(
env
,
iaObj
,
ntohl
(((
struct
sockaddr_in
*
)(
iterator
->
ai_addr
))
->
sin_addr
.
s_addr
));
setInetAddress_addr
(
env
,
iaObj
,
ntohl
(((
struct
sockaddr_in
*
)(
iterator
->
ai_addr
))
->
sin_addr
.
s_addr
));
if
((
*
env
)
->
ExceptionCheck
(
env
))
goto
cleanupAndReturn
;
setInetAddress_hostName
(
env
,
iaObj
,
name
);
setInetAddress_hostName
(
env
,
iaObj
,
name
);
if
((
*
env
)
->
ExceptionCheck
(
env
))
goto
cleanupAndReturn
;
(
*
env
)
->
SetObjectArrayElement
(
env
,
ret
,
retLen
-
i
-
1
,
iaObj
);
(
*
env
)
->
SetObjectArrayElement
(
env
,
ret
,
retLen
-
i
-
1
,
iaObj
);
i
++
;
i
++
;
iterator
=
iterator
->
ai_next
;
iterator
=
iterator
->
ai_next
;
...
@@ -477,7 +481,11 @@ Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
...
@@ -477,7 +481,11 @@ Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
goto
cleanupAndReturn
;
goto
cleanupAndReturn
;
}
}
setInetAddress_addr
(
env
,
iaObj
,
ntohl
(((
struct
sockaddr_in
*
)
iterator
->
ai_addr
)
->
sin_addr
.
s_addr
));
setInetAddress_addr
(
env
,
iaObj
,
ntohl
(((
struct
sockaddr_in
*
)
iterator
->
ai_addr
)
->
sin_addr
.
s_addr
));
if
((
*
env
)
->
ExceptionCheck
(
env
))
goto
cleanupAndReturn
;
setInetAddress_hostName
(
env
,
iaObj
,
host
);
setInetAddress_hostName
(
env
,
iaObj
,
host
);
if
((
*
env
)
->
ExceptionCheck
(
env
))
goto
cleanupAndReturn
;
(
*
env
)
->
SetObjectArrayElement
(
env
,
ret
,
i
++
,
iaObj
);
(
*
env
)
->
SetObjectArrayElement
(
env
,
ret
,
i
++
,
iaObj
);
iterator
=
iterator
->
ai_next
;
iterator
=
iterator
->
ai_next
;
}
}
...
...
src/solaris/native/java/net/Inet6AddressImpl.c
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 2000, 201
6
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -208,6 +208,8 @@ lookupIfLocalhost(JNIEnv *env, const char *hostname, jboolean includeV6)
...
@@ -208,6 +208,8 @@ lookupIfLocalhost(JNIEnv *env, const char *hostname, jboolean includeV6)
return
NULL
;
return
NULL
;
}
}
setInetAddress_hostName
(
env
,
o
,
name
);
setInetAddress_hostName
(
env
,
o
,
name
);
if
((
*
env
)
->
ExceptionCheck
(
env
))
goto
done
;
(
*
env
)
->
SetObjectArrayElement
(
env
,
result
,
index
,
o
);
(
*
env
)
->
SetObjectArrayElement
(
env
,
result
,
index
,
o
);
(
*
env
)
->
DeleteLocalRef
(
env
,
o
);
(
*
env
)
->
DeleteLocalRef
(
env
,
o
);
}
}
...
@@ -398,7 +400,11 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
...
@@ -398,7 +400,11 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
goto
cleanupAndReturn
;
goto
cleanupAndReturn
;
}
}
setInetAddress_addr
(
env
,
iaObj
,
ntohl
(((
struct
sockaddr_in
*
)
iterator
->
ai_addr
)
->
sin_addr
.
s_addr
));
setInetAddress_addr
(
env
,
iaObj
,
ntohl
(((
struct
sockaddr_in
*
)
iterator
->
ai_addr
)
->
sin_addr
.
s_addr
));
if
((
*
env
)
->
ExceptionCheck
(
env
))
goto
cleanupAndReturn
;
setInetAddress_hostName
(
env
,
iaObj
,
host
);
setInetAddress_hostName
(
env
,
iaObj
,
host
);
if
((
*
env
)
->
ExceptionCheck
(
env
))
goto
cleanupAndReturn
;
(
*
env
)
->
SetObjectArrayElement
(
env
,
ret
,
inetIndex
,
iaObj
);
(
*
env
)
->
SetObjectArrayElement
(
env
,
ret
,
inetIndex
,
iaObj
);
inetIndex
++
;
inetIndex
++
;
}
else
if
(
iterator
->
ai_family
==
AF_INET6
)
{
}
else
if
(
iterator
->
ai_family
==
AF_INET6
)
{
...
@@ -420,6 +426,8 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
...
@@ -420,6 +426,8 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
setInet6Address_scopeid
(
env
,
iaObj
,
scope
);
setInet6Address_scopeid
(
env
,
iaObj
,
scope
);
}
}
setInetAddress_hostName
(
env
,
iaObj
,
host
);
setInetAddress_hostName
(
env
,
iaObj
,
host
);
if
((
*
env
)
->
ExceptionCheck
(
env
))
goto
cleanupAndReturn
;
(
*
env
)
->
SetObjectArrayElement
(
env
,
ret
,
inet6Index
,
iaObj
);
(
*
env
)
->
SetObjectArrayElement
(
env
,
ret
,
inet6Index
,
iaObj
);
inet6Index
++
;
inet6Index
++
;
}
}
...
...
src/solaris/native/java/net/NetworkInterface.c
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 2000, 201
6
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -332,14 +332,14 @@ JNIEXPORT jobject JNICALL Java_java_net_NetworkInterface_getByInetAddress0
...
@@ -332,14 +332,14 @@ JNIEXPORT jobject JNICALL Java_java_net_NetworkInterface_getByInetAddress0
(
JNIEnv
*
env
,
jclass
cls
,
jobject
iaObj
)
(
JNIEnv
*
env
,
jclass
cls
,
jobject
iaObj
)
{
{
netif
*
ifs
,
*
curr
;
netif
*
ifs
,
*
curr
;
jobject
obj
=
NULL
;
jboolean
match
=
JNI_FALSE
;
#if defined(AF_INET6)
#if defined(AF_INET6)
int
family
=
(
getInetAddress_family
(
env
,
iaObj
)
==
IPv4
)
?
AF_INET
:
AF_INET6
;
int
family
=
(
getInetAddress_family
(
env
,
iaObj
)
==
IPv4
)
?
AF_INET
:
AF_INET6
;
JNU_CHECK_EXCEPTION_RETURN
(
env
,
NULL
);
#else
#else
int
family
=
AF_INET
;
int
family
=
AF_INET
;
#endif
#endif
jobject
obj
=
NULL
;
jboolean
match
=
JNI_FALSE
;
ifs
=
enumInterfaces
(
env
);
ifs
=
enumInterfaces
(
env
);
if
(
ifs
==
NULL
)
{
if
(
ifs
==
NULL
)
{
return
NULL
;
return
NULL
;
...
@@ -357,7 +357,7 @@ JNIEXPORT jobject JNICALL Java_java_net_NetworkInterface_getByInetAddress0
...
@@ -357,7 +357,7 @@ JNIEXPORT jobject JNICALL Java_java_net_NetworkInterface_getByInetAddress0
int
address1
=
htonl
(
int
address1
=
htonl
(
((
struct
sockaddr_in
*
)
addrP
->
addr
)
->
sin_addr
.
s_addr
);
((
struct
sockaddr_in
*
)
addrP
->
addr
)
->
sin_addr
.
s_addr
);
int
address2
=
getInetAddress_addr
(
env
,
iaObj
);
int
address2
=
getInetAddress_addr
(
env
,
iaObj
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
NULL
);
if
(
address1
==
address2
)
{
if
(
address1
==
address2
)
{
match
=
JNI_TRUE
;
match
=
JNI_TRUE
;
break
;
break
;
...
@@ -703,6 +703,7 @@ static jobject createNetworkInterface(JNIEnv *env, netif *ifs) {
...
@@ -703,6 +703,7 @@ static jobject createNetworkInterface(JNIEnv *env, netif *ifs) {
if
(
iaObj
)
{
if
(
iaObj
)
{
setInetAddress_addr
(
env
,
iaObj
,
htonl
(
setInetAddress_addr
(
env
,
iaObj
,
htonl
(
((
struct
sockaddr_in
*
)
addrP
->
addr
)
->
sin_addr
.
s_addr
));
((
struct
sockaddr_in
*
)
addrP
->
addr
)
->
sin_addr
.
s_addr
));
JNU_CHECK_EXCEPTION_RETURN
(
env
,
NULL
);
}
else
{
}
else
{
return
NULL
;
return
NULL
;
}
}
...
@@ -715,6 +716,7 @@ static jobject createNetworkInterface(JNIEnv *env, netif *ifs) {
...
@@ -715,6 +716,7 @@ static jobject createNetworkInterface(JNIEnv *env, netif *ifs) {
if
(
ia2Obj
)
{
if
(
ia2Obj
)
{
setInetAddress_addr
(
env
,
ia2Obj
,
htonl
(
setInetAddress_addr
(
env
,
ia2Obj
,
htonl
(
((
struct
sockaddr_in
*
)
addrP
->
brdcast
)
->
sin_addr
.
s_addr
));
((
struct
sockaddr_in
*
)
addrP
->
brdcast
)
->
sin_addr
.
s_addr
));
JNU_CHECK_EXCEPTION_RETURN
(
env
,
NULL
);
(
*
env
)
->
SetObjectField
(
env
,
ibObj
,
ni_ib4broadcastID
,
ia2Obj
);
(
*
env
)
->
SetObjectField
(
env
,
ibObj
,
ni_ib4broadcastID
,
ia2Obj
);
}
else
{
}
else
{
return
NULL
;
return
NULL
;
...
...
src/solaris/native/java/net/PlainDatagramSocketImpl.c
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 1997, 201
5
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -569,12 +569,15 @@ Java_java_net_PlainDatagramSocketImpl_peek(JNIEnv *env, jobject this,
...
@@ -569,12 +569,15 @@ Java_java_net_PlainDatagramSocketImpl_peek(JNIEnv *env, jobject this,
iaObj
=
NET_SockaddrToInetAddress
(
env
,
(
struct
sockaddr
*
)
&
remote_addr
,
&
port
);
iaObj
=
NET_SockaddrToInetAddress
(
env
,
(
struct
sockaddr
*
)
&
remote_addr
,
&
port
);
#ifdef AF_INET6
#ifdef AF_INET6
family
=
getInetAddress_family
(
env
,
iaObj
)
==
IPv4
?
AF_INET
:
AF_INET6
;
family
=
getInetAddress_family
(
env
,
iaObj
)
==
IPv4
?
AF_INET
:
AF_INET6
;
JNU_CHECK_EXCEPTION_RETURN
(
env
,
-
1
);
#else
#else
family
=
AF_INET
;
family
=
AF_INET
;
#endif
#endif
if
(
family
==
AF_INET
)
{
/* this API can't handle IPV6 addresses */
if
(
family
==
AF_INET
)
{
/* this API can't handle IPV6 addresses */
int
address
=
getInetAddress_addr
(
env
,
iaObj
);
int
address
=
getInetAddress_addr
(
env
,
iaObj
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
-
1
);
setInetAddress_addr
(
env
,
addressObj
,
address
);
setInetAddress_addr
(
env
,
addressObj
,
address
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
-
1
);
}
}
return
port
;
return
port
;
}
}
...
@@ -1078,6 +1081,7 @@ static void mcast_set_if_by_if_v4(JNIEnv *env, jobject this, int fd, jobject val
...
@@ -1078,6 +1081,7 @@ static void mcast_set_if_by_if_v4(JNIEnv *env, jobject this, int fd, jobject val
struct
in_addr
in
;
struct
in_addr
in
;
jobjectArray
addrArray
;
jobjectArray
addrArray
;
jsize
len
;
jsize
len
;
jint
family
;
jobject
addr
;
jobject
addr
;
int
i
;
int
i
;
...
@@ -1107,8 +1111,12 @@ static void mcast_set_if_by_if_v4(JNIEnv *env, jobject this, int fd, jobject val
...
@@ -1107,8 +1111,12 @@ static void mcast_set_if_by_if_v4(JNIEnv *env, jobject this, int fd, jobject val
*/
*/
for
(
i
=
0
;
i
<
len
;
i
++
)
{
for
(
i
=
0
;
i
<
len
;
i
++
)
{
addr
=
(
*
env
)
->
GetObjectArrayElement
(
env
,
addrArray
,
i
);
addr
=
(
*
env
)
->
GetObjectArrayElement
(
env
,
addrArray
,
i
);
if
(
getInetAddress_family
(
env
,
addr
)
==
IPv4
)
{
family
=
getInetAddress_family
(
env
,
addr
);
JNU_CHECK_EXCEPTION
(
env
);
if
(
family
==
IPv4
)
{
JNU_CHECK_EXCEPTION
(
env
);
in
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
addr
));
in
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
addr
));
JNU_CHECK_EXCEPTION
(
env
);
break
;
break
;
}
}
}
}
...
@@ -1162,6 +1170,7 @@ static void mcast_set_if_by_addr_v4(JNIEnv *env, jobject this, int fd, jobject v
...
@@ -1162,6 +1170,7 @@ static void mcast_set_if_by_addr_v4(JNIEnv *env, jobject this, int fd, jobject v
in
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
value
)
);
in
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
value
)
);
JNU_CHECK_EXCEPTION
(
env
);
if
(
JVM_SetSockOpt
(
fd
,
IPPROTO_IP
,
IP_MULTICAST_IF
,
if
(
JVM_SetSockOpt
(
fd
,
IPPROTO_IP
,
IP_MULTICAST_IF
,
(
const
char
*
)
&
in
,
sizeof
(
in
))
<
0
)
{
(
const
char
*
)
&
in
,
sizeof
(
in
))
<
0
)
{
NET_ThrowByNameWithLastError
(
env
,
JNU_JAVANETPKG
"SocketException"
,
NET_ThrowByNameWithLastError
(
env
,
JNU_JAVANETPKG
"SocketException"
,
...
@@ -1528,6 +1537,7 @@ jobject getMulticastInterface(JNIEnv *env, jobject this, int fd, jint opt) {
...
@@ -1528,6 +1537,7 @@ jobject getMulticastInterface(JNIEnv *env, jobject this, int fd, jint opt) {
CHECK_NULL_RETURN
(
addr
,
NULL
);
CHECK_NULL_RETURN
(
addr
,
NULL
);
setInetAddress_addr
(
env
,
addr
,
ntohl
(
in
.
s_addr
));
setInetAddress_addr
(
env
,
addr
,
ntohl
(
in
.
s_addr
));
JNU_CHECK_EXCEPTION_RETURN
(
env
,
NULL
);
/*
/*
* For IP_MULTICAST_IF return InetAddress
* For IP_MULTICAST_IF return InetAddress
...
@@ -1968,6 +1978,7 @@ static void mcast_join_leave(JNIEnv *env, jobject this,
...
@@ -1968,6 +1978,7 @@ static void mcast_join_leave(JNIEnv *env, jobject this,
jobject
fdObj
=
(
*
env
)
->
GetObjectField
(
env
,
this
,
pdsi_fdID
);
jobject
fdObj
=
(
*
env
)
->
GetObjectField
(
env
,
this
,
pdsi_fdID
);
jint
fd
;
jint
fd
;
jint
family
;
jint
ipv6_join_leave
;
jint
ipv6_join_leave
;
if
(
IS_NULL
(
fdObj
))
{
if
(
IS_NULL
(
fdObj
))
{
...
@@ -1989,7 +2000,10 @@ static void mcast_join_leave(JNIEnv *env, jobject this,
...
@@ -1989,7 +2000,10 @@ static void mcast_join_leave(JNIEnv *env, jobject this,
ipv6_join_leave
=
ipv6_available
();
ipv6_join_leave
=
ipv6_available
();
#ifdef __linux__
#ifdef __linux__
if
(
getInetAddress_family
(
env
,
iaObj
)
==
IPv4
)
{
family
=
getInetAddress_family
(
env
,
iaObj
);
JNU_CHECK_EXCEPTION
(
env
);
if
(
family
==
IPv4
)
{
JNU_CHECK_EXCEPTION
(
env
);
ipv6_join_leave
=
JNI_FALSE
;
ipv6_join_leave
=
JNI_FALSE
;
}
}
#endif
#endif
...
@@ -2037,6 +2051,7 @@ static void mcast_join_leave(JNIEnv *env, jobject this,
...
@@ -2037,6 +2051,7 @@ static void mcast_join_leave(JNIEnv *env, jobject this,
}
}
mname
.
imr_multiaddr
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
iaObj
));
mname
.
imr_multiaddr
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
iaObj
));
JNU_CHECK_EXCEPTION
(
env
);
mname
.
imr_address
.
s_addr
=
0
;
mname
.
imr_address
.
s_addr
=
0
;
mname
.
imr_ifindex
=
(
*
env
)
->
GetIntField
(
env
,
niObj
,
ni_indexID
);
mname
.
imr_ifindex
=
(
*
env
)
->
GetIntField
(
env
,
niObj
,
ni_indexID
);
mname_len
=
sizeof
(
struct
ip_mreqn
);
mname_len
=
sizeof
(
struct
ip_mreqn
);
...
@@ -2055,10 +2070,13 @@ static void mcast_join_leave(JNIEnv *env, jobject this,
...
@@ -2055,10 +2070,13 @@ static void mcast_join_leave(JNIEnv *env, jobject this,
addr
=
(
*
env
)
->
GetObjectArrayElement
(
env
,
addrArray
,
0
);
addr
=
(
*
env
)
->
GetObjectArrayElement
(
env
,
addrArray
,
0
);
mname
.
imr_multiaddr
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
iaObj
));
mname
.
imr_multiaddr
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
iaObj
));
JNU_CHECK_EXCEPTION
(
env
);
#ifdef __linux__
#ifdef __linux__
mname
.
imr_address
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
addr
));
mname
.
imr_address
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
addr
));
JNU_CHECK_EXCEPTION
(
env
);
#else
#else
mname
.
imr_interface
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
addr
));
mname
.
imr_interface
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
addr
));
JNU_CHECK_EXCEPTION
(
env
);
#endif
#endif
mname_len
=
sizeof
(
struct
ip_mreq
);
mname_len
=
sizeof
(
struct
ip_mreq
);
}
}
...
@@ -2094,6 +2112,7 @@ static void mcast_join_leave(JNIEnv *env, jobject this,
...
@@ -2094,6 +2112,7 @@ static void mcast_join_leave(JNIEnv *env, jobject this,
}
}
mname
.
imr_multiaddr
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
iaObj
));
mname
.
imr_multiaddr
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
iaObj
));
JNU_CHECK_EXCEPTION
(
env
);
mname
.
imr_address
.
s_addr
=
0
;
mname
.
imr_address
.
s_addr
=
0
;
mname
.
imr_ifindex
=
index
;
mname
.
imr_ifindex
=
index
;
mname_len
=
sizeof
(
struct
ip_mreqn
);
mname_len
=
sizeof
(
struct
ip_mreqn
);
...
@@ -2116,6 +2135,7 @@ static void mcast_join_leave(JNIEnv *env, jobject this,
...
@@ -2116,6 +2135,7 @@ static void mcast_join_leave(JNIEnv *env, jobject this,
mname
.
imr_interface
.
s_addr
=
in
.
s_addr
;
mname
.
imr_interface
.
s_addr
=
in
.
s_addr
;
#endif
#endif
mname
.
imr_multiaddr
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
iaObj
));
mname
.
imr_multiaddr
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
iaObj
));
JNU_CHECK_EXCEPTION
(
env
);
mname_len
=
sizeof
(
struct
ip_mreq
);
mname_len
=
sizeof
(
struct
ip_mreq
);
}
}
}
}
...
@@ -2181,10 +2201,12 @@ static void mcast_join_leave(JNIEnv *env, jobject this,
...
@@ -2181,10 +2201,12 @@ static void mcast_join_leave(JNIEnv *env, jobject this,
jint
family
;
jint
family
;
jint
address
;
jint
address
;
family
=
getInetAddress_family
(
env
,
iaObj
)
==
IPv4
?
AF_INET
:
AF_INET6
;
family
=
getInetAddress_family
(
env
,
iaObj
)
==
IPv4
?
AF_INET
:
AF_INET6
;
JNU_CHECK_EXCEPTION
(
env
);
if
(
family
==
AF_INET
)
{
/* will convert to IPv4-mapped address */
if
(
family
==
AF_INET
)
{
/* will convert to IPv4-mapped address */
memset
((
char
*
)
caddr
,
0
,
16
);
memset
((
char
*
)
caddr
,
0
,
16
);
address
=
getInetAddress_addr
(
env
,
iaObj
);
address
=
getInetAddress_addr
(
env
,
iaObj
);
JNU_CHECK_EXCEPTION
(
env
);
caddr
[
10
]
=
0xff
;
caddr
[
10
]
=
0xff
;
caddr
[
11
]
=
0xff
;
caddr
[
11
]
=
0xff
;
...
...
src/solaris/native/java/net/net_util_md.c
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 1997, 201
6
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -786,6 +786,7 @@ NET_InetAddressToSockaddr(JNIEnv *env, jobject iaObj, int port, struct sockaddr
...
@@ -786,6 +786,7 @@ NET_InetAddressToSockaddr(JNIEnv *env, jobject iaObj, int port, struct sockaddr
int
*
len
,
jboolean
v4MappedAddress
)
{
int
*
len
,
jboolean
v4MappedAddress
)
{
jint
family
;
jint
family
;
family
=
getInetAddress_family
(
env
,
iaObj
);
family
=
getInetAddress_family
(
env
,
iaObj
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
-
1
);
#ifdef AF_INET6
#ifdef AF_INET6
/* needs work. 1. family 2. clean up him6 etc deallocate memory */
/* needs work. 1. family 2. clean up him6 etc deallocate memory */
if
(
ipv6_available
()
&&
!
(
family
==
IPv4
&&
v4MappedAddress
==
JNI_FALSE
))
{
if
(
ipv6_available
()
&&
!
(
family
==
IPv4
&&
v4MappedAddress
==
JNI_FALSE
))
{
...
@@ -797,6 +798,7 @@ NET_InetAddressToSockaddr(JNIEnv *env, jobject iaObj, int port, struct sockaddr
...
@@ -797,6 +798,7 @@ NET_InetAddressToSockaddr(JNIEnv *env, jobject iaObj, int port, struct sockaddr
if
(
family
==
IPv4
)
{
/* will convert to IPv4-mapped address */
if
(
family
==
IPv4
)
{
/* will convert to IPv4-mapped address */
memset
((
char
*
)
caddr
,
0
,
16
);
memset
((
char
*
)
caddr
,
0
,
16
);
address
=
getInetAddress_addr
(
env
,
iaObj
);
address
=
getInetAddress_addr
(
env
,
iaObj
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
-
1
);
if
(
address
==
INADDR_ANY
)
{
if
(
address
==
INADDR_ANY
)
{
/* we would always prefer IPv6 wildcard address
/* we would always prefer IPv6 wildcard address
caddr[10] = 0xff;
caddr[10] = 0xff;
...
@@ -905,6 +907,7 @@ NET_InetAddressToSockaddr(JNIEnv *env, jobject iaObj, int port, struct sockaddr
...
@@ -905,6 +907,7 @@ NET_InetAddressToSockaddr(JNIEnv *env, jobject iaObj, int port, struct sockaddr
}
}
memset
((
char
*
)
him4
,
0
,
sizeof
(
struct
sockaddr_in
));
memset
((
char
*
)
him4
,
0
,
sizeof
(
struct
sockaddr_in
));
address
=
getInetAddress_addr
(
env
,
iaObj
);
address
=
getInetAddress_addr
(
env
,
iaObj
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
-
1
);
him4
->
sin_port
=
htons
((
short
)
port
);
him4
->
sin_port
=
htons
((
short
)
port
);
him4
->
sin_addr
.
s_addr
=
(
uint32_t
)
htonl
(
address
);
him4
->
sin_addr
.
s_addr
=
(
uint32_t
)
htonl
(
address
);
him4
->
sin_family
=
AF_INET
;
him4
->
sin_family
=
AF_INET
;
...
...
src/windows/native/java/net/Inet4AddressImpl.c
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 2000, 201
3
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -195,6 +195,8 @@ Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
...
@@ -195,6 +195,8 @@ Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
goto
cleanupAndReturn
;
goto
cleanupAndReturn
;
}
}
setInetAddress_addr
(
env
,
iaObj
,
ntohl
(
address
));
setInetAddress_addr
(
env
,
iaObj
,
ntohl
(
address
));
if
((
*
env
)
->
ExceptionCheck
(
env
))
goto
cleanupAndReturn
;
(
*
env
)
->
SetObjectArrayElement
(
env
,
ret
,
0
,
iaObj
);
(
*
env
)
->
SetObjectArrayElement
(
env
,
ret
,
0
,
iaObj
);
JNU_ReleaseStringPlatformChars
(
env
,
host
,
hostname
);
JNU_ReleaseStringPlatformChars
(
env
,
host
,
hostname
);
return
ret
;
return
ret
;
...
@@ -228,7 +230,11 @@ Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
...
@@ -228,7 +230,11 @@ Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
goto
cleanupAndReturn
;
goto
cleanupAndReturn
;
}
}
setInetAddress_addr
(
env
,
iaObj
,
ntohl
((
*
addrp
)
->
s_addr
));
setInetAddress_addr
(
env
,
iaObj
,
ntohl
((
*
addrp
)
->
s_addr
));
if
((
*
env
)
->
ExceptionCheck
(
env
))
goto
cleanupAndReturn
;
setInetAddress_hostName
(
env
,
iaObj
,
host
);
setInetAddress_hostName
(
env
,
iaObj
,
host
);
if
((
*
env
)
->
ExceptionCheck
(
env
))
goto
cleanupAndReturn
;
(
*
env
)
->
SetObjectArrayElement
(
env
,
ret
,
i
,
iaObj
);
(
*
env
)
->
SetObjectArrayElement
(
env
,
ret
,
i
,
iaObj
);
addrp
++
;
addrp
++
;
i
++
;
i
++
;
...
...
src/windows/native/java/net/Inet6AddressImpl.c
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 2000, 201
3
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -219,7 +219,11 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
...
@@ -219,7 +219,11 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
goto
cleanupAndReturn
;
goto
cleanupAndReturn
;
}
}
setInetAddress_addr
(
env
,
iaObj
,
ntohl
(((
struct
sockaddr_in
*
)
iterator
->
ai_addr
)
->
sin_addr
.
s_addr
));
setInetAddress_addr
(
env
,
iaObj
,
ntohl
(((
struct
sockaddr_in
*
)
iterator
->
ai_addr
)
->
sin_addr
.
s_addr
));
if
((
*
env
)
->
ExceptionCheck
(
env
))
goto
cleanupAndReturn
;
setInetAddress_hostName
(
env
,
iaObj
,
host
);
setInetAddress_hostName
(
env
,
iaObj
,
host
);
if
((
*
env
)
->
ExceptionCheck
(
env
))
goto
cleanupAndReturn
;
(
*
env
)
->
SetObjectArrayElement
(
env
,
ret
,
inetIndex
,
iaObj
);
(
*
env
)
->
SetObjectArrayElement
(
env
,
ret
,
inetIndex
,
iaObj
);
inetIndex
++
;
inetIndex
++
;
}
else
if
(
iterator
->
ai_family
==
AF_INET6
)
{
}
else
if
(
iterator
->
ai_family
==
AF_INET6
)
{
...
@@ -240,6 +244,8 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
...
@@ -240,6 +244,8 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
setInet6Address_scopeid
(
env
,
iaObj
,
scope
);
setInet6Address_scopeid
(
env
,
iaObj
,
scope
);
}
}
setInetAddress_hostName
(
env
,
iaObj
,
host
);
setInetAddress_hostName
(
env
,
iaObj
,
host
);
if
((
*
env
)
->
ExceptionCheck
(
env
))
goto
cleanupAndReturn
;
(
*
env
)
->
SetObjectArrayElement
(
env
,
ret
,
inet6Index
,
iaObj
);
(
*
env
)
->
SetObjectArrayElement
(
env
,
ret
,
inet6Index
,
iaObj
);
inet6Index
++
;
inet6Index
++
;
}
}
...
...
src/windows/native/java/net/NetworkInterface.c
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 2000, 201
3
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -593,6 +593,7 @@ jobject createNetworkInterface
...
@@ -593,6 +593,7 @@ jobject createNetworkInterface
/* default ctor will set family to AF_INET */
/* default ctor will set family to AF_INET */
setInetAddress_addr
(
env
,
iaObj
,
ntohl
(
addrs
->
addr
.
him4
.
sin_addr
.
s_addr
));
setInetAddress_addr
(
env
,
iaObj
,
ntohl
(
addrs
->
addr
.
him4
.
sin_addr
.
s_addr
));
JNU_CHECK_EXCEPTION_RETURN
(
env
,
NULL
);
if
(
addrs
->
mask
!=
-
1
)
{
if
(
addrs
->
mask
!=
-
1
)
{
ibObj
=
(
*
env
)
->
NewObject
(
env
,
ni_ibcls
,
ni_ibctrID
);
ibObj
=
(
*
env
)
->
NewObject
(
env
,
ni_ibcls
,
ni_ibctrID
);
if
(
ibObj
==
NULL
)
{
if
(
ibObj
==
NULL
)
{
...
@@ -606,6 +607,7 @@ jobject createNetworkInterface
...
@@ -606,6 +607,7 @@ jobject createNetworkInterface
return
NULL
;
return
NULL
;
}
}
setInetAddress_addr
(
env
,
ia2Obj
,
ntohl
(
addrs
->
brdcast
.
him4
.
sin_addr
.
s_addr
));
setInetAddress_addr
(
env
,
ia2Obj
,
ntohl
(
addrs
->
brdcast
.
him4
.
sin_addr
.
s_addr
));
JNU_CHECK_EXCEPTION_RETURN
(
env
,
NULL
);
(
*
env
)
->
SetObjectField
(
env
,
ibObj
,
ni_ibbroadcastID
,
ia2Obj
);
(
*
env
)
->
SetObjectField
(
env
,
ibObj
,
ni_ibbroadcastID
,
ia2Obj
);
(
*
env
)
->
SetShortField
(
env
,
ibObj
,
ni_ibmaskID
,
addrs
->
mask
);
(
*
env
)
->
SetShortField
(
env
,
ibObj
,
ni_ibmaskID
,
addrs
->
mask
);
(
*
env
)
->
SetObjectArrayElement
(
env
,
bindsArr
,
bind_index
++
,
ibObj
);
(
*
env
)
->
SetObjectArrayElement
(
env
,
bindsArr
,
bind_index
++
,
ibObj
);
...
@@ -761,8 +763,9 @@ JNIEXPORT jobject JNICALL Java_java_net_NetworkInterface_getByInetAddress0
...
@@ -761,8 +763,9 @@ JNIEXPORT jobject JNICALL Java_java_net_NetworkInterface_getByInetAddress0
(
JNIEnv
*
env
,
jclass
cls
,
jobject
iaObj
)
(
JNIEnv
*
env
,
jclass
cls
,
jobject
iaObj
)
{
{
netif
*
ifList
,
*
curr
;
netif
*
ifList
,
*
curr
;
jint
addr
=
getInetAddress_addr
(
env
,
iaObj
);
jobject
netifObj
=
NULL
;
jobject
netifObj
=
NULL
;
jint
addr
=
getInetAddress_addr
(
env
,
iaObj
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
NULL
);
// Retained for now to support IPv4 only stack, java.net.preferIPv4Stack
// Retained for now to support IPv4 only stack, java.net.preferIPv4Stack
if
(
ipv6_available
())
{
if
(
ipv6_available
())
{
...
...
src/windows/native/java/net/NetworkInterface_winXP.c
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 2003, 201
7
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -552,6 +552,7 @@ static jobject createNetworkInterfaceXP(JNIEnv *env, netif *ifs)
...
@@ -552,6 +552,7 @@ static jobject createNetworkInterfaceXP(JNIEnv *env, netif *ifs)
setInetAddress_addr
(
env
,
iaObj
,
ntohl
(
addrs
->
addr
.
him4
.
sin_addr
.
s_addr
));
setInetAddress_addr
(
env
,
iaObj
,
ntohl
(
addrs
->
addr
.
him4
.
sin_addr
.
s_addr
));
JNU_CHECK_EXCEPTION_RETURN
(
env
,
NULL
);
ibObj
=
(
*
env
)
->
NewObject
(
env
,
ni_ibcls
,
ni_ibctrID
);
ibObj
=
(
*
env
)
->
NewObject
(
env
,
ni_ibcls
,
ni_ibctrID
);
if
(
ibObj
==
NULL
)
{
if
(
ibObj
==
NULL
)
{
free_netaddr
(
netaddrP
);
free_netaddr
(
netaddrP
);
...
@@ -564,6 +565,7 @@ static jobject createNetworkInterfaceXP(JNIEnv *env, netif *ifs)
...
@@ -564,6 +565,7 @@ static jobject createNetworkInterfaceXP(JNIEnv *env, netif *ifs)
return
NULL
;
return
NULL
;
}
}
setInetAddress_addr
(
env
,
ia2Obj
,
ntohl
(
addrs
->
brdcast
.
him4
.
sin_addr
.
s_addr
));
setInetAddress_addr
(
env
,
ia2Obj
,
ntohl
(
addrs
->
brdcast
.
him4
.
sin_addr
.
s_addr
));
JNU_CHECK_EXCEPTION_RETURN
(
env
,
NULL
);
(
*
env
)
->
SetObjectField
(
env
,
ibObj
,
ni_ibbroadcastID
,
ia2Obj
);
(
*
env
)
->
SetObjectField
(
env
,
ibObj
,
ni_ibbroadcastID
,
ia2Obj
);
(
*
env
)
->
SetShortField
(
env
,
ibObj
,
ni_ibmaskID
,
addrs
->
mask
);
(
*
env
)
->
SetShortField
(
env
,
ibObj
,
ni_ibmaskID
,
addrs
->
mask
);
(
*
env
)
->
SetObjectArrayElement
(
env
,
bindsArr
,
bind_index
++
,
ibObj
);
(
*
env
)
->
SetObjectArrayElement
(
env
,
bindsArr
,
bind_index
++
,
ibObj
);
...
...
src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 1997, 201
5
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -439,12 +439,13 @@ Java_java_net_TwoStacksPlainDatagramSocketImpl_bind0(JNIEnv *env, jobject this,
...
@@ -439,12 +439,13 @@ Java_java_net_TwoStacksPlainDatagramSocketImpl_bind0(JNIEnv *env, jobject this,
memset
((
char
*
)
&
lcladdr
,
0
,
sizeof
(
lcladdr
));
memset
((
char
*
)
&
lcladdr
,
0
,
sizeof
(
lcladdr
));
family
=
getInetAddress_family
(
env
,
addressObj
);
family
=
getInetAddress_family
(
env
,
addressObj
);
JNU_CHECK_EXCEPTION
(
env
);
if
(
family
==
IPv6
&&
!
ipv6_supported
)
{
if
(
family
==
IPv6
&&
!
ipv6_supported
)
{
JNU_ThrowByName
(
env
,
JNU_JAVANETPKG
"SocketException"
,
JNU_ThrowByName
(
env
,
JNU_JAVANETPKG
"SocketException"
,
"Protocol family not supported"
);
"Protocol family not supported"
);
return
;
return
;
}
}
JNU_CHECK_EXCEPTION
(
env
);
if
(
IS_NULL
(
fdObj
)
||
(
ipv6_supported
&&
IS_NULL
(
fd1Obj
)))
{
if
(
IS_NULL
(
fdObj
)
||
(
ipv6_supported
&&
IS_NULL
(
fd1Obj
)))
{
JNU_ThrowByName
(
env
,
JNU_JAVANETPKG
"SocketException"
,
"socket closed"
);
JNU_ThrowByName
(
env
,
JNU_JAVANETPKG
"SocketException"
,
"socket closed"
);
return
;
return
;
...
@@ -459,6 +460,7 @@ Java_java_net_TwoStacksPlainDatagramSocketImpl_bind0(JNIEnv *env, jobject this,
...
@@ -459,6 +460,7 @@ Java_java_net_TwoStacksPlainDatagramSocketImpl_bind0(JNIEnv *env, jobject this,
return
;
return
;
}
else
{
}
else
{
address
=
getInetAddress_addr
(
env
,
addressObj
);
address
=
getInetAddress_addr
(
env
,
addressObj
);
JNU_CHECK_EXCEPTION
(
env
);
}
}
if
(
NET_InetAddressToSockaddr
(
env
,
addressObj
,
port
,
(
struct
sockaddr
*
)
&
lcladdr
,
&
lcladdrlen
,
JNI_FALSE
)
!=
0
)
{
if
(
NET_InetAddressToSockaddr
(
env
,
addressObj
,
port
,
(
struct
sockaddr
*
)
&
lcladdr
,
&
lcladdrlen
,
JNI_FALSE
)
!=
0
)
{
...
@@ -562,8 +564,9 @@ Java_java_net_TwoStacksPlainDatagramSocketImpl_connect0(JNIEnv *env, jobject thi
...
@@ -562,8 +564,9 @@ Java_java_net_TwoStacksPlainDatagramSocketImpl_connect0(JNIEnv *env, jobject thi
}
}
addr
=
getInetAddress_addr
(
env
,
address
);
addr
=
getInetAddress_addr
(
env
,
address
);
JNU_CHECK_EXCEPTION
(
env
);
family
=
getInetAddress_family
(
env
,
address
);
family
=
getInetAddress_family
(
env
,
address
);
JNU_CHECK_EXCEPTION
(
env
);
if
(
family
==
IPv6
&&
!
ipv6_supported
)
{
if
(
family
==
IPv6
&&
!
ipv6_supported
)
{
JNU_ThrowByName
(
env
,
JNU_JAVANETPKG
"SocketException"
,
JNU_ThrowByName
(
env
,
JNU_JAVANETPKG
"SocketException"
,
"Protocol family not supported"
);
"Protocol family not supported"
);
...
@@ -681,6 +684,7 @@ Java_java_net_TwoStacksPlainDatagramSocketImpl_send(JNIEnv *env, jobject this,
...
@@ -681,6 +684,7 @@ Java_java_net_TwoStacksPlainDatagramSocketImpl_send(JNIEnv *env, jobject this,
}
}
family
=
getInetAddress_family
(
env
,
iaObj
);
family
=
getInetAddress_family
(
env
,
iaObj
);
JNU_CHECK_EXCEPTION
(
env
);
if
(
family
==
IPv4
)
{
if
(
family
==
IPv4
)
{
fdObj
=
(
*
env
)
->
GetObjectField
(
env
,
this
,
pdsi_fdID
);
fdObj
=
(
*
env
)
->
GetObjectField
(
env
,
this
,
pdsi_fdID
);
}
else
{
}
else
{
...
@@ -731,6 +735,7 @@ Java_java_net_TwoStacksPlainDatagramSocketImpl_send(JNIEnv *env, jobject this,
...
@@ -731,6 +735,7 @@ Java_java_net_TwoStacksPlainDatagramSocketImpl_send(JNIEnv *env, jobject this,
* Check is not necessary on these OSes */
* Check is not necessary on these OSes */
if
(
connected
)
{
if
(
connected
)
{
address
=
getInetAddress_addr
(
env
,
iaObj
);
address
=
getInetAddress_addr
(
env
,
iaObj
);
JNU_CHECK_EXCEPTION
(
env
);
}
else
{
}
else
{
address
=
ntohl
(
rmtaddr
.
him4
.
sin_addr
.
s_addr
);
address
=
ntohl
(
rmtaddr
.
him4
.
sin_addr
.
s_addr
);
}
}
...
@@ -841,6 +846,7 @@ Java_java_net_TwoStacksPlainDatagramSocketImpl_peek(JNIEnv *env, jobject this,
...
@@ -841,6 +846,7 @@ Java_java_net_TwoStacksPlainDatagramSocketImpl_peek(JNIEnv *env, jobject this,
return
-
1
;
return
-
1
;
}
else
{
}
else
{
address
=
getInetAddress_addr
(
env
,
addressObj
);
address
=
getInetAddress_addr
(
env
,
addressObj
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
-
1
);
/* We only handle IPv4 for now. Will support IPv6 once its in the os */
/* We only handle IPv4 for now. Will support IPv6 once its in the os */
family
=
AF_INET
;
family
=
AF_INET
;
}
}
...
@@ -923,7 +929,9 @@ Java_java_net_TwoStacksPlainDatagramSocketImpl_peek(JNIEnv *env, jobject this,
...
@@ -923,7 +929,9 @@ Java_java_net_TwoStacksPlainDatagramSocketImpl_peek(JNIEnv *env, jobject this,
return
0
;
return
0
;
}
}
setInetAddress_addr
(
env
,
addressObj
,
ntohl
(
remote_addr
.
sin_addr
.
s_addr
));
setInetAddress_addr
(
env
,
addressObj
,
ntohl
(
remote_addr
.
sin_addr
.
s_addr
));
JNU_CHECK_EXCEPTION_RETURN
(
env
,
-
1
);
setInetAddress_family
(
env
,
addressObj
,
IPv4
);
setInetAddress_family
(
env
,
addressObj
,
IPv4
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
-
1
);
/* return port */
/* return port */
return
ntohs
(
remote_addr
.
sin_port
);
return
ntohs
(
remote_addr
.
sin_port
);
...
@@ -1630,6 +1638,7 @@ static int getInetAddrFromIf (JNIEnv *env, int family, jobject nif, jobject *iad
...
@@ -1630,6 +1638,7 @@ static int getInetAddrFromIf (JNIEnv *env, int family, jobject nif, jobject *iad
int
fam
;
int
fam
;
addr
=
(
*
env
)
->
GetObjectArrayElement
(
env
,
addrArray
,
i
);
addr
=
(
*
env
)
->
GetObjectArrayElement
(
env
,
addrArray
,
i
);
fam
=
getInetAddress_family
(
env
,
addr
);
fam
=
getInetAddress_family
(
env
,
addr
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
-
1
);
if
(
fam
==
family
)
{
if
(
fam
==
family
)
{
*
iaddr
=
addr
;
*
iaddr
=
addr
;
return
0
;
return
0
;
...
@@ -1648,6 +1657,7 @@ static int getInet4AddrFromIf (JNIEnv *env, jobject nif, struct in_addr *iaddr)
...
@@ -1648,6 +1657,7 @@ static int getInet4AddrFromIf (JNIEnv *env, jobject nif, struct in_addr *iaddr)
}
}
iaddr
->
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
addr
));
iaddr
->
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
addr
));
JNU_CHECK_EXCEPTION_RETURN
(
env
,
-
1
);
return
0
;
return
0
;
}
}
...
@@ -1752,6 +1762,7 @@ static void setMulticastInterface(JNIEnv *env, jobject this, int fd, int fd1,
...
@@ -1752,6 +1762,7 @@ static void setMulticastInterface(JNIEnv *env, jobject this, int fd, int fd1,
struct
in_addr
in
;
struct
in_addr
in
;
in
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
value
));
in
.
s_addr
=
htonl
(
getInetAddress_addr
(
env
,
value
));
JNU_CHECK_EXCEPTION
(
env
);
if
(
setsockopt
(
fd
,
IPPROTO_IP
,
IP_MULTICAST_IF
,
if
(
setsockopt
(
fd
,
IPPROTO_IP
,
IP_MULTICAST_IF
,
(
const
char
*
)
&
in
,
sizeof
(
in
))
<
0
)
{
(
const
char
*
)
&
in
,
sizeof
(
in
))
<
0
)
{
NET_ThrowByNameWithLastError
(
env
,
JNU_JAVANETPKG
"SocketException"
,
NET_ThrowByNameWithLastError
(
env
,
JNU_JAVANETPKG
"SocketException"
,
...
@@ -1993,7 +2004,7 @@ static jobject getIPv4NetworkInterface (JNIEnv *env, jobject this, int fd, jint
...
@@ -1993,7 +2004,7 @@ static jobject getIPv4NetworkInterface (JNIEnv *env, jobject this, int fd, jint
CHECK_NULL_RETURN
(
addr
,
NULL
);
CHECK_NULL_RETURN
(
addr
,
NULL
);
setInetAddress_addr
(
env
,
addr
,
ntohl
(
in
.
s_addr
));
setInetAddress_addr
(
env
,
addr
,
ntohl
(
in
.
s_addr
));
JNU_CHECK_EXCEPTION_RETURN
(
env
,
NULL
);
/*
/*
* For IP_MULTICAST_IF return InetAddress
* For IP_MULTICAST_IF return InetAddress
*/
*/
...
...
src/windows/native/java/net/TwoStacksPlainSocketImpl.c
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 1997, 201
3
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -414,6 +414,7 @@ Java_java_net_TwoStacksPlainSocketImpl_socketBind(JNIEnv *env, jobject this,
...
@@ -414,6 +414,7 @@ Java_java_net_TwoStacksPlainSocketImpl_socketBind(JNIEnv *env, jobject this,
fd1Obj
=
(
*
env
)
->
GetObjectField
(
env
,
this
,
psi_fd1ID
);
fd1Obj
=
(
*
env
)
->
GetObjectField
(
env
,
this
,
psi_fd1ID
);
family
=
getInetAddress_family
(
env
,
iaObj
);
family
=
getInetAddress_family
(
env
,
iaObj
);
JNU_CHECK_EXCEPTION
(
env
);
if
(
family
==
IPv6
&&
!
ipv6_supported
)
{
if
(
family
==
IPv6
&&
!
ipv6_supported
)
{
JNU_ThrowByName
(
env
,
JNU_JAVANETPKG
"SocketException"
,
JNU_ThrowByName
(
env
,
JNU_JAVANETPKG
"SocketException"
,
...
@@ -731,7 +732,9 @@ Java_java_net_TwoStacksPlainSocketImpl_socketAccept(JNIEnv *env, jobject this,
...
@@ -731,7 +732,9 @@ Java_java_net_TwoStacksPlainSocketImpl_socketAccept(JNIEnv *env, jobject this,
}
}
setInetAddress_addr
(
env
,
socketAddressObj
,
ntohl
(
him
.
him4
.
sin_addr
.
s_addr
));
setInetAddress_addr
(
env
,
socketAddressObj
,
ntohl
(
him
.
him4
.
sin_addr
.
s_addr
));
JNU_CHECK_EXCEPTION
(
env
);
setInetAddress_family
(
env
,
socketAddressObj
,
IPv4
);
setInetAddress_family
(
env
,
socketAddressObj
,
IPv4
);
JNU_CHECK_EXCEPTION
(
env
);
(
*
env
)
->
SetObjectField
(
env
,
socket
,
psi_addressID
,
socketAddressObj
);
(
*
env
)
->
SetObjectField
(
env
,
socket
,
psi_addressID
,
socketAddressObj
);
}
else
{
}
else
{
/* AF_INET6 -> Inet6Address */
/* AF_INET6 -> Inet6Address */
...
@@ -758,6 +761,7 @@ Java_java_net_TwoStacksPlainSocketImpl_socketAccept(JNIEnv *env, jobject this,
...
@@ -758,6 +761,7 @@ Java_java_net_TwoStacksPlainSocketImpl_socketAccept(JNIEnv *env, jobject this,
}
}
setInet6Address_ipaddress
(
env
,
socketAddressObj
,
(
const
char
*
)
&
him
.
him6
.
sin6_addr
);
setInet6Address_ipaddress
(
env
,
socketAddressObj
,
(
const
char
*
)
&
him
.
him6
.
sin6_addr
);
setInetAddress_family
(
env
,
socketAddressObj
,
IPv6
);
setInetAddress_family
(
env
,
socketAddressObj
,
IPv6
);
JNU_CHECK_EXCEPTION
(
env
);
setInet6Address_scopeid
(
env
,
socketAddressObj
,
him
.
him6
.
sin6_scope_id
);
setInet6Address_scopeid
(
env
,
socketAddressObj
,
him
.
him6
.
sin6_scope_id
);
}
}
...
...
src/windows/native/java/net/net_util_md.c
浏览文件 @
45250f4b
/*
/*
* Copyright (c) 1997, 201
3
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -875,6 +875,7 @@ NET_InetAddressToSockaddr(JNIEnv *env, jobject iaObj, int port, struct sockaddr
...
@@ -875,6 +875,7 @@ NET_InetAddressToSockaddr(JNIEnv *env, jobject iaObj, int port, struct sockaddr
int
*
len
,
jboolean
v4MappedAddress
)
{
int
*
len
,
jboolean
v4MappedAddress
)
{
jint
family
,
iafam
;
jint
family
,
iafam
;
iafam
=
getInetAddress_family
(
env
,
iaObj
);
iafam
=
getInetAddress_family
(
env
,
iaObj
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
-
1
);
family
=
(
iafam
==
IPv4
)
?
AF_INET
:
AF_INET6
;
family
=
(
iafam
==
IPv4
)
?
AF_INET
:
AF_INET6
;
if
(
ipv6_available
()
&&
!
(
family
==
AF_INET
&&
v4MappedAddress
==
JNI_FALSE
))
{
if
(
ipv6_available
()
&&
!
(
family
==
AF_INET
&&
v4MappedAddress
==
JNI_FALSE
))
{
struct
SOCKADDR_IN6
*
him6
=
(
struct
SOCKADDR_IN6
*
)
him
;
struct
SOCKADDR_IN6
*
him6
=
(
struct
SOCKADDR_IN6
*
)
him
;
...
@@ -885,6 +886,7 @@ NET_InetAddressToSockaddr(JNIEnv *env, jobject iaObj, int port, struct sockaddr
...
@@ -885,6 +886,7 @@ NET_InetAddressToSockaddr(JNIEnv *env, jobject iaObj, int port, struct sockaddr
if
(
family
==
AF_INET
)
{
/* will convert to IPv4-mapped address */
if
(
family
==
AF_INET
)
{
/* will convert to IPv4-mapped address */
memset
((
char
*
)
caddr
,
0
,
16
);
memset
((
char
*
)
caddr
,
0
,
16
);
address
=
getInetAddress_addr
(
env
,
iaObj
);
address
=
getInetAddress_addr
(
env
,
iaObj
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
-
1
);
if
(
address
==
INADDR_ANY
)
{
if
(
address
==
INADDR_ANY
)
{
/* we would always prefer IPv6 wildcard address
/* we would always prefer IPv6 wildcard address
caddr[10] = 0xff;
caddr[10] = 0xff;
...
@@ -923,6 +925,7 @@ NET_InetAddressToSockaddr(JNIEnv *env, jobject iaObj, int port, struct sockaddr
...
@@ -923,6 +925,7 @@ NET_InetAddressToSockaddr(JNIEnv *env, jobject iaObj, int port, struct sockaddr
}
}
memset
((
char
*
)
him4
,
0
,
sizeof
(
struct
sockaddr_in
));
memset
((
char
*
)
him4
,
0
,
sizeof
(
struct
sockaddr_in
));
address
=
getInetAddress_addr
(
env
,
iaObj
);
address
=
getInetAddress_addr
(
env
,
iaObj
);
JNU_CHECK_EXCEPTION_RETURN
(
env
,
-
1
);
him4
->
sin_port
=
htons
((
short
)
port
);
him4
->
sin_port
=
htons
((
short
)
port
);
him4
->
sin_addr
.
s_addr
=
(
u_long
)
htonl
(
address
);
him4
->
sin_addr
.
s_addr
=
(
u_long
)
htonl
(
address
);
him4
->
sin_family
=
AF_INET
;
him4
->
sin_family
=
AF_INET
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录