[sldev] alternative os support?
John Hurliman
jhurliman at wsu.edu
Tue Jan 23 15:22:05 PST 2007
Joshua Bell wrote:
> One current use of this handshake is to be able to say "there is a
> newer viewer version available for your platform" - either required or
> optional.
>
> * Optional usually indicates that bug fixes are available
> * Required usually indicates:
> ** a protocol change
> ** a client-side exploit was discovered/patched
> ** a bug in the viewer is causing content loss or DoSing the grid
>
> Obviously, viewers can lie, in which case:
>
> * They won't be told of optional updates - well duh, it's not an
> official build anyway
> * They would be using an incompatible protocol - and stop working in
> short order
> * They would be vulnerable to a client-side exploit - so update to the
> latest code
> * They would continue to DoS the grid - but a malicious viewer can do
> this anyway
>
> As the Second Life ecosystem evolves I presume that some day the
> viewer/server protocol will be open and stable enough that most of
> these issues go away and that this sort of handshake is informational
> only. And then some day this will hopefully be like the web, where the
> thought of a web site telling you to upgrade your browser is
> anathema. However we're not there now, all but a small fraction of
> residents get their viewers from a single source, and the protocol
> does change on a frequent basis. So this handshake still makes sense.
>
> We'll hardly ever do server-side differentiation based on viewer
> platform. We have done this a few times recently when there was a
> Mac-only fix - no point in forcing the Windows users to update.
> (Following this thread, you'll see that we are currently unable to do
> that distinction for Windows vs. Linux users - sorry!) Generally, the
> optional/required versions advance in lockstep.
>
> ...
>
> So yes, we wouldn't add "bsd" to the list of valid clients, and should
> instead evolve this handshake to accommodate viewers build by other
> parties. Off the top of my head for short-term approaches would be to
> add Linux (which for the foreseeable future will be the UN*Xy platform
> targeted by Linden builds) and perhaps add an "other" token of some
> variety that can be used to tell users who have built their own
> viewers that the protocol has changed.
>
> Opinions? What makes sense? What information should be provided in
> this handshake such that a sufficient warning can be shown? (And
> consider the scenario that you've built the viewer yourself vs. the
> future scenario of having downloaded the viewer from a third party
> provider.)
>
It would be very handy if you could publish the protocol update along
with notice that the protocol has changed. Right now libsecondlife is
using a daemon to scrape for client updates on the website and extract
the protocol file, but downloading a 30MB tarball to get to a 200KB
message_template.msg file isn't very efficient, and our scraper doesn't
seem to be very reliable either.
John Hurliman
More information about the SLDev
mailing list