From 40c7faf1c22ada57ea4c809d7a8bf4fed02a4fbe Mon Sep 17 00:00:00 2001 From: Latif Khalifa Date: Tue, 19 May 2009 09:05:34 +0000 Subject: [PATCH] LIBOMV-546 Fix XML-RPC login on login redirects git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2782 52acb1d6-8a22-11de-b505-999d5b087335 --- OpenMetaverse/Login.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/OpenMetaverse/Login.cs b/OpenMetaverse/Login.cs index ff463b88..ead5e1ac 100644 --- a/OpenMetaverse/Login.cs +++ b/OpenMetaverse/Login.cs @@ -308,6 +308,15 @@ namespace OpenMetaverse { Login = (string)reply["login"]; Success = Login == "true"; + + // Parse redirect options + if (Login == "indeterminate") + { + NextUrl = ParseString("next_url", reply); + NextDuration = (int)ParseUInt("next_duration", reply); + NextMethod = ParseString("next_method", reply); + NextOptions = (string[])((ArrayList)reply["next_options"]).ToArray(typeof(string)); + } } } catch (Exception e) @@ -1558,6 +1567,8 @@ namespace OpenMetaverse UpdateLoginStatus(LoginStatus.Redirecting, "Redirecting login..."); LoginParams loginParams = CurrentContext.Value; loginParams.URI = reply.NextUrl; + loginParams.MethodName = reply.NextMethod; + loginParams.Options = reply.NextOptions; //CurrentContext.Value.MethodName = reply.next_method; // Sleep for some amount of time while the servers work @@ -1782,4 +1793,4 @@ namespace OpenMetaverse #endregion } -} +} \ No newline at end of file