diff --git a/OpenMetaverse/Login.cs b/OpenMetaverse/Login.cs index 67831892..703f5a87 100644 --- a/OpenMetaverse/Login.cs +++ b/OpenMetaverse/Login.cs @@ -640,25 +640,6 @@ namespace OpenMetaverse #endregion Structs - /// - /// Overrides SSL certificate validation check for Mono - /// - /// Remove me when MONO can handle ServerCertificateValidationCallback - public class AcceptAllCertificatePolicy : ICertificatePolicy - { - public AcceptAllCertificatePolicy() - { - } - - public bool CheckValidationResult(ServicePoint sPoint, - System.Security.Cryptography.X509Certificates.X509Certificate cert, - WebRequest wRequest, int certProb) - { - // Always accept - return true; - } - } - /// /// Login Routines /// @@ -942,12 +923,9 @@ namespace OpenMetaverse #endregion - // Override SSL authentication mechanisms. DO NOT convert this to the - // .NET 2.0 preferred method, the equivalent function in Mono has a - // different name and it will break compatibility! - #pragma warning disable 0618 - ServicePointManager.CertificatePolicy = new AcceptAllCertificatePolicy(); + // Override SSL authentication mechanisms // TODO: At some point, maybe we should check the cert? + ServicePointManager.ServerCertificateValidationCallback = OpenMetaverse.Http.TrustAllCertificatePolicy.TrustAllCertificateHandler; if (Client.Settings.USE_LLSD_LOGIN) { diff --git a/Programs/GridProxy/GridProxy.cs b/Programs/GridProxy/GridProxy.cs index 62a5879c..d2de4249 100644 --- a/Programs/GridProxy/GridProxy.cs +++ b/Programs/GridProxy/GridProxy.cs @@ -187,6 +187,8 @@ namespace GridProxy { this.proxyConfig = proxyConfig; + ServicePointManager.ServerCertificateValidationCallback = OpenMetaverse.Http.TrustAllCertificatePolicy.TrustAllCertificateHandler; + InitializeLoginProxy(); InitializeSimProxy(); InitializeCaps(); @@ -1085,7 +1087,6 @@ namespace GridProxy private void ProxyLoginSD(NetworkStream netStream, byte[] content) { lock (this) { - ServicePointManager.CertificatePolicy = new OpenMetaverse.AcceptAllCertificatePolicy(); AutoResetEvent remoteComplete = new AutoResetEvent(false); CapsClient loginRequest = new CapsClient(proxyConfig.remoteLoginUri); OSD response = null; diff --git a/Programs/examples/TestClient/Commands/Prims/PrimInfoCommand.cs b/Programs/examples/TestClient/Commands/Prims/PrimInfoCommand.cs index 7600e0c7..613084f4 100644 --- a/Programs/examples/TestClient/Commands/Prims/PrimInfoCommand.cs +++ b/Programs/examples/TestClient/Commands/Prims/PrimInfoCommand.cs @@ -1,4 +1,5 @@ using System; +using System.Threading; using OpenMetaverse; namespace OpenMetaverse.TestClient @@ -55,6 +56,23 @@ namespace OpenMetaverse.TestClient Logger.Log("null", Helpers.LogLevel.Info, Client); } + AutoResetEvent propsEvent = new AutoResetEvent(false); + ObjectManager.ObjectPropertiesCallback propsCallback = + delegate(Simulator simulator, Primitive.ObjectProperties props) + { + Logger.Log(String.Format( + "Category: {0}\nFolderID: {1}\nFromTaskID: {2}\nInventorySerial: {3}\nItemID: {4}", + props.Category, props.FolderID, props.FromTaskID, props.InventorySerial, props.ItemID), Helpers.LogLevel.Info); + propsEvent.Set(); + }; + + Client.Objects.OnObjectProperties += propsCallback; + + Client.Objects.SelectObject(Client.Network.CurrentSim, target.LocalID, true); + + propsEvent.WaitOne(1000 * 10, false); + Client.Objects.OnObjectProperties -= propsCallback; + return "Done."; } else