[rfc][icedtea-web] conditional disabling of manifes tattributes
Andrew Azores
aazores at redhat.com
Mon Apr 28 19:47:19 UTC 2014
On 04/17/2014 10:17 AM, Andrew Azores wrote:
> On 04/17/2014 07:55 AM, Jiri Vanek wrote:
>> On 04/16/2014 07:46 PM, Andrew Azores wrote:
>>> On 04/16/2014 10:14 AM, Jiri Vanek wrote:
>>>> On 04/16/2014 04:01 PM, Andrew Azores wrote:
>>>>> 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,
>>>>>
>>>>
>>>> And general approach?
>>>>
>>>
>>> It seems okay, although I'm not sure I completely understand the
>>> motivation behind it. Can you
>>> explain more why we need to have this multiple-action structure?
>>
>>
>> The main motivation is "rember checboxx" fro alaca - it is now not
>> working, and It have to be working:) .Maybe more attributes-check
>> deserve remember button. In all cases, the table would have same
>> structure as have current ExtendedApplets security. So motivation is
>> - instead of maintaining several tables, only one will be maintained,
>> and will have several actions.
>>
>> Another approach may be to have really more columns ( I think I will
>> handle it in this way in EAS itw-settings table) or to have really
>> more tbales.
>>
>> Well more tbales is probably most readable for user. But it will be
>> full of duplicitous! And also all the overhead, inter-processes
>> locking, and whatever. I don't like this.
>>
>>
>> Another is to have more columns. But we may face some problems in
>> case of adding more even endless number of columns...
>>
>> So I chose this - change string in first column to keep more vlaues.
>> And to dispaly it as several columns in itw-setting (but this may
>> change, it if there will be tomuch of those small sub columns)
>>
>>
>> J.
>
> Thanks for the clarification! Yes, I think this is a good enough
> approach then. I don't like the sound of more tables either, and
> although more columns might be more technically correct sounding, it
> also means the table will become dominated by yes/no/always/never
> columns, over and over again. Being able to mark them as present/not
> present is nice. This way also seems easier for backward compatibility
> than adding new columns, and easier as well if anyone ever wants to
> edit the trust settings by hand (directly with a text editor) for some
> reason.
>
> Thanks,
>
Is another version of this patch coming?
Thanks,
--
Andrew A
More information about the distro-pkg-dev
mailing list