I think the next big thing is going to be HIP networks where Jini could excel 
as a communications platform via service discovery and the other parts of the 
platform that make it fast and easy to put together remote communications.

Gregg

> On Feb 21, 2015, at 9:22 PM, Peter <j...@zeus.net.au> wrote:
> 
> ----- Original message -----
>> 
>> Yes, “accidental” DOS certainly could apply, which is why I say that
>> simple measures (like limiting the number of bytes that
>> PreferredClassLoader will download before giving up) are a good idea. 
>> But I think that any radical re-imagining of object serialization is
>> outside the scope of the River project.
> 
> Ok, I'll bite, the work I've done doesn't fit into the radical re-imagining 
> category by any stretch, it uses the existing ObjectInputStream public api 
> and the public serial form of existing objects.  It does however allow people 
> to implement an additional constructor by declaring an annotation, so they 
> can check invariants.  These invariant checks won't be performed by the 
> standard ObjectInputStream, but the classes are compatible with either.
> 
> My implementation also significantly outperforms java's standard 
> ObjectInputStream, reflectively calling one constructor is more performant 
> than reflectively setting every field in each class of an Object's hierarchy.
> 
> I've decided I'll work on this on github, where interested parties can 
> participate if they want.
> 
> 
> 
>> 
>> Cheers,
>> 
>> Greg Trasuk
>> 
>> On Feb 19, 2015, at 11:39 AM, Patricia Shanahan <p...@acm.org> wrote:
>> 
>>> I generally agree, but do have a question.
>>> 
>>> In other contexts, I've seen unintentional bugs, rather than
>>> deliberate DOS, lead to behavior similar to DOS. A program goes wrong,
>>> and tries to e.g. allocate far too much memory, or goes into a loop.
>>> In contexts where that can happen, work to protect against DOS also
>>> makes the software more robust.
>>> 
>>> In shared service situations, an apparently non-critical program can
>>> cause a DOS that also affects more important programs. Either all
>>> programs have to be designed, reviewed, and tested to the reliability
>>> requirements of the most sensitive program with which they share
>>> resources, or there has to be isolation between them.
>>> 
>>> Does this sort of consideration apply in reality to River?
>>> 
>>> On 2/19/2015 6:58 AM, Greg Trasuk wrote:
>>>> 
>>>> The type of issues you’re talking about seem to be centred on putting
>>>> Jini services on the open internet, and allowing untrusted, unknown
>>>> clients to access those services safely.
>>>> 
>>>> Personally, my interest is more along the lines of Jini’s original
>>>> goal, which was LAN-scoped or datacenter-scoped SOA.   Further, I   use
>>>> it on more controlled networks.   As far as I’m concerned, only code
>>>> that I trust gets on the network.   In a larger corporate scenario, I
>>>> might lock down access to Reggie, but beyond that, I don’t consider
>>>> DOS a threat.   I think it would make sense to be able to put a byte
>>>> limit on the stream used to load the class, and possibly a time
>>>> limit, but beyond that, I think you’re adding complexity that isn’t
>>>> needed.   If you want to put a service on the web, use RESTful
>>>> services, not Jini.   I’m sure there’s a discoverability tool out
>>>> there, if needed, but typically it isn’t.
>>>> 
>>>> Also, since object serialization is not specific to River, I wonder
>>>> if there’s a better forum for these kinds of deep discussions.   I
>>>> think it makes River look far harder than it is.
>>>> 
>>>> Cheers,
>>>> 
>>>> Greg Trasuk.
>>>> 
>>>> On Feb 19, 2015, at 9:03 AM, Peter <j...@zeus.net.au> wrote:
>>>> 
>>>>> What are your thoughts on security?
>>>>> 
>>>>> Is it important to you?   Is it important for River?
>>>>> 
>>>>> Regards,
>>>>> 
>>>>> Peter.
>>>> 
>> 
> 

Reply via email to