On Tue, 27 Oct 2020 18:54:30 GMT, Igor Ignatyev <[email protected]> wrote:
>> Hi all,
>>
>> could you please review this small and trivial fix?
>>
>> `sun/net/ftp/imp/FtpClient::dateFormats` is an array of `SimpleDateFormat`
>> which are shared among all instances of `FtpClient`. the fact that
>> `SimpleDateFormat` isn't thread-safe renders`FtpClient` to be
>> non-thread-safe as well. the patch makes the only usage of `dateFormats`
>> array, `parseRfc3659TimeValue` method, `synchronized`.
>>
>> the problem was reported in #776
>>
>> Thanks,
>> -- Igor
>
> Igor Ignatyev has updated the pull request incrementally with three
> additional commits since the last revision:
>
> - remove \n from MDTM response before parsing
> - added leading 0 to the test
> - use DateTimeFormatter instead of SimpleDateFormat
src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java line 1770:
> 1768: try {
> 1769: var d = LocalDateTime.parse(s, RFC3659_DATETIME_FORMAT);
> 1770: result =
> Date.from(d.atZone(ZoneOffset.systemDefault()).toInstant());
Should this be ZoneOffset.UTC rather than System default? I thought the date
returned by the server were supposed to be in GMT.
-------------
PR: https://git.openjdk.java.net/jdk/pull/867