[rfc][icedtea-web] conditional disabling of manifes tattributes
Andrew Azores
aazores at redhat.com
Wed Apr 16 14:01:16 UTC 2014
On 04/16/2014 03:08 AM, Jiri Vanek wrote:
> On 04/15/2014 05:48 PM, Jiri Vanek wrote:
>> On 04/11/2014 06:49 PM, Andrew Azores wrote:
>>> On 04/11/2014 09:07 AM, Jiri Vanek wrote:
>>>> On 04/10/2014 04:44 PM, Andrew Azores wrote:
>>>>> On 04/10/2014 08:43 AM, Jiri Vanek wrote:
>>>>>> Hi!
>>>>>>
>>>>>> This patch can disable the check for new manifest attributes.
>>>>>> sevral motivations
>>>>>> - I hate this feature
>>>>>> - the remembering of this actions may take time to implement
>>>>>> - and the most important - the testsuite...
>>>>>
>>>>> Most important indeed.
>>>>>
>>>>>>
>>>>>> will go both head and 1.5.
>>>>>>
>>>>>> I'm hesitating whether to make this property public via
>>>>>> itw-settings... Well if so, then as
>>>>>> another changeset. Any opinion about publish it in itw-settings?
>>>>>>
>>>>>> J
>>>>>
>>>>> Ok to push, so that we can clean up some of the noise in the test
>>>>> suite.
>>>>>
>>>>> RE putting it in itweb-settings - I think the cleanest way to do
>>>>> this, if it's to be done at
>>>>> all, is
>>>>> probably to add another security level. 'Minimal' or something
>>>>> perhaps? Because I don't think it
>>>>> makes sense to add it in as a checkbox, for example, and have it
>>>>> possible to set security to High,
>>>>> but disable manifest checks. I'm not sure if we really want to
>>>>> allow this, though. I can imagine
>>>>> most users leaving the security level at Minimal once they
>>>>> discover that this gives them the least
>>>>> amount of clicking to do before getting their applets to run :)
>>>>
>>>>
>>>> Oh yes, that can be correct thing to do. But looking to the issue
>>>> from this perspective, it is
>>>> NO-GO argument for it as it is done. Well all correct applications
>>>> should be updated to support
>>>> new attributes.. but the legaxy, and still used ones?
>>
>> I have pushed at the end. This shortcut for testsuite is needed.
>>>>
>>>> So I have another idea here - really extend
>>>> ExtendedAppletsSecurity, and to allow "do not check
>>>> manifest attributes" on the application/codebase - So all those
>>>> dialogs will be moreover based on
>>>> your abstraction of Extended Applets security. Also remember alaca
>>>> checkbox issue will be solved
>>>> by this.
>>>>
>>>> Bu the extension of ExtendedAppletsSecurity will needed to be done
>>>> really carefully - and prepared
>>>> before implementation.
>>>>
>>>> What do you think?
>>>
>>> Sounds like it could be a lot of work, but should be worthwhile in
>>> the end. I think it will be very
>>> nice if we can unify all of our dialogs like this so that they can
>>> all make use of the same
>>> remembered action storage. Or at least, the ones that need to be
>>> able to remember actions. I'm not
>>> sure about having the manifest attribute check be an option to be
>>> selected on the dialog though,
>>> even with an option to remember it... but maybe it's the right thing
>>> to do. It just seems like the
>>> dialogs are getting busier and busier and more confusing looking,
>>> but you're right that this option
>>> will (hopefully) be used mostly for allowing some old applets which
>>> haven't been updated to be used
>>> still. In that kind of situation, which I think is the target, then
>>> applying the setting to all
>>> applets/globally maybe isn't the right choice. So as ugly and
>>> cluttered as the UI might become, I
>>> suppose this really should be done on a per-applet basis (maybe in
>>> addition to having it
>>> configurable globally?).
>>>
>>
>> Hi attached patch is adding the basic support for multiple types of
>> actions. Well it apeared that
>> the implementation itself will be quit easy (if this approach will be
>> used) but most troubles will
>> be in itw-settings. The table will requires serious revork on level
>> of filtering, sorting, delting
>> and especially editing of first - action - column.
>>
>> General idea is - instead of one ExecuteAppletAction
>> unsignedAppletAction will be list of them,
>> encapsualted in AppletSecurityActions unsignedAppletAction;
>> In file it will be encoded instead of current one char, as one-word
>> string - see the tests.
>> To read/write the correct action for given type, there will be set of
>> getters/setters - tight now
>> there is
>> public ExecuteAppletAction getUnsignedAppletAction() {
>> + return getAction(0);
>> + }
>> +
>> + public void setUnsignedAppletAction(ExecuteAppletAction a) {
>> + actions.set(0,a);
>> + }
>>
>> And they will encapsulate the order in list.
>>
>>
>> If nothing else...This is nicely backward compatible, and scaleable
>> for growth of "remember me"
>> dialogs :)
>>
>> Once this is aproved -if ever - I will add few more "on top of it"
>> work like -table or rember for
>> ALACAto se hw it works - before push itself.
>> J.
>>
>>
>
> This is a bit better - get rid of paranoid constant of MAX_LENGTH.
>
> J.
>
Just a few nits:
- APPEXTSECunsetAppletActionNo should probably be renamed, why is the
'No' there?
-- Should also be reworded, maybe "This applet has not been visited before"
- AppletSecurityActions.fromString() - why 'break' on whitespace? I can
understand if it was only internal whitespace, but even leading
whitespace? eg the string " A" means UNSET? Maybe do a String#trim() first.
-- Please move the private empty constructor to the top of the class as well
- ExecuteAppletAction.fromString() - the RuntimeException message here
should be reworded. "Undefined zero-length ExecuteAppletAction String
representation" ?
- ExecuteAppletAction should be refactored now that it has both a toChar
and fromChar. I would suggest retaining the corresponding char as a
field (so make a one-arg constructor), then toChar simply returns this
and fromChar iterates over the enum values. If there is a matching enum
value's char, return that enum value, otherwise return UNSET
- Rather than doing 'for (int i = 0; i < str.length(); i++)' and
's.charAt(i)', how about for (char ch : s.toCharArray())?
Thanks,
--
Andrew A
More information about the distro-pkg-dev
mailing list