Diva Canto wrote:
> Justin Clark-Casey wrote:
>> Just so I'm clear, your new scheme proposes the following steps?
>> 1)  When a client enters a new region (whether by initial login, teleport or 
>> region crossing), the region server will 
>> ask the user server if the IP given by the client matches that which it has 
>> previously stored on the user login?
>>   
> Almost yes. Technically, for region crossings the child agent is already 
> there. The authentication is done upon creation of the child agent 
> circuit data and creation of the client. NewUserConnection and 
> AddNewClient are called for child agents too. So the authentication does 
> not happen upon region crossing, it happens before, when the child agent 
> is established.
>> 2)  If these addresses match, then a further validation against spoofing is 
>> performed by pinging the client using the 
>> StartPingCheck.  A client spoofing the address will not be able to reply.
>>
>>   
> 
> Yes. To be precise, the spoofer may "reply", that is, it may send a 
> CompletePingCheck packet to the server. But it will have to guess what 
> the seq number is. Flooding the server with all 128 possible values 
> won't help, because the server will be waiting for exactly the number it 
> sent out. If it sees that the client is sending other numbers, it will 
> be unhappy and will refuse to interact with that client.

I must admit, I'm surprised that the spoofer can receive the packet at all if 
it's being sent to the IP given (the 
spoofed one).  But I shall bow to those with superior raw sockets knowledge 
than myself.

--
justincc
Justin Clark-Casey
http://justincc.wordpress.com
_______________________________________________
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev

Reply via email to