Re: Rights amplification without transfering flow of control in Caja or ADsafe

David-Sarah Hopwood <david.hopwood-mRVxzIiVagSlV3Ge8JjJtnfLna9zW77MtUK59QYPAWc@public.gmane.org>
Newsgroups gmane.comp.lang.e.general
Message-ID <[email protected]>
David-Sarah Hopwood wrote:
> Tyler Close wrote:
>> To implement the ref_send API in Javascript, the eventual operator
>> must securely recognize its created promises, without transferring
>> flow of control to an untrusted object. For example, consider the
>> implementation of Q.when(promise, ...). The when() implementation must
>> queue an observer on the private list of observers inside the provided
>> promise object. The implementation can't just call a method on the
>> provided promise object, because it might be an untrusted object that
>> makes an immediate call or throws an exception. I had been recognizing
>> promises by checking the value of the 'constructor' property, but both
>> ADsafe and Caja forbid access to this member. Is there some other way
>> to perform rights amplification without transferring flow of control
>> in Caja and ADsafe?
> 
> The suggestion I made (for a different reason) in
> <http://www.eros-os.org/pipermail/e-lang/2008-May/012716.html>

Wrong URL; I meant
<http://www.eros-os.org/pipermail/e-lang/2008-May/012715.html>.

> would also solve this problem, I think:
> 
> # Suppose that _$post, _$get, _$when etc. were defined on Object.prototype,
> # and that safe Javascript subsets had the restriction that there is no
> # ambient authority to set or define properties with names starting '_$'.
> # Assume that the ref_send library is granted explicit authority to set
> # these properties on Object.prototype.

-- 
David-Sarah Hopwood
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.