Request for code review 6512101: Incorrect encoding in NetworkInterface.getDisplayName()

2012-11-07 Thread Frank Ding

Hi guys,
  Could you please take a look at patch below aimed to resolve existing 
bug http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6512101 ?

  http://cr.openjdk.java.net/~dingxmin/6512101/webrev.01/

  I happen to have a Chinese Win 7 environment.  buggy.png is current 
output of test case described in bug system whereas fixed.png is the 
output after the my patch is applied.


http://cr.openjdk.java.net/~dingxmin/6512101/buggy.png
http://cr.openjdk.java.net/~dingxmin/6512101/fixed.png

  The patch simply converts to wide chars encoded in CP_OEMCP by 
calling MultiByteToWideChar.  We have confirmed a guy from Microsoft who 
said that


BEGIN QUOTE
I'm not sure how common it is to call the Java code that results in 
calling the GetIfTable API but I would guess it does not happen that 
often. Additionally, if it's rare that the adapter contains the accented 
characters, it would definitely be quite easy to miss in testing.


I have not found any documentation about the encoding of the bDescr 
string unfortunately. I did, however, debug through the API and located 
the place where it is generated. It is getting converted from a UTF-16 
string to a single-byte string using a conversion like this:


WideCharToMultiByte(
CP_OEMCP,
WC_NO_BEST_FIT_CHARS,
source string,
-1,
IfRow-bDescr,
size,
NULL,
NULL);

I have checked the source for Windows Vista, 2008, Windows 7, and 
Windows 2008 R2. It is using CP_OEMCP in all of them. So using the 
reverse conversion in your code using CP_OEMCP should be safe.
Alternatively, you can use the GetIfTable2 function 
(http://msdn.microsoft.com/en-us/library/windows/desktop/aa365945^(v=vs.85).aspx 
) which returns the same information in the original UTF-16 encoding.

END QUOTE

  The link below may be helpful to the second param of 
WideCharToMultiByte. 
http://blogs.msdn.com/b/oldnewthing/archive/2012/05/04/10300670.aspx


You comments are appreciated.
Best regards,
Frank



hg: jdk8/tl/jdk: 8001579: Cleanup warnings in security native code

2012-11-07 Thread chris . hegarty
Changeset: 59e88d3b9b17
Author:jzavgren
Date:  2012-11-07 10:49 +
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/59e88d3b9b17

8001579: Cleanup warnings in security native code
Reviewed-by: chegar, alanb, vinnie

! src/share/native/sun/security/jgss/wrapper/GSSLibStub.c
! src/share/native/sun/security/jgss/wrapper/NativeUtil.c
! src/share/native/sun/security/pkcs11/wrapper/p11_convert.c
! src/share/native/sun/security/pkcs11/wrapper/p11_crypt.c
! src/share/native/sun/security/pkcs11/wrapper/p11_digest.c
! src/share/native/sun/security/pkcs11/wrapper/p11_general.c
! src/share/native/sun/security/pkcs11/wrapper/p11_sessmgmt.c
! src/share/native/sun/security/pkcs11/wrapper/p11_sign.c
! src/share/native/sun/security/pkcs11/wrapper/p11_util.c
! src/solaris/native/sun/security/pkcs11/j2secmod_md.c
! src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c



Re: Request for code review 6512101: Incorrect encoding in NetworkInterface.getDisplayName()

2012-11-07 Thread Chris Hegarty

Frank,

I'll need some time to study this change.

-Chris.

On 07/11/2012 09:08, Frank Ding wrote:

Hi guys,
Could you please take a look at patch below aimed to resolve existing
bug http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6512101 ?
http://cr.openjdk.java.net/~dingxmin/6512101/webrev.01/

I happen to have a Chinese Win 7 environment. buggy.png is current
output of test case described in bug system whereas fixed.png is the
output after the my patch is applied.

http://cr.openjdk.java.net/~dingxmin/6512101/buggy.png
http://cr.openjdk.java.net/~dingxmin/6512101/fixed.png

The patch simply converts to wide chars encoded in CP_OEMCP by calling
MultiByteToWideChar. We have confirmed a guy from Microsoft who said that

BEGIN QUOTE
I'm not sure how common it is to call the Java code that results in
calling the GetIfTable API but I would guess it does not happen that
often. Additionally, if it's rare that the adapter contains the accented
characters, it would definitely be quite easy to miss in testing.

I have not found any documentation about the encoding of the bDescr
string unfortunately. I did, however, debug through the API and located
the place where it is generated. It is getting converted from a UTF-16
string to a single-byte string using a conversion like this:

WideCharToMultiByte(
CP_OEMCP,
WC_NO_BEST_FIT_CHARS,
source string,
-1,
IfRow-bDescr,
size,
NULL,
NULL);

I have checked the source for Windows Vista, 2008, Windows 7, and
Windows 2008 R2. It is using CP_OEMCP in all of them. So using the
reverse conversion in your code using CP_OEMCP should be safe.
Alternatively, you can use the GetIfTable2 function
(http://msdn.microsoft.com/en-us/library/windows/desktop/aa365945^(v=vs.85).aspx
) which returns the same information in the original UTF-16 encoding.
END QUOTE

The link below may be helpful to the second param of
WideCharToMultiByte.
http://blogs.msdn.com/b/oldnewthing/archive/2012/05/04/10300670.aspx

You comments are appreciated.
Best regards,
Frank



hg: jdk8/tl/jdk: 8003120: ResourceManager.getApplicationResources() does not close InputStreams

2012-11-07 Thread ahughes
Changeset: f51943263267
Author:andrew
Date:  2012-11-07 16:07 -0500
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f51943263267

8003120: ResourceManager.getApplicationResources() does not close InputStreams
Summary: Add finally blocks to close the InputStream instances
Reviewed-by: lancea

! src/share/classes/com/sun/naming/internal/ResourceManager.java



hg: jdk8/tl/jdk: 8001205: Calendar.getDisplayName(...): Returns null when provider is SPI but there is no SPI implementation; ...

2012-11-07 Thread naoto . sato
Changeset: cc325832469c
Author:naoto
Date:  2012-11-07 15:08 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cc325832469c

8001205: Calendar.getDisplayName(...): Returns null when provider is SPI but 
there is no SPI implementation
8001562: Collator.getAvailableLocales() doesn't return all locales for which 
localized instances are available
Reviewed-by: okutsu

! src/share/classes/sun/util/locale/provider/JRELocaleProviderAdapter.java
! src/share/classes/sun/util/locale/provider/LocaleServiceProviderPool.java
+ test/java/util/Locale/Bug8001562.java
! test/java/util/PluggableLocale/BreakIteratorProviderTest.java
! test/java/util/PluggableLocale/CollatorProviderTest.java
! test/java/util/PluggableLocale/DateFormatProviderTest.java
! test/java/util/PluggableLocale/DateFormatSymbolsProviderTest.java
! test/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.java
! test/java/util/PluggableLocale/GenericTest.java
! test/java/util/PluggableLocale/NumberFormatProviderTest.java