+1.

--Max

> On Apr 2, 2019, at 9:55 PM, Roger Riggs <roger.ri...@oracle.com> wrote:
> 
> Hi Sean,
> 
> Typically, fixed serialization streams are encoded in the source
> as byte arrays. That keeps binary content out of the repo
> and provides a place for the comments.
> 
> Roger
> 
> 
> On 04/02/2019 09:50 AM, Sean Mullan wrote:
>> On 4/2/19 9:44 AM, Weijun Wang wrote:
>>> 
>>> 
>>>> On Apr 2, 2019, at 9:33 PM, Sean Mullan <sean.mul...@oracle.com> wrote:
>>>> 
>>>> On 4/1/19 11:12 PM, Weijun Wang wrote:
>>>>> I can understand the change in Permissions, but is there any difference 
>>>>> in PermissionsHash?
>>>> 
>>>> The key and value in the PermissionsHash map is always the same object. 
>>>> This fix ensures that is respected, otherwise after deserialization you 
>>>> could have a SocketPermission mapped to a FilePermission, for example. 
>>>> Would it be better if I added a test for that?
>>> 
>>> Yes, you are right. I thought the old code can also enforce this relation.
>>> 
>>> Now for the test, perms.ser is binary and you haven't described how it is 
>>> generated.
>> 
>> I just hacked Permissions.writeObject to switch the mappings. That was a lot 
>> easier than trying to write my own serialization code. I will add some 
>> comments in the test explaining how I did that and what is in perms.ser.
>> 
>> --Sean
>> 
>> 
>>> 
>>> Thanks,
>>> Max
>>> 
>>>> 
>>>> --Sean
>>>> 
>>>>> --Max
>>>>>> On Apr 2, 2019, at 1:10 AM, Sean Mullan <sean.mul...@oracle.com> wrote:
>>>>>> 
>>>>>> It is currently possible to change the mappings in a serialized 
>>>>>> java.security.Permissions object such that they no longer map correctly, 
>>>>>> and Permissions.readObject won't detect this.
>>>>>> 
>>>>>> This change makes sure that for a deserialized Permissions object, the 
>>>>>> permissions are mapped correctly to the class that they belong to. It 
>>>>>> does this by calling add() again for each permission in the deserialized 
>>>>>> Permissions object. The same technique was applied to a serialized 
>>>>>> PermissionsHash object which is used to store Permissions that don't 
>>>>>> implement their own PermissionCollection.
>>>>>> 
>>>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8020637
>>>>>> webrev: http://cr.openjdk.java.net/~mullan/webrevs/8020637/webrev.00/
>>>>>> 
>>>>>> Thanks,
>>>>>> Sean
>>>>>> 
>>> 
> 

Reply via email to