Disassembled CarotDav v1.14.7 with dotPeek 2017.2
This commit is contained in:
12
Rei.Fs.Webdav/AssemblyInfo.cs
Normal file
12
Rei.Fs.Webdav/AssemblyInfo.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyCompany("Rei Software")]
|
||||
[assembly: AssemblyCopyright("Copyright (C) Rei HOBARA 2007-2016")]
|
||||
[assembly: AssemblyDescription("WebDAV Support Library")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyTitle("Rei.Fs.WebDAV")]
|
||||
[assembly: AssemblyProduct("Rei.Fs.WebDAV")]
|
||||
[assembly: Guid("72c8af21-4017-4407-a1e4-2bba7bae25f0")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: AssemblyVersion("1.13.2.18288")]
|
||||
275
Rei.Fs.Webdav/ConnectionSetting.cs
Normal file
275
Rei.Fs.Webdav/ConnectionSetting.cs
Normal file
@@ -0,0 +1,275 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Rei.Fs.Webdav.ConnectionSetting
|
||||
// Assembly: Rei.Fs.Webdav, Version=1.13.2.18288, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: D30DD1E3-8520-48B5-AAE5-C87970350A82
|
||||
// Assembly location: F:\Eigene Dateien\Dropbox\portable Collection\Progs\CarotDAV\Rei.Fs.Webdav.dll
|
||||
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Net;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace Rei.Fs.Webdav
|
||||
{
|
||||
[Serializable]
|
||||
public class ConnectionSetting : ConnectionSettingBase
|
||||
{
|
||||
public bool UseDefaultCredential;
|
||||
public List<string> ClientCertificates;
|
||||
public bool UsePreAuthentication_Basic;
|
||||
public bool UsePreAuthentication_WSSE;
|
||||
private string[] pAuthModules;
|
||||
[XmlIgnore]
|
||||
public SslProtocols DisableTlsVersions;
|
||||
public string URIRequestEncoding;
|
||||
public string URIResponseEncoding;
|
||||
public string CredentialEncoding;
|
||||
public bool DontRequestGzip;
|
||||
public bool DontRequestDeflate;
|
||||
public bool RequestTranslatef;
|
||||
public bool DontExpect100;
|
||||
public bool SendEmptyPUT;
|
||||
public bool DontUpdateProperty;
|
||||
public bool UseFullUriInDestinationHeader;
|
||||
public string UploadCompression;
|
||||
public bool DontVerifyContentRange;
|
||||
public bool RedirectionCollectionOnly;
|
||||
public bool RemoveLastSlashOnMKCOL;
|
||||
public bool DisableUploadResume;
|
||||
|
||||
public ConnectionSetting()
|
||||
{
|
||||
this.UseDefaultCredential = false;
|
||||
this.UsePreAuthentication_Basic = false;
|
||||
this.UsePreAuthentication_WSSE = false;
|
||||
this.AuthModules = new string[0];
|
||||
this.DisableTlsVersions = SslProtocols.None;
|
||||
this.ClientCertificates = new List<string>();
|
||||
this.URIRequestEncoding = "UTF-8";
|
||||
this.URIResponseEncoding = "UTF-8";
|
||||
this.CredentialEncoding = "UTF-8";
|
||||
this.DontRequestGzip = false;
|
||||
this.DontRequestDeflate = false;
|
||||
this.RequestTranslatef = true;
|
||||
this.DontExpect100 = false;
|
||||
this.SendEmptyPUT = false;
|
||||
this.DontUpdateProperty = false;
|
||||
this.UseFullUriInDestinationHeader = true;
|
||||
this.DontVerifyContentRange = false;
|
||||
this.RedirectionCollectionOnly = false;
|
||||
this.RemoveLastSlashOnMKCOL = true;
|
||||
this.UploadCompression = "None";
|
||||
this.DisableUploadResume = true;
|
||||
}
|
||||
|
||||
public static string TypeName
|
||||
{
|
||||
get
|
||||
{
|
||||
return "WebDAV";
|
||||
}
|
||||
}
|
||||
|
||||
public static bool TryCreate(Uri target, ref ConnectionSettingBase c)
|
||||
{
|
||||
if (Operators.CompareString(target.Scheme, Uri.UriSchemeHttp, false) != 0 && Operators.CompareString(target.Scheme, Uri.UriSchemeHttps, false) != 0)
|
||||
return false;
|
||||
c = (ConnectionSettingBase) new ConnectionSetting();
|
||||
c.TargetUri = target;
|
||||
return true;
|
||||
}
|
||||
|
||||
public new static Icon GetDefaultFavicon()
|
||||
{
|
||||
return Rei.Fs.Webdav.My.Resources.Resources.WebDAVFolder;
|
||||
}
|
||||
|
||||
public override SecureType SecureType
|
||||
{
|
||||
get
|
||||
{
|
||||
return Operators.CompareString(this.TargetUri.Scheme, Uri.UriSchemeHttps, false) == 0 ? SecureType.Secure : SecureType.None;
|
||||
}
|
||||
}
|
||||
|
||||
[XmlIgnore]
|
||||
public string[] AuthModules
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.pAuthModules;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value == null)
|
||||
value = new string[0];
|
||||
this.pAuthModules = value;
|
||||
}
|
||||
}
|
||||
|
||||
[Browsable(false)]
|
||||
[XmlElement("AuthModules")]
|
||||
public string AuthModules_ForSerialization
|
||||
{
|
||||
get
|
||||
{
|
||||
return string.Join(",", this.pAuthModules);
|
||||
}
|
||||
set
|
||||
{
|
||||
this.pAuthModules = value.Split(new char[2]
|
||||
{
|
||||
' ',
|
||||
','
|
||||
}, StringSplitOptions.RemoveEmptyEntries);
|
||||
}
|
||||
}
|
||||
|
||||
[XmlElement("DisableTlsVersions")]
|
||||
[Browsable(false)]
|
||||
public string DisableTlsVersions_ForSerialization
|
||||
{
|
||||
get
|
||||
{
|
||||
string str = "";
|
||||
if ((this.DisableTlsVersions & SslProtocols.Ssl2) != SslProtocols.None)
|
||||
str += "ssl2 ";
|
||||
if ((this.DisableTlsVersions & SslProtocols.Ssl3) != SslProtocols.None)
|
||||
str += "ssl3 ";
|
||||
if ((this.DisableTlsVersions & SslProtocols.Tls) != SslProtocols.None)
|
||||
str += "tls10 ";
|
||||
if ((this.DisableTlsVersions & SslProtocols.Tls11) != SslProtocols.None)
|
||||
str += "tls11 ";
|
||||
if ((this.DisableTlsVersions & SslProtocols.Tls12) != SslProtocols.None)
|
||||
str += "tls12 ";
|
||||
return str.Trim();
|
||||
}
|
||||
set
|
||||
{
|
||||
this.DisableTlsVersions = SslProtocols.None;
|
||||
value = value.ToLowerInvariant();
|
||||
if (value.Contains("ssl2"))
|
||||
this.DisableTlsVersions = this.DisableTlsVersions | SslProtocols.Ssl2;
|
||||
if (value.Contains("ssl3"))
|
||||
this.DisableTlsVersions = this.DisableTlsVersions | SslProtocols.Ssl3;
|
||||
if (value.Contains("tls10"))
|
||||
this.DisableTlsVersions = this.DisableTlsVersions | SslProtocols.Tls;
|
||||
if (value.Contains("tls11"))
|
||||
this.DisableTlsVersions = this.DisableTlsVersions | SslProtocols.Tls11;
|
||||
if (!value.Contains("tls12"))
|
||||
return;
|
||||
this.DisableTlsVersions = this.DisableTlsVersions | SslProtocols.Tls12;
|
||||
}
|
||||
}
|
||||
|
||||
public override FsBase GetBaseClient()
|
||||
{
|
||||
return (FsBase) this.InnerGetClient();
|
||||
}
|
||||
|
||||
public WebdavFs InnerGetClient()
|
||||
{
|
||||
WebdavFs webdavFs = new WebdavFs(this);
|
||||
webdavFs.UseDefaultCredential = this.UseDefaultCredential;
|
||||
webdavFs.UsePreAuthentication_Basic = this.UsePreAuthentication_Basic;
|
||||
webdavFs.UsePreAuthentication_WSSE = this.UsePreAuthentication_WSSE;
|
||||
webdavFs.AuthModules = this.AuthModules;
|
||||
webdavFs.DisableTlsVersions = this.DisableTlsVersions;
|
||||
X509Store x509Store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
|
||||
x509Store.Open(OpenFlags.ReadOnly);
|
||||
try
|
||||
{
|
||||
int num1 = 0;
|
||||
int num2 = checked (this.ClientCertificates.Count - 1);
|
||||
int index1 = num1;
|
||||
while (index1 <= num2)
|
||||
{
|
||||
int num3 = 0;
|
||||
int num4 = checked (x509Store.Certificates.Count - 1);
|
||||
int index2 = num3;
|
||||
while (index2 <= num4)
|
||||
{
|
||||
if (Operators.CompareString(this.ClientCertificates[index1], x509Store.Certificates[index2].Thumbprint, false) == 0)
|
||||
{
|
||||
webdavFs.ClientCertificates.Add(x509Store.Certificates[index2]);
|
||||
break;
|
||||
}
|
||||
checked { ++index2; }
|
||||
}
|
||||
checked { ++index1; }
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
x509Store.Close();
|
||||
}
|
||||
webdavFs.URIRequestEncoding = Encoding.GetEncoding(this.URIRequestEncoding.Trim());
|
||||
webdavFs.URIResponseEncoding = Encoding.GetEncoding(this.URIResponseEncoding.Trim());
|
||||
webdavFs.CredentialEncoding = Encoding.GetEncoding(this.CredentialEncoding.Trim());
|
||||
webdavFs.DontRequestGzip = this.DontRequestGzip;
|
||||
webdavFs.DontRequestDeflate = this.DontRequestDeflate;
|
||||
webdavFs.RequestTranslatef = this.RequestTranslatef;
|
||||
webdavFs.DontExpect100 = this.DontExpect100;
|
||||
webdavFs.SendEmptyPUT = this.SendEmptyPUT;
|
||||
webdavFs.DontUpdateProperty = this.DontUpdateProperty;
|
||||
webdavFs.UseFullUriInDestinationHeader = this.UseFullUriInDestinationHeader;
|
||||
webdavFs.DontVerifyContentRange = this.DontVerifyContentRange;
|
||||
webdavFs.RedirectionCollectionOnly = this.RedirectionCollectionOnly;
|
||||
webdavFs.UploadCompression = this.UploadCompression;
|
||||
webdavFs.RemoveLastSlashOnMKCOL = this.RemoveLastSlashOnMKCOL;
|
||||
webdavFs.DisableUploadResume = this.DisableUploadResume;
|
||||
if (this.Proxy == ProxyType.Default)
|
||||
webdavFs.Proxy = WebRequest.GetSystemWebProxy();
|
||||
else if (this.Proxy == ProxyType.Specify)
|
||||
{
|
||||
int length = this.ProxyUserName.IndexOf("\\");
|
||||
NetworkCredential networkCredential = length < 0 ? new NetworkCredential(this.ProxyUserName, this.ProxyPassword) : new NetworkCredential(this.ProxyUserName.Substring(checked (length + 1)), this.ProxyPassword, this.ProxyUserName.Substring(0, length));
|
||||
webdavFs.Proxy = (IWebProxy) new WebProxy(this.ProxyUri, this.ProxyByPassLocal, this.ProxyByPassList, (ICredentials) networkCredential);
|
||||
}
|
||||
else
|
||||
webdavFs.Proxy = (IWebProxy) null;
|
||||
webdavFs.ConnectTimeout = this.ConnectTimeout;
|
||||
webdavFs.ReadWriteTimeout = this.ReadWriteTimeout;
|
||||
return webdavFs;
|
||||
}
|
||||
|
||||
public override Form GetSettingForm()
|
||||
{
|
||||
return (Form) new ConnectionSettingForm();
|
||||
}
|
||||
|
||||
public override bool DoAuthorization(Uri target, bool PersistSelectable)
|
||||
{
|
||||
using (AuthDialog authDialog = new AuthDialog())
|
||||
{
|
||||
authDialog.Target = target.ToString();
|
||||
authDialog.UserName = this.UserName;
|
||||
authDialog.Password = this.Password;
|
||||
if (PersistSelectable && !this.DontSave)
|
||||
{
|
||||
authDialog.ShowRememberCheckBox = true;
|
||||
authDialog.Remember = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
authDialog.ShowRememberCheckBox = false;
|
||||
authDialog.Remember = true;
|
||||
}
|
||||
if (authDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
this.SetUserPass(authDialog.UserName, authDialog.Password);
|
||||
if (authDialog.Remember)
|
||||
this.NeedPersist = true;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
3493
Rei.Fs.Webdav/ConnectionSettingForm.cs
Normal file
3493
Rei.Fs.Webdav/ConnectionSettingForm.cs
Normal file
File diff suppressed because it is too large
Load Diff
120
Rei.Fs.Webdav/ConnectionSettingForm.resx
Normal file
120
Rei.Fs.Webdav/ConnectionSettingForm.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
889
Rei.Fs.Webdav/ConnectionTestForm.cs
Normal file
889
Rei.Fs.Webdav/ConnectionTestForm.cs
Normal file
@@ -0,0 +1,889 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Rei.Fs.Webdav.ConnectionTestForm
|
||||
// Assembly: Rei.Fs.Webdav, Version=1.13.2.18288, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: D30DD1E3-8520-48B5-AAE5-C87970350A82
|
||||
// Assembly location: F:\Eigene Dateien\Dropbox\portable Collection\Progs\CarotDAV\Rei.Fs.Webdav.dll
|
||||
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.Net;
|
||||
using System.Net.Security;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Rei.Fs.Webdav
|
||||
{
|
||||
[DesignerGenerated]
|
||||
public class ConnectionTestForm : Form
|
||||
{
|
||||
private IContainer components;
|
||||
[AccessedThroughProperty("OPTIONSCheck")]
|
||||
private CheckBox _OPTIONSCheck;
|
||||
[AccessedThroughProperty("DAVClass1Check")]
|
||||
private CheckBox _DAVClass1Check;
|
||||
[AccessedThroughProperty("DAVClass2Check")]
|
||||
private CheckBox _DAVClass2Check;
|
||||
[AccessedThroughProperty("ResolveDNSCheck")]
|
||||
private CheckBox _ResolveDNSCheck;
|
||||
[AccessedThroughProperty("UriTextBox")]
|
||||
private TextBox _UriTextBox;
|
||||
[AccessedThroughProperty("Label1")]
|
||||
private Label _Label1;
|
||||
[AccessedThroughProperty("OKButton")]
|
||||
private Button _OKButton;
|
||||
[AccessedThroughProperty("ValidURICheck")]
|
||||
private CheckBox _ValidURICheck;
|
||||
[AccessedThroughProperty("Timer1")]
|
||||
private System.Windows.Forms.Timer _Timer1;
|
||||
[AccessedThroughProperty("HTTP11Check")]
|
||||
private CheckBox _HTTP11Check;
|
||||
[AccessedThroughProperty("PROPFINDCheck")]
|
||||
private CheckBox _PROPFINDCheck;
|
||||
[AccessedThroughProperty("OPTIONSAuthText")]
|
||||
private TextBox _OPTIONSAuthText;
|
||||
[AccessedThroughProperty("PROPFINDAuthText")]
|
||||
private TextBox _PROPFINDAuthText;
|
||||
[AccessedThroughProperty("DetailTextBox")]
|
||||
private TextBox _DetailTextBox;
|
||||
[AccessedThroughProperty("CertAvailCheckBox")]
|
||||
private CheckBox _CertAvailCheckBox;
|
||||
[AccessedThroughProperty("CertChainCheckBox")]
|
||||
private CheckBox _CertChainCheckBox;
|
||||
[AccessedThroughProperty("CertNameCheckBox")]
|
||||
private CheckBox _CertNameCheckBox;
|
||||
[AccessedThroughProperty("GroupBox1")]
|
||||
private GroupBox _GroupBox1;
|
||||
[AccessedThroughProperty("DAVClass3Check")]
|
||||
private CheckBox _DAVClass3Check;
|
||||
[AccessedThroughProperty("MethodsTextBox")]
|
||||
private TextBox _MethodsTextBox;
|
||||
[AccessedThroughProperty("Label2")]
|
||||
private Label _Label2;
|
||||
[AccessedThroughProperty("TextBoxSSLVersion")]
|
||||
private TextBox _TextBoxSSLVersion;
|
||||
[AccessedThroughProperty("Label3")]
|
||||
private Label _Label3;
|
||||
private string puser;
|
||||
private string ppass;
|
||||
private ConnectionSetting pSetting;
|
||||
private const string GroupName = "Test";
|
||||
|
||||
public ConnectionTestForm()
|
||||
{
|
||||
this.Load += new EventHandler(this.ConnectionTestForm_Load);
|
||||
this.InitializeComponent();
|
||||
}
|
||||
|
||||
[DebuggerNonUserCode]
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!disposing || this.components == null)
|
||||
return;
|
||||
this.components.Dispose();
|
||||
}
|
||||
finally
|
||||
{
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerStepThrough]
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = (IContainer) new System.ComponentModel.Container();
|
||||
this.OPTIONSCheck = new CheckBox();
|
||||
this.DAVClass1Check = new CheckBox();
|
||||
this.DAVClass2Check = new CheckBox();
|
||||
this.ResolveDNSCheck = new CheckBox();
|
||||
this.UriTextBox = new TextBox();
|
||||
this.Label1 = new Label();
|
||||
this.OKButton = new Button();
|
||||
this.ValidURICheck = new CheckBox();
|
||||
this.Timer1 = new System.Windows.Forms.Timer(this.components);
|
||||
this.HTTP11Check = new CheckBox();
|
||||
this.PROPFINDCheck = new CheckBox();
|
||||
this.OPTIONSAuthText = new TextBox();
|
||||
this.PROPFINDAuthText = new TextBox();
|
||||
this.DetailTextBox = new TextBox();
|
||||
this.CertAvailCheckBox = new CheckBox();
|
||||
this.CertChainCheckBox = new CheckBox();
|
||||
this.CertNameCheckBox = new CheckBox();
|
||||
this.GroupBox1 = new GroupBox();
|
||||
this.Label3 = new Label();
|
||||
this.TextBoxSSLVersion = new TextBox();
|
||||
this.DAVClass3Check = new CheckBox();
|
||||
this.MethodsTextBox = new TextBox();
|
||||
this.Label2 = new Label();
|
||||
this.GroupBox1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
this.OPTIONSCheck.AutoCheck = false;
|
||||
this.OPTIONSCheck.AutoSize = true;
|
||||
CheckBox optionsCheck1 = this.OPTIONSCheck;
|
||||
Point point1 = new Point(16, 104);
|
||||
Point point2 = point1;
|
||||
optionsCheck1.Location = point2;
|
||||
this.OPTIONSCheck.Name = "OPTIONSCheck";
|
||||
CheckBox optionsCheck2 = this.OPTIONSCheck;
|
||||
Size size1 = new Size(72, 16);
|
||||
Size size2 = size1;
|
||||
optionsCheck2.Size = size2;
|
||||
this.OPTIONSCheck.TabIndex = 5;
|
||||
this.OPTIONSCheck.Text = "OPTIONS";
|
||||
this.OPTIONSCheck.UseVisualStyleBackColor = true;
|
||||
this.DAVClass1Check.AutoCheck = false;
|
||||
this.DAVClass1Check.AutoSize = true;
|
||||
CheckBox davClass1Check1 = this.DAVClass1Check;
|
||||
point1 = new Point(32, 128);
|
||||
Point point3 = point1;
|
||||
davClass1Check1.Location = point3;
|
||||
this.DAVClass1Check.Name = "DAVClass1Check";
|
||||
CheckBox davClass1Check2 = this.DAVClass1Check;
|
||||
size1 = new Size(89, 16);
|
||||
Size size3 = size1;
|
||||
davClass1Check2.Size = size3;
|
||||
this.DAVClass1Check.TabIndex = 7;
|
||||
this.DAVClass1Check.Text = "DAV class 1";
|
||||
this.DAVClass1Check.UseVisualStyleBackColor = true;
|
||||
this.DAVClass2Check.AutoCheck = false;
|
||||
this.DAVClass2Check.AutoSize = true;
|
||||
CheckBox davClass2Check1 = this.DAVClass2Check;
|
||||
point1 = new Point(32, 152);
|
||||
Point point4 = point1;
|
||||
davClass2Check1.Location = point4;
|
||||
this.DAVClass2Check.Name = "DAVClass2Check";
|
||||
CheckBox davClass2Check2 = this.DAVClass2Check;
|
||||
size1 = new Size(89, 16);
|
||||
Size size4 = size1;
|
||||
davClass2Check2.Size = size4;
|
||||
this.DAVClass2Check.TabIndex = 8;
|
||||
this.DAVClass2Check.Text = "DAV class 2";
|
||||
this.DAVClass2Check.UseVisualStyleBackColor = true;
|
||||
this.ResolveDNSCheck.AutoCheck = false;
|
||||
this.ResolveDNSCheck.AutoSize = true;
|
||||
CheckBox resolveDnsCheck1 = this.ResolveDNSCheck;
|
||||
point1 = new Point(16, 56);
|
||||
Point point5 = point1;
|
||||
resolveDnsCheck1.Location = point5;
|
||||
this.ResolveDNSCheck.Name = "ResolveDNSCheck";
|
||||
CheckBox resolveDnsCheck2 = this.ResolveDNSCheck;
|
||||
size1 = new Size(92, 16);
|
||||
Size size5 = size1;
|
||||
resolveDnsCheck2.Size = size5;
|
||||
this.ResolveDNSCheck.TabIndex = 3;
|
||||
this.ResolveDNSCheck.Text = "Resolve DNS";
|
||||
this.ResolveDNSCheck.UseVisualStyleBackColor = true;
|
||||
this.UriTextBox.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
||||
TextBox uriTextBox1 = this.UriTextBox;
|
||||
point1 = new Point(48, 8);
|
||||
Point point6 = point1;
|
||||
uriTextBox1.Location = point6;
|
||||
this.UriTextBox.Name = "UriTextBox";
|
||||
this.UriTextBox.ReadOnly = true;
|
||||
TextBox uriTextBox2 = this.UriTextBox;
|
||||
size1 = new Size(336, 19);
|
||||
Size size6 = size1;
|
||||
uriTextBox2.Size = size6;
|
||||
this.UriTextBox.TabIndex = 1;
|
||||
this.Label1.AutoSize = true;
|
||||
Label label1_1 = this.Label1;
|
||||
point1 = new Point(16, 8);
|
||||
Point point7 = point1;
|
||||
label1_1.Location = point7;
|
||||
this.Label1.Name = "Label1";
|
||||
Label label1_2 = this.Label1;
|
||||
size1 = new Size(24, 12);
|
||||
Size size7 = size1;
|
||||
label1_2.Size = size7;
|
||||
this.Label1.TabIndex = 0;
|
||||
this.Label1.Text = "URI";
|
||||
this.Label1.TextAlign = ContentAlignment.MiddleLeft;
|
||||
this.OKButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
|
||||
this.OKButton.DialogResult = DialogResult.Cancel;
|
||||
Button okButton1 = this.OKButton;
|
||||
point1 = new Point(312, 314);
|
||||
Point point8 = point1;
|
||||
okButton1.Location = point8;
|
||||
this.OKButton.Name = "OKButton";
|
||||
Button okButton2 = this.OKButton;
|
||||
size1 = new Size(72, 24);
|
||||
Size size8 = size1;
|
||||
okButton2.Size = size8;
|
||||
this.OKButton.TabIndex = 16;
|
||||
this.OKButton.Text = "OK";
|
||||
this.OKButton.UseVisualStyleBackColor = true;
|
||||
this.ValidURICheck.AutoCheck = false;
|
||||
this.ValidURICheck.AutoSize = true;
|
||||
CheckBox validUriCheck1 = this.ValidURICheck;
|
||||
point1 = new Point(16, 32);
|
||||
Point point9 = point1;
|
||||
validUriCheck1.Location = point9;
|
||||
this.ValidURICheck.Name = "ValidURICheck";
|
||||
CheckBox validUriCheck2 = this.ValidURICheck;
|
||||
size1 = new Size(73, 16);
|
||||
Size size9 = size1;
|
||||
validUriCheck2.Size = size9;
|
||||
this.ValidURICheck.TabIndex = 2;
|
||||
this.ValidURICheck.Text = "Valid URI";
|
||||
this.ValidURICheck.UseVisualStyleBackColor = true;
|
||||
this.HTTP11Check.AutoCheck = false;
|
||||
this.HTTP11Check.AutoSize = true;
|
||||
CheckBox httP11Check1 = this.HTTP11Check;
|
||||
point1 = new Point(16, 80);
|
||||
Point point10 = point1;
|
||||
httP11Check1.Location = point10;
|
||||
this.HTTP11Check.Name = "HTTP11Check";
|
||||
CheckBox httP11Check2 = this.HTTP11Check;
|
||||
size1 = new Size(73, 16);
|
||||
Size size10 = size1;
|
||||
httP11Check2.Size = size10;
|
||||
this.HTTP11Check.TabIndex = 4;
|
||||
this.HTTP11Check.Text = "HTTP/1.1";
|
||||
this.HTTP11Check.UseVisualStyleBackColor = true;
|
||||
this.PROPFINDCheck.AutoCheck = false;
|
||||
this.PROPFINDCheck.AutoSize = true;
|
||||
CheckBox propfindCheck1 = this.PROPFINDCheck;
|
||||
point1 = new Point(16, 200);
|
||||
Point point11 = point1;
|
||||
propfindCheck1.Location = point11;
|
||||
this.PROPFINDCheck.Name = "PROPFINDCheck";
|
||||
CheckBox propfindCheck2 = this.PROPFINDCheck;
|
||||
size1 = new Size(80, 16);
|
||||
Size size11 = size1;
|
||||
propfindCheck2.Size = size11;
|
||||
this.PROPFINDCheck.TabIndex = 12;
|
||||
this.PROPFINDCheck.Text = "PROPFIND";
|
||||
this.PROPFINDCheck.UseVisualStyleBackColor = true;
|
||||
TextBox optionsAuthText1 = this.OPTIONSAuthText;
|
||||
point1 = new Point(104, 104);
|
||||
Point point12 = point1;
|
||||
optionsAuthText1.Location = point12;
|
||||
this.OPTIONSAuthText.Name = "OPTIONSAuthText";
|
||||
this.OPTIONSAuthText.ReadOnly = true;
|
||||
TextBox optionsAuthText2 = this.OPTIONSAuthText;
|
||||
size1 = new Size(104, 19);
|
||||
Size size12 = size1;
|
||||
optionsAuthText2.Size = size12;
|
||||
this.OPTIONSAuthText.TabIndex = 6;
|
||||
TextBox propfindAuthText1 = this.PROPFINDAuthText;
|
||||
point1 = new Point(104, 200);
|
||||
Point point13 = point1;
|
||||
propfindAuthText1.Location = point13;
|
||||
this.PROPFINDAuthText.Name = "PROPFINDAuthText";
|
||||
this.PROPFINDAuthText.ReadOnly = true;
|
||||
TextBox propfindAuthText2 = this.PROPFINDAuthText;
|
||||
size1 = new Size(104, 19);
|
||||
Size size13 = size1;
|
||||
propfindAuthText2.Size = size13;
|
||||
this.PROPFINDAuthText.TabIndex = 13;
|
||||
this.DetailTextBox.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
|
||||
TextBox detailTextBox1 = this.DetailTextBox;
|
||||
point1 = new Point(16, 232);
|
||||
Point point14 = point1;
|
||||
detailTextBox1.Location = point14;
|
||||
this.DetailTextBox.Multiline = true;
|
||||
this.DetailTextBox.Name = "DetailTextBox";
|
||||
this.DetailTextBox.ReadOnly = true;
|
||||
TextBox detailTextBox2 = this.DetailTextBox;
|
||||
size1 = new Size(368, 74);
|
||||
Size size14 = size1;
|
||||
detailTextBox2.Size = size14;
|
||||
this.DetailTextBox.TabIndex = 15;
|
||||
this.CertAvailCheckBox.AutoCheck = false;
|
||||
this.CertAvailCheckBox.AutoSize = true;
|
||||
CheckBox certAvailCheckBox1 = this.CertAvailCheckBox;
|
||||
point1 = new Point(8, 72);
|
||||
Point point15 = point1;
|
||||
certAvailCheckBox1.Location = point15;
|
||||
this.CertAvailCheckBox.Name = "CertAvailCheckBox";
|
||||
CheckBox certAvailCheckBox2 = this.CertAvailCheckBox;
|
||||
size1 = new Size(139, 16);
|
||||
Size size15 = size1;
|
||||
certAvailCheckBox2.Size = size15;
|
||||
this.CertAvailCheckBox.TabIndex = 2;
|
||||
this.CertAvailCheckBox.Text = "Certificate Availabitily";
|
||||
this.CertAvailCheckBox.UseVisualStyleBackColor = true;
|
||||
this.CertChainCheckBox.AutoCheck = false;
|
||||
this.CertChainCheckBox.AutoSize = true;
|
||||
CheckBox certChainCheckBox1 = this.CertChainCheckBox;
|
||||
point1 = new Point(8, 24);
|
||||
Point point16 = point1;
|
||||
certChainCheckBox1.Location = point16;
|
||||
this.CertChainCheckBox.Name = "CertChainCheckBox";
|
||||
CheckBox certChainCheckBox2 = this.CertChainCheckBox;
|
||||
size1 = new Size(111, 16);
|
||||
Size size16 = size1;
|
||||
certChainCheckBox2.Size = size16;
|
||||
this.CertChainCheckBox.TabIndex = 0;
|
||||
this.CertChainCheckBox.Text = "Certificate Chain";
|
||||
this.CertChainCheckBox.UseVisualStyleBackColor = true;
|
||||
this.CertNameCheckBox.AutoCheck = false;
|
||||
this.CertNameCheckBox.AutoSize = true;
|
||||
CheckBox certNameCheckBox1 = this.CertNameCheckBox;
|
||||
point1 = new Point(8, 48);
|
||||
Point point17 = point1;
|
||||
certNameCheckBox1.Location = point17;
|
||||
this.CertNameCheckBox.Name = "CertNameCheckBox";
|
||||
CheckBox certNameCheckBox2 = this.CertNameCheckBox;
|
||||
size1 = new Size(111, 16);
|
||||
Size size17 = size1;
|
||||
certNameCheckBox2.Size = size17;
|
||||
this.CertNameCheckBox.TabIndex = 1;
|
||||
this.CertNameCheckBox.Text = "Certificate Name";
|
||||
this.CertNameCheckBox.UseVisualStyleBackColor = true;
|
||||
this.GroupBox1.Controls.Add((Control) this.Label3);
|
||||
this.GroupBox1.Controls.Add((Control) this.TextBoxSSLVersion);
|
||||
this.GroupBox1.Controls.Add((Control) this.CertChainCheckBox);
|
||||
this.GroupBox1.Controls.Add((Control) this.CertAvailCheckBox);
|
||||
this.GroupBox1.Controls.Add((Control) this.CertNameCheckBox);
|
||||
GroupBox groupBox1_1 = this.GroupBox1;
|
||||
point1 = new Point(216, 32);
|
||||
Point point18 = point1;
|
||||
groupBox1_1.Location = point18;
|
||||
this.GroupBox1.Name = "GroupBox1";
|
||||
GroupBox groupBox1_2 = this.GroupBox1;
|
||||
size1 = new Size(168, 136);
|
||||
Size size18 = size1;
|
||||
groupBox1_2.Size = size18;
|
||||
this.GroupBox1.TabIndex = 14;
|
||||
this.GroupBox1.TabStop = false;
|
||||
this.GroupBox1.Text = "Security";
|
||||
this.Label3.AutoSize = true;
|
||||
Label label3_1 = this.Label3;
|
||||
point1 = new Point(8, 96);
|
||||
Point point19 = point1;
|
||||
label3_1.Location = point19;
|
||||
this.Label3.Name = "Label3";
|
||||
Label label3_2 = this.Label3;
|
||||
size1 = new Size(68, 12);
|
||||
Size size19 = size1;
|
||||
label3_2.Size = size19;
|
||||
this.Label3.TabIndex = 10;
|
||||
this.Label3.Text = "SSL Version";
|
||||
this.Label3.TextAlign = ContentAlignment.MiddleLeft;
|
||||
TextBox textBoxSslVersion1 = this.TextBoxSSLVersion;
|
||||
point1 = new Point(8, 112);
|
||||
Point point20 = point1;
|
||||
textBoxSslVersion1.Location = point20;
|
||||
this.TextBoxSSLVersion.Name = "TextBoxSSLVersion";
|
||||
this.TextBoxSSLVersion.ReadOnly = true;
|
||||
TextBox textBoxSslVersion2 = this.TextBoxSSLVersion;
|
||||
size1 = new Size(152, 19);
|
||||
Size size20 = size1;
|
||||
textBoxSslVersion2.Size = size20;
|
||||
this.TextBoxSSLVersion.TabIndex = 3;
|
||||
this.DAVClass3Check.AutoCheck = false;
|
||||
this.DAVClass3Check.AutoSize = true;
|
||||
CheckBox davClass3Check1 = this.DAVClass3Check;
|
||||
point1 = new Point(32, 176);
|
||||
Point point21 = point1;
|
||||
davClass3Check1.Location = point21;
|
||||
this.DAVClass3Check.Name = "DAVClass3Check";
|
||||
CheckBox davClass3Check2 = this.DAVClass3Check;
|
||||
size1 = new Size(89, 16);
|
||||
Size size21 = size1;
|
||||
davClass3Check2.Size = size21;
|
||||
this.DAVClass3Check.TabIndex = 9;
|
||||
this.DAVClass3Check.Text = "DAV class 3";
|
||||
this.DAVClass3Check.UseVisualStyleBackColor = true;
|
||||
this.MethodsTextBox.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
||||
TextBox methodsTextBox1 = this.MethodsTextBox;
|
||||
point1 = new Point(152, 176);
|
||||
Point point22 = point1;
|
||||
methodsTextBox1.Location = point22;
|
||||
this.MethodsTextBox.Name = "MethodsTextBox";
|
||||
this.MethodsTextBox.ReadOnly = true;
|
||||
TextBox methodsTextBox2 = this.MethodsTextBox;
|
||||
size1 = new Size(232, 19);
|
||||
Size size22 = size1;
|
||||
methodsTextBox2.Size = size22;
|
||||
this.MethodsTextBox.TabIndex = 11;
|
||||
this.Label2.AutoSize = true;
|
||||
Label label2_1 = this.Label2;
|
||||
point1 = new Point(152, 160);
|
||||
Point point23 = point1;
|
||||
label2_1.Location = point23;
|
||||
this.Label2.Name = "Label2";
|
||||
Label label2_2 = this.Label2;
|
||||
size1 = new Size(48, 12);
|
||||
Size size23 = size1;
|
||||
label2_2.Size = size23;
|
||||
this.Label2.TabIndex = 10;
|
||||
this.Label2.Text = "Methods";
|
||||
this.Label2.TextAlign = ContentAlignment.MiddleLeft;
|
||||
this.AutoScaleDimensions = new SizeF(6f, 12f);
|
||||
this.AutoScaleMode = AutoScaleMode.Font;
|
||||
size1 = new Size(392, 346);
|
||||
this.ClientSize = size1;
|
||||
this.Controls.Add((Control) this.Label2);
|
||||
this.Controls.Add((Control) this.MethodsTextBox);
|
||||
this.Controls.Add((Control) this.DAVClass3Check);
|
||||
this.Controls.Add((Control) this.GroupBox1);
|
||||
this.Controls.Add((Control) this.DetailTextBox);
|
||||
this.Controls.Add((Control) this.PROPFINDAuthText);
|
||||
this.Controls.Add((Control) this.OPTIONSAuthText);
|
||||
this.Controls.Add((Control) this.DAVClass2Check);
|
||||
this.Controls.Add((Control) this.DAVClass1Check);
|
||||
this.Controls.Add((Control) this.OPTIONSCheck);
|
||||
this.Controls.Add((Control) this.PROPFINDCheck);
|
||||
this.Controls.Add((Control) this.HTTP11Check);
|
||||
this.Controls.Add((Control) this.ValidURICheck);
|
||||
this.Controls.Add((Control) this.OKButton);
|
||||
this.Controls.Add((Control) this.Label1);
|
||||
this.Controls.Add((Control) this.UriTextBox);
|
||||
this.Controls.Add((Control) this.ResolveDNSCheck);
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
size1 = new Size(408, 384);
|
||||
this.MinimumSize = size1;
|
||||
this.Name = nameof (ConnectionTestForm);
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = FormStartPosition.CenterParent;
|
||||
this.Text = "Connection Test";
|
||||
this.GroupBox1.ResumeLayout(false);
|
||||
this.GroupBox1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
}
|
||||
|
||||
internal virtual CheckBox OPTIONSCheck
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._OPTIONSCheck;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._OPTIONSCheck = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual CheckBox DAVClass1Check
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._DAVClass1Check;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._DAVClass1Check = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual CheckBox DAVClass2Check
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._DAVClass2Check;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._DAVClass2Check = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual CheckBox ResolveDNSCheck
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._ResolveDNSCheck;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._ResolveDNSCheck = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual TextBox UriTextBox
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._UriTextBox;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._UriTextBox = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual Label Label1
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Label1;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._Label1 = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual Button OKButton
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._OKButton;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._OKButton = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual CheckBox ValidURICheck
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._ValidURICheck;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._ValidURICheck = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual System.Windows.Forms.Timer Timer1
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Timer1;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
EventHandler eventHandler = new EventHandler(this.Timer1_Tick);
|
||||
if (this._Timer1 != null)
|
||||
this._Timer1.Tick -= eventHandler;
|
||||
this._Timer1 = value;
|
||||
if (this._Timer1 == null)
|
||||
return;
|
||||
this._Timer1.Tick += eventHandler;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual CheckBox HTTP11Check
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._HTTP11Check;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._HTTP11Check = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual CheckBox PROPFINDCheck
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._PROPFINDCheck;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._PROPFINDCheck = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual TextBox OPTIONSAuthText
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._OPTIONSAuthText;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._OPTIONSAuthText = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual TextBox PROPFINDAuthText
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._PROPFINDAuthText;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._PROPFINDAuthText = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual TextBox DetailTextBox
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._DetailTextBox;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._DetailTextBox = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual CheckBox CertAvailCheckBox
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._CertAvailCheckBox;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._CertAvailCheckBox = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual CheckBox CertChainCheckBox
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._CertChainCheckBox;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._CertChainCheckBox = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual CheckBox CertNameCheckBox
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._CertNameCheckBox;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._CertNameCheckBox = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual GroupBox GroupBox1
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._GroupBox1;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._GroupBox1 = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual CheckBox DAVClass3Check
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._DAVClass3Check;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._DAVClass3Check = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual TextBox MethodsTextBox
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._MethodsTextBox;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._MethodsTextBox = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual Label Label2
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Label2;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._Label2 = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual TextBox TextBoxSSLVersion
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._TextBoxSSLVersion;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._TextBoxSSLVersion = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal virtual Label Label3
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Label3;
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.Synchronized)] set
|
||||
{
|
||||
this._Label3 = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string TargetUri
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.UriTextBox.Text;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.UriTextBox.Text = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string Username
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.puser;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.puser = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string Password
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.ppass;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.ppass = value;
|
||||
}
|
||||
}
|
||||
|
||||
public ConnectionSetting Setting
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.pSetting;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.pSetting = value;
|
||||
}
|
||||
}
|
||||
|
||||
private void Check()
|
||||
{
|
||||
Uri result = (Uri) null;
|
||||
if (!Uri.TryCreate(this.UriTextBox.Text, UriKind.Absolute, out result))
|
||||
return;
|
||||
this.ValidURICheck.Checked = true;
|
||||
if (Operators.CompareString(result.Scheme, "https", false) == 0)
|
||||
{
|
||||
this.CertChainCheckBox.Enabled = true;
|
||||
this.CertNameCheckBox.Enabled = true;
|
||||
this.CertAvailCheckBox.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.CertChainCheckBox.Enabled = false;
|
||||
this.CertNameCheckBox.Enabled = false;
|
||||
this.CertAvailCheckBox.Enabled = false;
|
||||
}
|
||||
IPAddress address = (IPAddress) null;
|
||||
if (IPAddress.TryParse(result.Host, out address))
|
||||
{
|
||||
this.ResolveDNSCheck.CheckState = CheckState.Indeterminate;
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
Dns.GetHostEntry(result.Host);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ProjectData.SetProjectError(ex);
|
||||
this.DetailTextBox.Text = ex.Message;
|
||||
ProjectData.ClearProjectError();
|
||||
return;
|
||||
}
|
||||
this.ResolveDNSCheck.Checked = true;
|
||||
}
|
||||
WebdavFs client = this.Setting.InnerGetClient();
|
||||
client.GroupName = "Test";
|
||||
this.Setting.CertErrorIgnores = SslPolicyErrors.RemoteCertificateNotAvailable | SslPolicyErrors.RemoteCertificateNameMismatch | SslPolicyErrors.RemoteCertificateChainErrors;
|
||||
try
|
||||
{
|
||||
DavResourceOptions resourceOptions = client.GetResourceOptions(result);
|
||||
if (resourceOptions.ProtocolVersion > new Version(1, 0))
|
||||
this.HTTP11Check.Checked = true;
|
||||
this.OPTIONSCheck.Checked = true;
|
||||
this.OPTIONSAuthText.Text = client.LastAuthType;
|
||||
this.DAVClass1Check.Checked = resourceOptions.DAVSupported("1");
|
||||
this.DAVClass2Check.Checked = resourceOptions.DAVSupported("2");
|
||||
this.DAVClass3Check.Checked = resourceOptions.DAVSupported("3");
|
||||
this.MethodsTextBox.Text = resourceOptions.AllowedMethods;
|
||||
this.TextBoxSSLVersion.Text = resourceOptions.SSLVersionString;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ProjectData.SetProjectError(ex);
|
||||
Exception exception = ex;
|
||||
this.DetailTextBox.Text = exception.Message + "\r\n" + exception.StackTrace;
|
||||
client.ResetConnection();
|
||||
ProjectData.ClearProjectError();
|
||||
return;
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (Operators.CompareString(result.Scheme, "https", false) == 0)
|
||||
{
|
||||
this.CertChainCheckBox.Checked = (this.Setting.LastCertError & SslPolicyErrors.RemoteCertificateChainErrors) == SslPolicyErrors.None;
|
||||
this.CertNameCheckBox.Checked = (this.Setting.LastCertError & SslPolicyErrors.RemoteCertificateNameMismatch) == SslPolicyErrors.None;
|
||||
this.CertAvailCheckBox.Checked = (this.Setting.LastCertError & SslPolicyErrors.RemoteCertificateNotAvailable) == SslPolicyErrors.None;
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
client.GetInfoAndEntries(result);
|
||||
this.PROPFINDCheck.Checked = true;
|
||||
this.PROPFINDAuthText.Text = client.LastAuthType;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ProjectData.SetProjectError(ex);
|
||||
Exception exception = ex;
|
||||
this.DetailTextBox.Text = exception.Message + "\r\n" + exception.StackTrace;
|
||||
client.ResetConnection();
|
||||
ProjectData.ClearProjectError();
|
||||
return;
|
||||
}
|
||||
client.ResetConnection();
|
||||
}
|
||||
|
||||
private void Timer1_Tick(object sender, EventArgs e)
|
||||
{
|
||||
this.Timer1.Stop();
|
||||
Cursor.Current = Cursors.WaitCursor;
|
||||
this.Check();
|
||||
Cursor.Current = Cursors.Default;
|
||||
this.OKButton.Enabled = true;
|
||||
}
|
||||
|
||||
private void ConnectionTestForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Icon = ConnectionSetting.GetDefaultFavicon();
|
||||
this.Timer1.Start();
|
||||
this.OKButton.Enabled = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
120
Rei.Fs.Webdav/ConnectionTestForm.resx
Normal file
120
Rei.Fs.Webdav/ConnectionTestForm.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
188
Rei.Fs.Webdav/DavResourceOptions.cs
Normal file
188
Rei.Fs.Webdav/DavResourceOptions.cs
Normal file
@@ -0,0 +1,188 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Rei.Fs.Webdav.DavResourceOptions
|
||||
// Assembly: Rei.Fs.Webdav, Version=1.13.2.18288, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: D30DD1E3-8520-48B5-AAE5-C87970350A82
|
||||
// Assembly location: F:\Eigene Dateien\Dropbox\portable Collection\Progs\CarotDAV\Rei.Fs.Webdav.dll
|
||||
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System;
|
||||
using System.Net;
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace Rei.Fs.Webdav
|
||||
{
|
||||
public class DavResourceOptions
|
||||
{
|
||||
private HttpWebResponse pResponse2;
|
||||
private Uri pResUri;
|
||||
private Version pVersion;
|
||||
private string pAllowHeader;
|
||||
private string pDAVHeader;
|
||||
private string pSSLVersionString;
|
||||
|
||||
internal DavResourceOptions(Uri responseuri, HttpWebResponse response)
|
||||
{
|
||||
this.pResUri = responseuri;
|
||||
this.pVersion = response.ProtocolVersion;
|
||||
this.pAllowHeader = response.Headers["Allow"];
|
||||
this.pDAVHeader = response.Headers["DAV"];
|
||||
this.pSSLVersionString = "";
|
||||
FieldInfo field1 = typeof (HttpWebResponse).GetField("m_ConnectStream", BindingFlags.Instance | BindingFlags.NonPublic);
|
||||
if (field1 == null)
|
||||
return;
|
||||
object objectValue1 = RuntimeHelpers.GetObjectValue(field1.GetValue((object) response));
|
||||
FieldInfo field2 = objectValue1.GetType().GetField("m_Connection", BindingFlags.Instance | BindingFlags.NonPublic);
|
||||
if (field2 == null)
|
||||
return;
|
||||
object objectValue2 = RuntimeHelpers.GetObjectValue(field2.GetValue(RuntimeHelpers.GetObjectValue(objectValue1)));
|
||||
FieldInfo field3 = objectValue2.GetType().BaseType.GetField("m_NetworkStream", BindingFlags.Instance | BindingFlags.NonPublic);
|
||||
if (field3 == null)
|
||||
return;
|
||||
object objectValue3 = RuntimeHelpers.GetObjectValue(field3.GetValue(RuntimeHelpers.GetObjectValue(objectValue2)));
|
||||
FieldInfo field4 = objectValue3.GetType().GetField("m_Worker", BindingFlags.Instance | BindingFlags.NonPublic);
|
||||
if (field4 == null)
|
||||
return;
|
||||
object objectValue4 = RuntimeHelpers.GetObjectValue(field4.GetValue(RuntimeHelpers.GetObjectValue(objectValue3)));
|
||||
PropertyInfo property = objectValue4.GetType().GetProperty("SslProtocol", BindingFlags.Instance | BindingFlags.NonPublic);
|
||||
if (property == null)
|
||||
return;
|
||||
this.pSSLVersionString = RuntimeHelpers.GetObjectValue(property.GetValue(RuntimeHelpers.GetObjectValue(objectValue4), (object[]) null)).ToString().ToUpperInvariant();
|
||||
}
|
||||
|
||||
public Uri ResponseUri
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.pResUri;
|
||||
}
|
||||
}
|
||||
|
||||
public Version ProtocolVersion
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.pVersion;
|
||||
}
|
||||
}
|
||||
|
||||
public bool MethodAllowed(string method)
|
||||
{
|
||||
if (this.pAllowHeader == null)
|
||||
return false;
|
||||
string[] strArray1 = this.pAllowHeader.ToUpper().Split(',');
|
||||
method = method.ToUpper();
|
||||
string[] strArray2 = strArray1;
|
||||
int index = 0;
|
||||
while (index < strArray2.Length)
|
||||
{
|
||||
if (Operators.CompareString(strArray2[index].Trim(), method, false) == 0)
|
||||
return true;
|
||||
checked { ++index; }
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public string AllowedMethods
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this.pAllowHeader == null)
|
||||
return "";
|
||||
return this.pAllowHeader;
|
||||
}
|
||||
}
|
||||
|
||||
public bool DAVSupported(string version)
|
||||
{
|
||||
if (this.ProtocolVersion.CompareTo(HttpVersion.Version11) < 0 || this.pDAVHeader == null)
|
||||
return false;
|
||||
string[] strArray1 = this.pDAVHeader.ToUpper().Split(new char[1]
|
||||
{
|
||||
','
|
||||
}, StringSplitOptions.RemoveEmptyEntries);
|
||||
version = version.Trim().ToUpper();
|
||||
string[] strArray2 = strArray1;
|
||||
int index = 0;
|
||||
while (index < strArray2.Length)
|
||||
{
|
||||
if (Operators.CompareString(strArray2[index].Trim(), version, false) == 0)
|
||||
return true;
|
||||
checked { ++index; }
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool CanRead
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.MethodAllowed("GET");
|
||||
}
|
||||
}
|
||||
|
||||
public bool CanWrite
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.MethodAllowed("PUT");
|
||||
}
|
||||
}
|
||||
|
||||
public bool CanDelete
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.MethodAllowed("DELETE");
|
||||
}
|
||||
}
|
||||
|
||||
public bool CanCreateCollection
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.MethodAllowed("MKCOL");
|
||||
}
|
||||
}
|
||||
|
||||
public bool CanGetProperty
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.MethodAllowed("PROPFIND");
|
||||
}
|
||||
}
|
||||
|
||||
public bool CanSetProperty
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.MethodAllowed("PROPPATCH");
|
||||
}
|
||||
}
|
||||
|
||||
public bool CanMove
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.MethodAllowed("MOVE");
|
||||
}
|
||||
}
|
||||
|
||||
public bool CanCopy
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.MethodAllowed("COPY");
|
||||
}
|
||||
}
|
||||
|
||||
public string SSLVersionString
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.pSSLVersionString;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
18
Rei.Fs.Webdav/My/MyApplication.cs
Normal file
18
Rei.Fs.Webdav/My/MyApplication.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Rei.Fs.Webdav.My.MyApplication
|
||||
// Assembly: Rei.Fs.Webdav, Version=1.13.2.18288, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: D30DD1E3-8520-48B5-AAE5-C87970350A82
|
||||
// Assembly location: F:\Eigene Dateien\Dropbox\portable Collection\Progs\CarotDAV\Rei.Fs.Webdav.dll
|
||||
|
||||
using Microsoft.VisualBasic.ApplicationServices;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Rei.Fs.Webdav.My
|
||||
{
|
||||
[GeneratedCode("MyTemplate", "8.0.0.0")]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
internal class MyApplication : ApplicationBase
|
||||
{
|
||||
}
|
||||
}
|
||||
24
Rei.Fs.Webdav/My/MyComputer.cs
Normal file
24
Rei.Fs.Webdav/My/MyComputer.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Rei.Fs.Webdav.My.MyComputer
|
||||
// Assembly: Rei.Fs.Webdav, Version=1.13.2.18288, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: D30DD1E3-8520-48B5-AAE5-C87970350A82
|
||||
// Assembly location: F:\Eigene Dateien\Dropbox\portable Collection\Progs\CarotDAV\Rei.Fs.Webdav.dll
|
||||
|
||||
using Microsoft.VisualBasic.Devices;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Rei.Fs.Webdav.My
|
||||
{
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[GeneratedCode("MyTemplate", "8.0.0.0")]
|
||||
internal class MyComputer : Computer
|
||||
{
|
||||
[DebuggerHidden]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public MyComputer()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
148
Rei.Fs.Webdav/My/MyProject.cs
Normal file
148
Rei.Fs.Webdav/My/MyProject.cs
Normal file
@@ -0,0 +1,148 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Rei.Fs.Webdav.My.MyProject
|
||||
// Assembly: Rei.Fs.Webdav, Version=1.13.2.18288, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: D30DD1E3-8520-48B5-AAE5-C87970350A82
|
||||
// Assembly location: F:\Eigene Dateien\Dropbox\portable Collection\Progs\CarotDAV\Rei.Fs.Webdav.dll
|
||||
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.ApplicationServices;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using Microsoft.VisualBasic.MyServices.Internal;
|
||||
using System;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.Design;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Rei.Fs.Webdav.My
|
||||
{
|
||||
[StandardModule]
|
||||
[HideModuleName]
|
||||
[GeneratedCode("MyTemplate", "8.0.0.0")]
|
||||
internal sealed class MyProject
|
||||
{
|
||||
private static readonly MyProject.ThreadSafeObjectProvider<MyComputer> m_ComputerObjectProvider = new MyProject.ThreadSafeObjectProvider<MyComputer>();
|
||||
private static readonly MyProject.ThreadSafeObjectProvider<MyApplication> m_AppObjectProvider = new MyProject.ThreadSafeObjectProvider<MyApplication>();
|
||||
private static readonly MyProject.ThreadSafeObjectProvider<User> m_UserObjectProvider = new MyProject.ThreadSafeObjectProvider<User>();
|
||||
private static readonly MyProject.ThreadSafeObjectProvider<MyProject.MyWebServices> m_MyWebServicesObjectProvider = new MyProject.ThreadSafeObjectProvider<MyProject.MyWebServices>();
|
||||
|
||||
[HelpKeyword("My.Computer")]
|
||||
internal static MyComputer Computer
|
||||
{
|
||||
[DebuggerHidden] get
|
||||
{
|
||||
return MyProject.m_ComputerObjectProvider.GetInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[HelpKeyword("My.Application")]
|
||||
internal static MyApplication Application
|
||||
{
|
||||
[DebuggerHidden] get
|
||||
{
|
||||
return MyProject.m_AppObjectProvider.GetInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[HelpKeyword("My.User")]
|
||||
internal static User User
|
||||
{
|
||||
[DebuggerHidden] get
|
||||
{
|
||||
return MyProject.m_UserObjectProvider.GetInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[HelpKeyword("My.WebServices")]
|
||||
internal static MyProject.MyWebServices WebServices
|
||||
{
|
||||
[DebuggerHidden] get
|
||||
{
|
||||
return MyProject.m_MyWebServicesObjectProvider.GetInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[MyGroupCollection("System.Web.Services.Protocols.SoapHttpClientProtocol", "Create__Instance__", "Dispose__Instance__", "")]
|
||||
internal sealed class MyWebServices
|
||||
{
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
public override bool Equals(object o)
|
||||
{
|
||||
return base.Equals(RuntimeHelpers.GetObjectValue(o));
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
internal new Type GetType()
|
||||
{
|
||||
return typeof (MyProject.MyWebServices);
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public override string ToString()
|
||||
{
|
||||
return base.ToString();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
private static T Create__Instance__<T>(T instance) where T : new()
|
||||
{
|
||||
if ((object) instance == null)
|
||||
return Activator.CreateInstance<T>();
|
||||
return instance;
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
private void Dispose__Instance__<T>(ref T instance)
|
||||
{
|
||||
instance = default (T);
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public MyWebServices()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[ComVisible(false)]
|
||||
internal sealed class ThreadSafeObjectProvider<T> where T : new()
|
||||
{
|
||||
private readonly ContextValue<T> m_Context;
|
||||
|
||||
internal T GetInstance
|
||||
{
|
||||
[DebuggerHidden] get
|
||||
{
|
||||
T instance = this.m_Context.Value;
|
||||
if ((object) instance == null)
|
||||
{
|
||||
instance = Activator.CreateInstance<T>();
|
||||
this.m_Context.Value = instance;
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public ThreadSafeObjectProvider()
|
||||
{
|
||||
this.m_Context = new ContextValue<T>();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
29
Rei.Fs.Webdav/My/MySettings.cs
Normal file
29
Rei.Fs.Webdav/My/MySettings.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Rei.Fs.Webdav.My.MySettings
|
||||
// Assembly: Rei.Fs.Webdav, Version=1.13.2.18288, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: D30DD1E3-8520-48B5-AAE5-C87970350A82
|
||||
// Assembly location: F:\Eigene Dateien\Dropbox\portable Collection\Progs\CarotDAV\Rei.Fs.Webdav.dll
|
||||
|
||||
using System.CodeDom.Compiler;
|
||||
using System.ComponentModel;
|
||||
using System.Configuration;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace Rei.Fs.Webdav.My
|
||||
{
|
||||
[CompilerGenerated]
|
||||
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
||||
[GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
|
||||
internal sealed class MySettings : ApplicationSettingsBase
|
||||
{
|
||||
private static MySettings defaultInstance = (MySettings) SettingsBase.Synchronized((SettingsBase) new MySettings());
|
||||
|
||||
public static MySettings Default
|
||||
{
|
||||
get
|
||||
{
|
||||
return MySettings.defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
30
Rei.Fs.Webdav/My/MySettingsProperty.cs
Normal file
30
Rei.Fs.Webdav/My/MySettingsProperty.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Rei.Fs.Webdav.My.MySettingsProperty
|
||||
// Assembly: Rei.Fs.Webdav, Version=1.13.2.18288, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: D30DD1E3-8520-48B5-AAE5-C87970350A82
|
||||
// Assembly location: F:\Eigene Dateien\Dropbox\portable Collection\Progs\CarotDAV\Rei.Fs.Webdav.dll
|
||||
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System.ComponentModel.Design;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace Rei.Fs.Webdav.My
|
||||
{
|
||||
[HideModuleName]
|
||||
[StandardModule]
|
||||
[CompilerGenerated]
|
||||
[DebuggerNonUserCode]
|
||||
internal sealed class MySettingsProperty
|
||||
{
|
||||
[HelpKeyword("My.Settings")]
|
||||
internal static MySettings Settings
|
||||
{
|
||||
get
|
||||
{
|
||||
return MySettings.Default;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
61
Rei.Fs.Webdav/My/Resources/Resources.cs
Normal file
61
Rei.Fs.Webdav/My/Resources/Resources.cs
Normal file
@@ -0,0 +1,61 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Rei.Fs.Webdav.My.Resources.Resources
|
||||
// Assembly: Rei.Fs.Webdav, Version=1.13.2.18288, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: D30DD1E3-8520-48B5-AAE5-C87970350A82
|
||||
// Assembly location: F:\Eigene Dateien\Dropbox\portable Collection\Progs\CarotDAV\Rei.Fs.Webdav.dll
|
||||
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.Globalization;
|
||||
using System.Resources;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace Rei.Fs.Webdav.My.Resources
|
||||
{
|
||||
[StandardModule]
|
||||
[GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
|
||||
[HideModuleName]
|
||||
[CompilerGenerated]
|
||||
[DebuggerNonUserCode]
|
||||
internal sealed class Resources
|
||||
{
|
||||
private static ResourceManager resourceMan;
|
||||
private static CultureInfo resourceCulture;
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
||||
internal static ResourceManager ResourceManager
|
||||
{
|
||||
get
|
||||
{
|
||||
if (object.ReferenceEquals((object) Rei.Fs.Webdav.My.Resources.Resources.resourceMan, (object) null))
|
||||
Rei.Fs.Webdav.My.Resources.Resources.resourceMan = new ResourceManager("Rei.Fs.Webdav.Resources", typeof (Rei.Fs.Webdav.My.Resources.Resources).Assembly);
|
||||
return Rei.Fs.Webdav.My.Resources.Resources.resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
||||
internal static CultureInfo Culture
|
||||
{
|
||||
get
|
||||
{
|
||||
return Rei.Fs.Webdav.My.Resources.Resources.resourceCulture;
|
||||
}
|
||||
set
|
||||
{
|
||||
Rei.Fs.Webdav.My.Resources.Resources.resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
internal static Icon WebDAVFolder
|
||||
{
|
||||
get
|
||||
{
|
||||
return (Icon) RuntimeHelpers.GetObjectValue(Rei.Fs.Webdav.My.Resources.Resources.ResourceManager.GetObject(nameof (WebDAVFolder), Rei.Fs.Webdav.My.Resources.Resources.resourceCulture));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
143
Rei.Fs.Webdav/PassportAuthHelper.cs
Normal file
143
Rei.Fs.Webdav/PassportAuthHelper.cs
Normal file
@@ -0,0 +1,143 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Rei.Fs.Webdav.PassportAuthHelper
|
||||
// Assembly: Rei.Fs.Webdav, Version=1.13.2.18288, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: D30DD1E3-8520-48B5-AAE5-C87970350A82
|
||||
// Assembly location: F:\Eigene Dateien\Dropbox\portable Collection\Progs\CarotDAV\Rei.Fs.Webdav.dll
|
||||
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
|
||||
namespace Rei.Fs.Webdav
|
||||
{
|
||||
public class PassportAuthHelper
|
||||
{
|
||||
private static Uri _InitialRedirectorUri = new Uri("https://nexus.passport.com/rdr/pprdr.asp");
|
||||
private static Uri _LoginUri;
|
||||
public string UserAgent;
|
||||
public int ReadWriteTimeout;
|
||||
public int ConnectTimeout;
|
||||
public CookieContainer CookieContainer;
|
||||
public IWebProxy Proxy;
|
||||
public string GroupName;
|
||||
|
||||
public static Uri InitialRedirectorUri
|
||||
{
|
||||
get
|
||||
{
|
||||
return PassportAuthHelper._InitialRedirectorUri;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool CheckPassportAuth(HttpWebResponse res)
|
||||
{
|
||||
return res.StatusCode == HttpStatusCode.Found && res.Headers[HttpResponseHeader.WwwAuthenticate] != null && res.Headers[HttpResponseHeader.WwwAuthenticate].Trim().StartsWith("Passport1.4 ");
|
||||
}
|
||||
|
||||
private HttpWebRequest CreateRequest(Uri uri)
|
||||
{
|
||||
HttpWebRequest httpWebRequest = (HttpWebRequest) WebRequest.Create(uri);
|
||||
httpWebRequest.UserAgent = this.UserAgent;
|
||||
httpWebRequest.Proxy = this.Proxy;
|
||||
httpWebRequest.ReadWriteTimeout = this.ReadWriteTimeout;
|
||||
httpWebRequest.Timeout = this.ConnectTimeout;
|
||||
httpWebRequest.CookieContainer = this.CookieContainer;
|
||||
httpWebRequest.ConnectionGroupName = this.GroupName;
|
||||
httpWebRequest.KeepAlive = false;
|
||||
httpWebRequest.PreAuthenticate = false;
|
||||
httpWebRequest.AllowAutoRedirect = false;
|
||||
return httpWebRequest;
|
||||
}
|
||||
|
||||
public Uri GetPassportLoginUri()
|
||||
{
|
||||
if ((object) PassportAuthHelper._LoginUri != null)
|
||||
return PassportAuthHelper._LoginUri;
|
||||
try
|
||||
{
|
||||
HttpWebRequest request = this.CreateRequest(PassportAuthHelper._InitialRedirectorUri);
|
||||
request.Method = "GET";
|
||||
using (HttpWebResponse response = (HttpWebResponse) request.GetResponse())
|
||||
{
|
||||
string[] strArray = response.Headers["PassportURLs"].Split(',');
|
||||
int num1 = 0;
|
||||
int num2 = checked (strArray.Length - 1);
|
||||
int index = num1;
|
||||
while (index <= num2)
|
||||
{
|
||||
if (strArray[index].Contains("DALogin"))
|
||||
{
|
||||
PassportAuthHelper._LoginUri = new Uri("https://" + strArray[index].Substring(checked (strArray[index].IndexOf("=") + 1)));
|
||||
return PassportAuthHelper._LoginUri;
|
||||
}
|
||||
checked { ++index; }
|
||||
}
|
||||
}
|
||||
throw new UnauthorizedException("Cannot access Passport authentication system.", (Exception) null, false);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ProjectData.SetProjectError(ex);
|
||||
throw new UnauthorizedException("Cannot access Passport authentication system.", ex, false);
|
||||
}
|
||||
}
|
||||
|
||||
public string GetPassportToken(HttpWebResponse orgres, string user, string pass)
|
||||
{
|
||||
string str1 = orgres.Headers[HttpResponseHeader.WwwAuthenticate].Trim();
|
||||
int startIndex = str1.IndexOf(" ");
|
||||
string str2 = str1.Substring(startIndex).Trim();
|
||||
string str3 = string.Format("Passport1.4 sign-in={0},pwd={1},OrgVerb={2},OrgUrl={3},{4}", (object) Uri.EscapeDataString(user), (object) Uri.EscapeDataString(pass), (object) orgres.Method, (object) orgres.ResponseUri.AbsoluteUri, (object) str2);
|
||||
try
|
||||
{
|
||||
HttpWebRequest request = this.CreateRequest(this.GetPassportLoginUri());
|
||||
request.Method = "GET";
|
||||
request.Headers.Add(HttpRequestHeader.Authorization, str3);
|
||||
using (HttpWebResponse response = (HttpWebResponse) request.GetResponse())
|
||||
{
|
||||
string str4 = response.Headers["Authentication-Info"].Trim();
|
||||
string[] strArray = str4.Substring(checked (str4.IndexOf(' ') + 1)).Split(',');
|
||||
int num1 = 0;
|
||||
int num2 = checked (strArray.Length - 1);
|
||||
int index = num1;
|
||||
while (index <= num2)
|
||||
{
|
||||
if (strArray[index].Contains("from-PP"))
|
||||
return "Passport1.4 " + strArray[index];
|
||||
checked { ++index; }
|
||||
}
|
||||
}
|
||||
throw new UnauthorizedException("Passport login failure", (Exception) null, true);
|
||||
}
|
||||
catch (WebException ex)
|
||||
{
|
||||
ProjectData.SetProjectError((Exception) ex);
|
||||
WebException webException = ex;
|
||||
using (WebResponse response = webException.Response)
|
||||
{
|
||||
using (new StreamReader(response.GetResponseStream()))
|
||||
;
|
||||
}
|
||||
throw new UnauthorizedException("Passport login failure", (Exception) webException, true);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ProjectData.SetProjectError(ex);
|
||||
throw new UnauthorizedException("Passport login failure", ex, true);
|
||||
}
|
||||
}
|
||||
|
||||
public bool ResetConnection()
|
||||
{
|
||||
bool flag = true;
|
||||
if ((object) PassportAuthHelper._LoginUri != null)
|
||||
{
|
||||
ServicePoint servicePoint = ServicePointManager.FindServicePoint(PassportAuthHelper._LoginUri);
|
||||
flag &= servicePoint.CloseConnectionGroup("");
|
||||
}
|
||||
ServicePoint servicePoint1 = ServicePointManager.FindServicePoint(PassportAuthHelper._InitialRedirectorUri);
|
||||
return flag & servicePoint1.CloseConnectionGroup("");
|
||||
}
|
||||
}
|
||||
}
|
||||
67
Rei.Fs.Webdav/Rei.Fs.Webdav.csproj
Normal file
67
Rei.Fs.Webdav/Rei.Fs.Webdav.csproj
Normal file
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<!--Project was exported from assembly: F:\Eigene Dateien\Dropbox\portable Collection\Progs\CarotDAV\Rei.Fs.Webdav.dll-->
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{D0DC76C1-5AA0-466F-84D3-D6C4DEB083DE}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AssemblyName>Rei.Fs.Webdav</AssemblyName>
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<ApplicationVersion>1.13.2.18288</ApplicationVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<RootNamespace>Rei.Fs.Webdav</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.VisualBasic" />
|
||||
<Reference Include="Rei.Fs">
|
||||
<HintPath>lib\Rei.Fs.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Security" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ConnectionSetting.cs" />
|
||||
<Compile Include="ConnectionSettingForm.cs" />
|
||||
<Compile Include="ConnectionTestForm.cs" />
|
||||
<Compile Include="DavResourceOptions.cs" />
|
||||
<Compile Include="PassportAuthHelper.cs" />
|
||||
<Compile Include="WebdavFs.cs" />
|
||||
<Compile Include="WsseClient.cs" />
|
||||
<Compile Include="My\MyApplication.cs" />
|
||||
<Compile Include="My\MyComputer.cs" />
|
||||
<Compile Include="My\MyProject.cs" />
|
||||
<Compile Include="My\MySettings.cs" />
|
||||
<Compile Include="My\MySettingsProperty.cs" />
|
||||
<Compile Include="My\Resources\Resources.cs" />
|
||||
<Compile Include="AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="ConnectionSettingForm.resx" />
|
||||
<EmbeddedResource Include="ConnectionTestForm.resx" />
|
||||
<EmbeddedResource Include="Resources.resx" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
500
Rei.Fs.Webdav/Resources.resx
Normal file
500
Rei.Fs.Webdav/Resources.resx
Normal file
@@ -0,0 +1,500 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="WebDAVFolder" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAYAMDAAAAEACACoDgAAZgAAACAgAAABAAgAqAgAAA4PAAAQEAAAAQAIAGgFAAC2FwAAMDAAAAEA
|
||||
IACoJQAAHh0AACAgAAABACAAqBAAAMZCAAAQEAAAAQAgAGgEAABuUwAAKAAAADAAAABgAAAAAQAIAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADTbVUAxV9CAMZgQwDHY0kAzmhMALhSLAC6VDIAvlg2AMJc
|
||||
OgCrRRoApkIZAK5IHgC0TiYAqmhPAKQ+EACoQhUAqVMuANBqPgCbNQEAnTcGAKA7CwCiQxYAoTsAAJ44
|
||||
AACdNwAAp0IMALFLEwCIOxIAZDojAFhFOgBWT0sAp0EAAKU/AACjPQAAlUQSAGtCKACtRwAAqkQAAKlD
|
||||
AACtSwoAn1YnALROAACzTQAAsUsAAK9JAACNQQYAzHEtALxWAAC7VQAAuVMAALZQAAC5Wg4AxF4AAMFb
|
||||
AAC+WAAA1W8QAM9pAADMZgAAy2UAAMljAADGYAAAlk0IAKxfEwDZeBkAsGomAI9hNQDalVQAhmVDANlz
|
||||
AADWcAAA1W8AANNtAADRawAA04AlAIFTIwCRfWgA4nwAAN54AADcdgAA23UAAN96AgDuiAwAolwIAKKG
|
||||
ZAD/8eAA74kAAO2HAADrhQAA6YMAAOeBAADKcwAA54cOAOmLFQDnlCcA451BAOOeRAD/8d8A/pgAAPyW
|
||||
AAD3kQAA840AANaAAADjjQAA/50IAKxuCwD/ohEA1IoaAP+rJADBgRwA/68rAMimcgDJggMA/7U4AP+7
|
||||
RADxqiIA/8ddANyWBgD/0W8A464rAMSTBgC0iQYAdGY7AIdoAAC7lQcA892IAJ+GAgCslQwA8OWXAMm8
|
||||
RwD/+cAA2NBtAGReAADz8rMAeXsAAI2QBQBkZTAA///fAHaDAACYqi4AWGQoAK7EVgBZcgAASF0JANHm
|
||||
mgDv/NMAP14BAFeKAABblAUAZqAYAElmIwA4aAEARoUAAEiWBQBqrywAs9+MALvklgDM8bEANmQXADaR
|
||||
AgAodwAAktV4ACpmFQBywlUAVLQ1AByCAAAbfgAAIZgFABdnCQANcQAADXwAAAtqAAB80nIAz/fLAApm
|
||||
BQCY45QAA2YBAACOAAAAhwAAAIQAAACBAAAAfgAAAHoAAAB5AAAAdQAAAHMAAABvAAAAbAAAAGkAAITb
|
||||
hAAsry8ABZ4KABKlGABby2QArfKzABOsJgA+vUsAGLEvABqzNAActTkAH7g9ACC5QQAiu0MAkOqjACO8
|
||||
RwBOzmsAJb5LACfATgB14ZAAKsNUAGbchgAux1sAL8hdAFPWegBY2H8AXtuDADHKYgA3zWgAOc5qAD7P
|
||||
bQBB0XAAS9R2AIru/wCs7foAzfX9AFfV9QCA5v8AKsHrACq43gArueAAcNbwAJLd8QAZrNgAM67WAEe0
|
||||
2AApqtUAB4CxABaNvAABcqQAAW+iAAJ1qADl5ucA////AKampgCZmZkAc3NzAHBwcABqamoAYmJiAF5e
|
||||
XgBbW1sAWFhYAFJSUgBAQEAAJiYmAAAAAAD/////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////b7+/v7+/v2////////////////////////////////////////
|
||||
////9vv7+/v78O7u7u7w8O/9+/v7+/v79v/////////////////////////////////+/v7+/v7+6OPk
|
||||
5eTk4+z+/v7+/v7++//////////////////////////////////09fX19fX16OHh4eHh4ez19fX19fX+
|
||||
+//////////////////////////////////08/Pz8/Pz6+be4uLe5u3z8/Pz8/P++///////////////
|
||||
///////////////////08fHx8fHx6+ff39/f5+3x8fHx8fH++///////////////////////////////
|
||||
///0YWFVYVVV6d/g4ODg3+1hYWFhYWH+9v/////////////////////////////////09PT09PT06vHy
|
||||
8vLy4O309PT09PT0////////////////////////////////////////////6+rq6unr6+r/////////
|
||||
//////////////////////////////////////////////RV8fP1/vv/////////////////////////
|
||||
//////////////////////////////RV8fP1/vv/////////////////////////////////////////
|
||||
//////////////RV8fP1/vv///////////////////////////////////////////////////////RV
|
||||
8fP1/vz////////////////////////////////////////////////////3RA5DL0EpHSQf+ff/////
|
||||
////////////////////////////////////////VEE4LxISAQEFBQgbHB779///////////////////
|
||||
/////////////////////1RtQBIEAw4OAwMEBQEBAQ0cHvf/////////////////////////////////
|
||||
////b1wvCAcGEUQRBgYHBwkCBAEEFh35//////////////////////////////////9vUgYNDBAPFYhL
|
||||
FRUPCgwGBwkEBQwd+f///////////////////////////////19dDA8TExkZGJaWLhgZExMVCg0HCQUM
|
||||
Hfj/////////////////////////////X14aExkXIiEgJ56inj4gIRcZExQKDQgECx74////////////
|
||||
////////////////XygZFyEnJSUsK5K8sJItJSYgIhgTFREODhz8//////////////////////////9f
|
||||
ShghJiUrKjMyMYS6uquEMystJSAXGUtEDhEk9f////////////////////////9fKCAlLDMxMDY1U6C4
|
||||
uLm6UzEyKy0mIYh6RA4j+/////////////////////////9fJyUqMjc1PDo5jrW1tba3jj02MTMsJYyM
|
||||
ekQpHvX///////////////////////8vLSoxNjw5SUdGpbOzs7Smhjk6PTcyPqKWjHpCJPX/////////
|
||||
/////////////2A0KjA1OklGRU5Oh7GxsYZOUEZIaamoq66iloh6I/f//////////////////////2Aq
|
||||
MDU6SEVPTWaZk6efeVlaTU5Qqre5uryonpaII/r//////////////////////2AxNjpIRU55n7+nh5mU
|
||||
eFZWWHB+s7W3ubq8qJ6MU/v//////////////////////2A3O0lFTpTAwHyHwJViYmNkZVZZirO1t7m7
|
||||
sKKWU/r//////////////////////2A9OUZOfsDDw8XFmmxsbGpoY2VWWZOztaB7hI+eU/f/////////
|
||||
/////////////2A7SFBwwMPFx8jKyo1ycnFsamJlV5+ypra5u7CiU/f///////////////////////9A
|
||||
Rk55w8bJzM/R0dGNdHRybmpjZX6Ys7W3uryoP/////////////////////////9gRU15xsnP09ja29rN
|
||||
fXZ0cmxoZIexsrS2ubuXQv////////////////////////9gT3C+yc/Y293V0tXd1YB2dHFqY5mxirOq
|
||||
uLp7TP//////////////////////////a5XHztPb1dKQr9DSnYV9dHJsYmeTirKguKlp////////////
|
||||
////////////////YMXJ0dnd0puFwsutiYKhg3JzeGVYh7K0t4ZU////////////////////////////
|
||||
/8zM09vW0MvCwq3LkZ3cwYGkw4dYTZi0oG3////////////////////////////////E08HX0MvCha3C
|
||||
ha/d2M6aY1ZZTVuleP//////////////////////////////////i6PXocuAncKdgK/d2M6+dVZZTkVt
|
||||
/////////////////////////////////////8HWva+cnJCc0Nfc1MzHf1dNUW3/////////////////
|
||||
//////////////////////+NoaGvy8u90tXa0crGf1ldbf//////////////////////////////////
|
||||
/////////42Nvb3S1cHYzsi+i23/////////////////////////////////////////////////vYO9
|
||||
rG53yMj/////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////8AAP//
|
||||
/////wAA///wD///AAD/+AAAH/8AAP/wAAAf/wAA//AAAB//AAD/8AAAH/8AAP/wAAAf/wAA//AAAB//
|
||||
AAD/8AAAP/8AAP//4B///wAA///wH///AAD///Af//8AAP//8B///wAA///wH///AAD//8AD//8AAP//
|
||||
AAD//wAA//wAAH//AAD/+AAAP/8AAP/wAAAf/wAA/+AAAA//AAD/wAAAB/8AAP/AAAAH/wAA/4AAAAP/
|
||||
AAD/gAAAA/8AAP+AAAAB/wAA/4AAAAH/AAD/AAAAAf8AAP8AAAAB/wAA/wAAAAH/AAD/AAAAAf8AAP8A
|
||||
AAAB/wAA/wAAAAH/AAD/gAAAA/8AAP+AAAAD/wAA/4AAAAP/AAD/wAAAB/8AAP/AAAAH/wAA/+AAAA//
|
||||
AAD/8AAAH/8AAP/4AAA//wAA//wAAH//AAD//gAA//8AAP//gAP//wAA///gH///AAD///////8AAP//
|
||||
/////wAA////////AAAoAAAAIAAAAEAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANNt
|
||||
VwDFaFEAyGJGAMxmTAC+WjwAzmhKALVPKQC6VC8AuVMwALpUMQC+WDUAw107AK5XOQCvSSAAzWc9AKFm
|
||||
TwChOwsApD4RAKZAEwCrRxwAnTcFAJhGHgCPQxwAeTsdAKA6AACdNwAAnVo0AF8/LgBbQjQAV0pDAKdB
|
||||
AACkPgAAojwAALhUFQCBRB4AvXBBAKxGAACqRAAAqUMAAMhiIADVbygAakQrALROAACzTQAAsUsAAK9J
|
||||
AACyTwYAhD4MAL1XAAC6VAAAuVMAALdRAACkSwAA2HIdAIhIEwCRURsAxV8AAMBaAAC+WAAAxmsXAM5o
|
||||
AADNZwAAymQAAMljAACjYBwA2XMAANdxAADVbwAA0mwAANFrAADYdwsAxXQfANWSRwCPYjMAjoFzAON9
|
||||
AADgegAA3HYAANt1AADlgwkAgEoIAIFQFACEZkIAlXZRAP/x4ADxiwAA74kAAO2HAADoggAA5oAAAOuH
|
||||
BACvlXMArZqBAP/x3wD1jwAA8owAAPqUAQDSfAEA/poGAPKbHQCLXBgA6KZIAMiVSgD/px0A/68rAOqs
|
||||
TgDjr1sA6LlwAH5mPwDMhQMA/7Q1AP+7QwC/lEEA/8hfAPrShgCmcwAA4qAPALeAAQCBYRMA68dvAP/c
|
||||
hgCXdgYA1bIyAPLagQB7ZwAAg3IAALafEADXx10AkIMAAGRgKACdlwsA//3NAH5+AQBdXwEAs7Y+AImT
|
||||
AQCOlxYAgowDAGJmMQDZ4ZAAbYIAAHmSCABPXRAA4/CuAJ24PgBliwAAwuGQAEJuAADH5poAT4wBAGuk
|
||||
HQB9tz0ARmYjAJ/QcQBapBsAN4AAADplGwAoZgAAPpcHAKDdhwDB8bAAJmYTAHTGWgCs5poAG3wAABtl
|
||||
CABCqyQAMqMZAHXIYgC576wAIZoHAFS6QwAOfgAADocAAMX5wACY4pIAC2YGABWeDwB71HcABmgDAACR
|
||||
AAAAjgAAAIoAAACFAAAAgwAAAIAAAAB9AAAAegAAAHYAAAB1AAAAcQAAAG4AAABtAAABaAEAuvS8AAyl
|
||||
FwAmry4Ah9+MAEPATwCi7akAFK0oABewLQAbtDUAfuCOAB63OwBGyF8AH7g9ACG6QgCY7akAIrtEACO8
|
||||
RwCG6J0AJr9MACfATgApwlMAYNuDAHXikgAtxloALsddADPLYgBR1noAV9l/ADjNaAA9z20ARdJyAEvU
|
||||
dgB53/cAteXxANHx+QAVrdkAKsHrACq53wAlqtUAMa3VAEi12QBHrtIABX6vABSNuwABcqQAAW+iAAJ2
|
||||
qQD///8ApqamAJmZmQBzc3MAcHBwAG1tbQBcXFwAW1tbAFhYWABTU1MATU1NAEBAQAAmJiYAAAAAAP//
|
||||
////////////////+v39/f36///////////////////////////2+vr6+vHv7+/x8P36+vr6+vb/////
|
||||
/////////////v7+/v7+5ufo6Oft/v7+/v7++v/////////////////08/Pz8/Pp4+Pj4+7z8/Pz8/76
|
||||
//////////////////ReXl5VVerk5eXk7l5eXl5e/vb/////////////////9PT09PT06+Xy8uXu9PT0
|
||||
9PT0///////////////////////////p6+vq6uz////////////////////////////////////0VfP+
|
||||
+v////////////////////////////////////RV8/78////////////////////////////////S0pB
|
||||
JEkkMCoe+f//////////////////////////XUgpDwICBAEBBgsXHfj//////////////////////2c2
|
||||
DAoJUw0JCQsMAwEIGPv///////////////////9JKA4TERWCUhUREhQHCwMDGPv/////////////////
|
||||
ayIVGhkhII+dUSAZGhUTBwUFGPr//////////////2o8GiAfJS4thrSmNSUnIBoVFBANHPr/////////
|
||||
////ahkfLiw0MjGGv8CeMystJiE3UxAW+/f//////////2pIJiwzOzk/dLu8vL19OjIrJVKLbRsq9///
|
||||
////////ai8rMTk+RkSNuLi5pXo9QDs0j5mLUyP3//////////9sKzFARkNOTY21tpZMTkJ+vsDCopmL
|
||||
OPn//////////2wxQEVCYoqflp+rV1hZdpy7vsDCopll+v//////////ajlGQnayxIOom2NhYWBugbi7
|
||||
vsGxnWX4//////////9qPkNiqMnKy8V7b2loY19YlrmllJ6md/X//////////2pGTo7JzdLV1seAcnBo
|
||||
Y2CSt629wLF39f//////////akdNic3V2t/g4LN8cnBoYY62uLy/wkH1////////////Zm7L1dzh2MzY
|
||||
3pV5cmljiJKurb6UVP/////////////FxdDa4diTkNTDhJN4b3VgWbe6vXr1///////////////T09zd
|
||||
2dHDw9GE4s6Rp4NZdLmNXP///////////////6mpzt7ZyK/DoZDd29N/VlpPhXH/////////////////
|
||||
/6ma3dmklaqkxuLb0JdXTFBJ//////////////////////+Vs8yw1Mze4NfPm1tkbP//////////////
|
||||
//////////+MjKCa3qOY06yHeP//////////////////////////////c3Nzc3Nzc///////////////
|
||||
/////A///wAAP/4AAD/+AAA//gAAP/4AAH//+B////wf///8H///4Af//4AB//8AAP/+AAB//AAAP/gA
|
||||
AB/4AAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4AAAf+AAAH/wAAD/8AAB//gAA//+A
|
||||
Af//wAf///Af/ygAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkkgAJlL
|
||||
LgDMcE4AekApALljPgBXTkoAckw2AE5DPQC/RwAAn0MLALNNDgCbQg0AqWU1AKxLAADPbRQAy4RBAP/x
|
||||
4ACqYgAA2IcfAP/x3wC7dAAA/6giAMeCAAC+kjEA5tKcAHBfLACkkg0AYFkrAG1kAACilAQA1sxkAISA
|
||||
SQBZVhIAub1HAMDHewBZjQAAXpQBAEZgHQBYkggAPHcAAKTQggCy3JYA2PLJAEKjHgAZfQAAA3gAAA1r
|
||||
CgAAdwAAo+ymAIXcjQCV66QAmu6rACq/TgAWv0UAb+KQADHJXwDN9/8Au+XvANrr7wAVrdkAKMDqACvB
|
||||
6wAquN8Ar+TyANTu9QAlp9IAMq3VAE222AAVkL4ALqvVAECy2QBHrtIAS7fbAAV+rwAZj70AAXapAAFx
|
||||
owABb6IAAnWoAP///wCZmZkAfn5+AHBwcABYWFgAVVVVAEBAQAAmJiYAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFhYWFhY
|
||||
VFZWVlRYWFhYWFhYU1RUTE1NT05WVFRUU1hYV1dXVzw+Pz1KV1dXV1RYWFEUFBFDOjlASxQUFFdTWFhR
|
||||
UVFRRDtQQUVRUVFRWFhYWFhYWEJHSUZIWFhYWFhYWFhYWFhYURFXVFhYWFhYWFhYWFhYDVERV1VYWFhY
|
||||
WFhYWFhYDQ0FAwQIVVhYWFhYWFhYEAsMIQoBAgZSWFhYWFhYWBAJEi4dDhoHUlhYWFhYWFgPFSclFygv
|
||||
HFJYWFhYWFhYEyw2IhYkMCZSWFhYWFhYWCM1NzEfHi0gWFhYWFhYWFhYMjM0OBsYWFhYWFhYWFhYWFgr
|
||||
KikZWFhYWFhYWPwf///AAf//gAH//4AB9FWAA/z/+D////w////4P///8B///+AP///gD/9L4A8kSeAP
|
||||
Kh7gH///8D////h///8oAAAAMAAAAGAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAADAAAACPAAAApwAAAKcAAACnAAAApwAA
|
||||
AKcAAACnAAAAjwAAADAAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAI8AAACnAAAApwAAAKcAAACnAAAApwF2qf8BcaP/AXGj/wFx
|
||||
pP8Cc6X/AnWn/wJ1qP8Bb6L/AAAAvwAAAKcAAACnAAAApwAAAKcAAACnAAAApwAAAI8AAAAYAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJiYm/yYmJv8mJib/JiYm/yYmJv8mJib/JiYm/xWt
|
||||
2f8rwev/Krjf/yu54P8pud7/Krje/yjA6v8Ffq//JiYm/yYmJv8mJib/JiYm/yYmJv8mJib/JiYm/wAA
|
||||
AKcAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmZmZ/3Nzc/9zc3P/c3Nz/3Nz
|
||||
c/9zc3P/c3Nz/x2r1/9Sze3/WNX0/1zc+/9c2/v/W9b2/0/O8P8JgrP/c3Nz/3Nzc/9zc3P/c3Nz/3Nz
|
||||
c/9zc3P/JiYm/wAAAKcAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmZmZ/6am
|
||||
pv+mpqb/pqam/6ampv+mpqb/pqam/ySs1/9z1u7/hur//4Dm//9/5f//jfL//2zV8f8Ph7f/pqam/6am
|
||||
pv+mpqb/pqam/6ampv+mpqb/JiYm/wAAAKcAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAmZmZ/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/yus1v+Y3e//qPD//6Ls//+i7f//r/n//4zc
|
||||
8v8Zjr3/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/JiYm/wAAAKcAAAAYAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAmZmZ///x3///8d////Hg///x3///8eD///Hg/zKt1f+75e//zff//8fz
|
||||
///H8///0////6/k8v8Zj73///Hf///x3///8d////Hf///x3///8d//JiYm/wAAAI8AAAAYAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmZmZ/5mZmf+ZmZn/mZmZ/5mZmf+ZmZn/mZmZ/022
|
||||
2P/a6+///////////////////////9Tu9f8VkL7/mZmZ/5mZmf+ZmZn/mZmZ/5mZmf+ZmZn/mZmZ/wAA
|
||||
ABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAACWn0v9Astn/S7fb/0a12v80rtb/K6rV/y6r1f9HrtL/AAAAMAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZmZn///Hg/+bm5v+mpqb/c3Nz/yYmJv8AAACnAAAAGAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZmZn///Hg/+bm5v+mpqb/c3Nz/yYm
|
||||
Jv8AAACnAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGZmZn///Hg/+bm
|
||||
5v+mpqb/c3Nz/yYmJv8AAACnAAAAHwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAEAAA
|
||||
ACWZmZn///Hg/+bm5v+mpqb/c3Nz/yYmJv8AAACvAAAATwAAACUAAAASAAAABgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAA
|
||||
ABYAAAA/Gw4AelYrAL6xfkz/2pVU/8h8Ov+0aCr/m1sr/2o3E/9BGgDTDwYAtAAAAKEAAAB3AAAAQAAA
|
||||
ABgAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAKAAAAM2A1AJefVQDd1W8Q/9FrJf/SbD3/0WtD/9RuVf/UblX/0GpI/9BqSv/DXTH/sUsT/3kt
|
||||
AOszEgDKAAAApwAAAHoAAAA0AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAABBOLQBivGsA3dx2Hf/NZzv/yGJH/8ZgQ/+vZU//s2RP/8ZgQ//GYET/yWNI/81n
|
||||
Tv/Ra1T/1G5Z/9JsVP+2UCT/fi0A7xoJAMEAAACVAAAAUgAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
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
|
||||
AP++WAD/uVMA/5RRAf8qZhX/Q2Yh/1tmLf90Zjr/kGA4/2InANwAAACAAAAAEgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD3znO1uVoO/7VP
|
||||
AP+8VgD/xF4A/8xmAP/RawD/1nAA/9lzAP/ddwD/33kA/42BAP8AjQD/AI0A/wCLAP9/gQD/3ngA/9t1
|
||||
AP/XcQD/020A/6hrAP8McQD/GGsA/wtoAP8KZgX/LWYX/0dmI/9fZi//e2Y+/4o4AO4AAACVAAAAFQAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD3033FtE4A/7xWAP/FXwD/zWcA/9NtAP/YcgD/3HYA/+F7AP/WgAD/SJAA/1mQAP8elAD/LJIA/7CI
|
||||
AP/pgwD/54EA/+N9AP/feQD/23UA/w19AP8AeQD/AHMA/wBuAP8AaQD/EWYI/zFmGf9OZif/ZmYz/5NJ
|
||||
C/cAAACkAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAADxxHL/ulQA/8JcAP/MZgD/020A/9lzAP/eeAD/uoQC/zyVBv8Fngr/I5wK/4uV
|
||||
CP9CnAz/X5kH/8aQAv/wigD/7ogA/+uFAP/KggD/mn8A/wCEAP8AfwD/AHkA/wBzAP8AbgD/AGgA/xxm
|
||||
Dv85Zh3/VWYq/6JWDf8AAACnAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADuwHD/v1kA/8pkAP/RawD/2HIA/995AP9Ykgf/F6AR/wuk
|
||||
Fv+7lQf/lJ0N/x+oHv9pohP//pgA//6YAP/7lQD/95EA//KMAP/uiAD/6IIA/3KDAP8AhAD/AH4A/wB4
|
||||
AP8AcQD/AGwA/wNmAf8pZhX/R2Yj/6NZC/8AAACkAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD314z/xmAA/89pAP/WcAD/3ngA/6CK
|
||||
B/8MpRj/EKkg/xStKP8XsC3/GLEw/2+uKv//qyP//60n//+pIP//oxP//50I//yWAP/0jgD/7ogA/+iC
|
||||
AP9WhAD/AIMA/wB9AP8mcwD/hGAA/2dcAP9IXQn/NmYb/6JdCf8AAACVAAAAFQAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD656PDy2UA/9Nt
|
||||
AP/bdQD/x4ED/w6nHP8UrSj/GLEw/xy1OP8etzz/IrtD/yK7Q/+su0X//7xH//+6Qv//tTj//60n//+h
|
||||
EP/9lwD/9I4A/+2HAP86iwD/AIcA/xt+AP8AegD/AHMA/wBtAP8DZwH/KGYU/5pZBvYAAAB/AAAAEgAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD77Kuy1XkV/9ZwAP/eeAD/sIoJ/xWuKv8btDX/ILk//yS9SP8nwE//KsNT/yvEVv8qw1T/oslf///M
|
||||
Zv//xlr//7tF//+vK///oRD//JYA//KMAP+iiAD/SIcA/wCFAP8AfgD/AHcA/wBvAP8AaQD/GGYM/6VS
|
||||
AOwAAABYAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAD78bVy455E/9p0AP/ifAD/tY8M/xu0Nf8hukL/J8BO/y3GWv8zy2T/Oc5q/z3P
|
||||
bf86zmv/Ts5r/+bbhf//1Xj//8pj//+7Q///rSf//5wH//aQAP+GjwD/AI8A/wCIAP8AgAD/AHoA/wBy
|
||||
AP8AbAD/OGgB/3I6AM0AAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/97sg8s2B/9x2AP/JgwX/J7Aw/yC5Qf8nwE7/MMlg/z3P
|
||||
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
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/7xCD9+L+Q/u+t8Orc
|
||||
hv/W0nL/hdd8/3zScv//ryv/464r/5DFWP+qxlv/68NZ8vC6Vam1ijktAAAAAwAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAP/yszD766py9eKdhfTdk4b014uG9NOBhvDLeHfbtWQ4AAAABAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///AP//8AAP/4AAAf/wAA//AAAA//
|
||||
AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAB//AAD//+AP//8AAP//
|
||||
8A///wAA///wD///AAD//+AH//8AAP//gAH//wAA//4AAH//AAD//AAAP/8AAP/4AAAf/wAA//AAAA//
|
||||
AAD/4AAAB/8AAP/AAAAD/wAA/8AAAAP/AAD/gAAAAf8AAP+AAAAB/wAA/wAAAAD/AAD/AAAAAP8AAP8A
|
||||
AAAA/wAA/wAAAAD/AAD/AAAAAP8AAP8AAAAA/wAA/wAAAAD/AAD/AAAAAP8AAP8AAAAA/wAA/wAAAAD/
|
||||
AAD/AAAAAP8AAP8AAAAB/wAA/4AAAAH/AAD/gAAAA/8AAP/AAAAD/wAA/8AAAAf/AAD/4AAAD/8AAP/w
|
||||
AAAf/wAA//gAAD//AAD//AAAf/8AAP//AAH//wAA///gD///AAD///////8AAP///////wAAKAAAACAA
|
||||
AABAAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAGAAAABgAAAAYAAAAGAAAABgAAAAwAAAApwAAAL8AAAC/AAAAvwAAAL8AAACnAAAAMAAA
|
||||
ABgAAAAYAAAAGAAAABgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAABgAAACPAAAApwAAAKcAAACnAAAApwF2qf8BcaP/AXGj/wJzpf8Cdaj/AW+i/wAA
|
||||
AL8AAACnAAAApwAAAKcAAACnAAAApwAAAI8AAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAJiYm/yYmJv8mJib/JiYm/yYmJv8mJib/Fa3Z/yvB6/8quN//Kbne/yjA
|
||||
6v8Ffq//JiYm/yYmJv8mJib/JiYm/yYmJv8mJib/AAAApwAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZmZn/pqam/6ampv+mpqb/pqam/6ampv8krNf/c9bu/4bq
|
||||
//9/5f//bNXx/w+Ht/+mpqb/pqam/6ampv+mpqb/pqam/yYmJv8AAACnAAAAGAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJmZmf//8d////Hf///x3///8eD///Hg/zKt
|
||||
1f+75e//zff//8fz//+v5PL/GY+9///x3///8d////Hf///x3///8d//JiYm/wAAAI8AAAAYAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmZmZ/5mZmf+ZmZn/mZmZ/5mZ
|
||||
mf+ZmZn/TbbY/9rr7////////////9Tu9f8VkL7/mZmZ/5mZmf+ZmZn/mZmZ/5mZmf+ZmZn/AAAAGAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAlp9L/QLLZ/0u32/80rtb/LqvV/0eu0v8AAAAwAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAqZmZn///Hg/6ampv8mJib/AAAApwAAACIAAAADAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABUAAAAuAAAAVZmZmf//8eD/pqam/yYmJv8AAACyAAAAXQAA
|
||||
AC4AAAAVAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAA8MRoAjHM7AMyaTADnvnE+/9SEUP+7b0P/hD4M/1cj
|
||||
ANsbCgC8AAAApAAAAH0AAABCAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWjMAfr1oBefVbyj/zWc9/8VoUf/FaFH/zWdO/9Js
|
||||
Vf/TbVj/zmhK/79ZMf+INg3vMREAywAAAKMAAABlAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHrFpALXYch3/wlw2/7pUMf+5UzD/imVD/61W
|
||||
M/+5UzD/uVMw/75YN//DXT//ymRJ/9NtV/+6VC//YiEA4wAAAKwAAABrAAAAHgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbGeQvHyGIg/69JIP+mQBP/oTsM/5w2
|
||||
Bf9kYCj/gE0X/503Bf+gOgr/pD4R/6xGG/+1Tyr/vlg3/8hiR//HYUX/bigH5wAAAK0AAABrAAAAFgAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH2ZIfu7hUFf+eOAf/nDYA/585
|
||||
AP+iPAD/pD4A/0tcEf89Yxr/gEoI/6Q+AP+gOgD/nDYA/503Bf+mQBP/tE4o/79ZOf+9Wz//bicH5wAA
|
||||
AKYAAABLAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM6TL2PGaxf/nTcA/6M9
|
||||
AP+nQQD/rEYA/69JAP+xSwD/W1oB/wZoA/8aYwL/pEsA/6xGAP+pQwD/pD4A/544AP+dNwX/qUcd/6Jl
|
||||
T/+uVz//PBUA0QAAAIsAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH6KQ96KA6
|
||||
AP+nQQD/rkgA/7NNAP+3UQD/ulQA/71XAP9fZAD/AHEA/wBvAP8iaAD/uVMA/7ROAP+wSgD/qkQA/6I8
|
||||
AP+ISBP/gWZB/59mT/+VQBf3AAAArAAAAEUAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOOz
|
||||
VVrHcSH/qkQA/7JMAP+4UgD/vlgA/8VfAP/KZAD/pmoA/wB8AP8AegD/AHkA/wB2AP97ZwD/wFoA/7pU
|
||||
AP+0TgD/rUcA/4FSEf9gZjD/fmY//51aNP9AGADNAAAAcAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAA9MZoprJPBv+0TgD/vFYA/8VfAP/NZwD/0WsA/9VvAP9sfAD/AIUA/wCFAP8AgwD/G34A/5Fy
|
||||
AP/OaAD/yGIA/75YAP+2UAD/Ul4O/0BmIP9gZjD/gWZB/3MwBeYAAACSAAAAFQAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAADhp1TUtE4A/71XAP/JYwD/0GoA/9dxAP/cdgD/4HoA/3CHAP8AkQD/AI8A/1eH
|
||||
AP/ifAD/3XcA/9hyAP+DcgD/AHUA/wBuAP8BaAH/ImYR/0RmIv9mZjP/jUsU9wAAAKQAAAAYAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAO26Z/+8VgD/yWMA/9JsAP/ZcwD/0nwA/4KMA/89lgf/TZYE/z6Y
|
||||
B/8hmgf/74kA/+2HAP/oggD/t34A/zeAAP8AfQD/AHUA/wBuAP8DaAH/KWYV/05mJ/+NWhr/AAAApwAA
|
||||
ABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Z1L/8VfAP/QagD/2XMA/7eBAv8Vng//DKUX/5+Z
|
||||
C/88pRr/WqUY//6bB//8lwL/+JIA//KMAP/PiAD/kIMA/wCEAP8AfQD/AHQA/wBtAP8LZgb/N2Yc/4he
|
||||
Ff8AAACjAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwx3n/zWcA/9dxAP/SfAL/KKEX/xKr
|
||||
Jf8XsC3/GrM0/yu1OP/VsjL//7Mz//+tKP//pBf//poF//WPAP/shgD/SIcA/wCDAP8aeQD/PmwA/y1j
|
||||
AP8cZg7/gGEQ/wAAAIwAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOvCdtLRawD/3HYA/3qT
|
||||
D/8Vrir/HbY5/yK7RP8mv0z/J8BO/0PAT//Xx13//8VY//+7Q///qiL//poF//ONAP9niwD/AIkA/w5/
|
||||
AP8AdgD/AG4A/wtmBv96VwjxAAAAbgAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/PG0odh3
|
||||
C//gegD/jpcW/x63PP8mv03/Lsdb/zjNaP89z23/Pc9t/3bTdP/y2oH//8xm//+7Q///qB3/+pQA/3iQ
|
||||
AP8AjQD/AIQA/wB7AP8AcQD/AGkA/5VNAOAAAABFAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD/+sJA6KZI/8mCBv8btDb/Jb5L/zLKYf9G0nP/YdmA/37fjP9h3IX/Vdh9/8Tmmf//3Ib//8he//+w
|
||||
Lv/+mgX/iZMB/2OKAP8OhwD/DX0A/wB0AP9GcAD/ZDYArgAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAD556fQI6wp/yC5Qf8sxVn/RNFx/1/bhP/B4pL/4vKz/4bonf+58L////3N/8Lg
|
||||
jv/mymP//7Q2/+KgD//yjAD/6YMA/wCLAP8AgAD/AHYA/5dyAPMAAABFAAAABgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//zECM2H7/I7xH/zPLY/9R1nr/dOKR/5Pspv+09Lb/vvW9/5zt
|
||||
q////cz/S9R2/0nIXf+duD7/Qqsk/5uVCv/oggD/pnsA/wCCAP9rgwD/bT4AjAAAABMAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//zI91yGL/Q8hg/1nZgP9245P/ou2p/8X5
|
||||
wP+7+L//wfGw/+PtqP9Q1nr/Lsdd/yO8Rv+2nxD/8YsA/+aAAP/bdQD/fn4B/6lvAL4AAAAcAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP70uJ+y0HT/UtZ7/3Xi
|
||||
kv+k5Zj/yuie/7nvrP+055v/h9+M/0vUdv8ux13/IbpC/2ukHf/uiAD/430A/+WDCf/NfgvDAAAAGwAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
|
||||
zHDH5Jf/f9V5/4Dgjv+Y4pL/huid/33hj/9a2YH/Ps9t/ynCU/8fuD3/WaMd/+uHBP/ymx3/1ZAgmQAA
|
||||
AA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAP//zCD98LCg2eGQ/6Ddh/+Mz23/Vdh9/3TGWv99tz3/I7xH/1S6Q/+ztj7/56g9rrGA
|
||||
LC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/97sQ/PK1YfjoqJP74JPC+MVhxPjSe8Txy3WX68BmaKqI
|
||||
RBgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAA//gAAH/4A
|
||||
AB/+AAAf/gAAH/4AAD//+A////AH///AAf//gAD//wAAf/4AAD/8AAAf+AAAD/gAAA/wAAAH8AAAB/AA
|
||||
AAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAP+AAAD/gAAB/8AAA//gAAf/8AAP//gAH//+AH/ygA
|
||||
AAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAYAAAAGAAA
|
||||
ADAAAACnAAAAvwAAAL8AAAC/AAAApwAAADAAAAAYAAAAGAAAABgAAAAAAAAAAAAAABgAAACPAAAApwAA
|
||||
AKcBdqn/AXGj/wFxo/8Cdaj/AW+i/wAAAL8AAACnAAAApwAAAKcAAACPAAAAGAAAAAAmJib/JiYm/yYm
|
||||
Jv8mJib/Fa3Z/yvB6/8quN//KMDq/wV+r/8mJib/JiYm/yYmJv8mJib/AAAApwAAABgAAAAAmZmZ///x
|
||||
3///8d////Hg/zKt1f+75e//zff//6/k8v8Zj73///Hf///x3///8d//JiYm/wAAAI8AAAAYAAAAAJmZ
|
||||
mf+ZmZn/mZmZ/5mZmf9Nttj/2uvv///////U7vX/FZC+/5mZmf+ZmZn/mZmZ/5mZmf8AAAAYAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAJafS/0Cy2f9Lt9v/LqvV/0eu0v8AAAAwAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeZmZn///Hg/yYmJv8AAACnAAAAGwAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAABCmZmZ///x4P8mJib/AAAAqgAAADYAAAAFAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeFSwV6nVAa4bljPv/McE7/ekAp/xgJAcMAAACBAAAAKAAA
|
||||
AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNhyVfskoK+5tCDf9ZVhL/n0ML/7ZJIP+UQSPyFAcBtgAA
|
||||
AFwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwWwd1r9HAP+qYgD/A3gA/21kAP+sSwD/cF8s/1sw
|
||||
FtwAAAB8AAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9sE/67dAD/WJII/16UAf/HggD/PHcA/w1r
|
||||
Cv9UTBvtAAAAegAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADXhRv6QqMe/xa/Rf+5vUf//6gi/1mN
|
||||
AP8AdwD/NVEI6QAAAFcAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArLVRwSq/Tv9v4pD/o+ym/9bM
|
||||
ZP+ilAT/GX0A/1JNALYAAAAiAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLysz562YLpleuk/5ru
|
||||
q/8xyV//pJIN/7B6BNFKLAAvAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5/W6K7zp
|
||||
o5aZ0HTAgb5TucyjNX2hZQ0bAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAEAAIAAAACAAAAAgAAAAIAB
|
||||
AAD4HwAA+B8AAPAPAADgBwAA4AcAAOAHAATgBwAV4AcALuAHAFXgD5n/8B/g/w==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
2727
Rei.Fs.Webdav/WebdavFs.cs
Normal file
2727
Rei.Fs.Webdav/WebdavFs.cs
Normal file
File diff suppressed because it is too large
Load Diff
144
Rei.Fs.Webdav/WsseClient.cs
Normal file
144
Rei.Fs.Webdav/WsseClient.cs
Normal file
@@ -0,0 +1,144 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Rei.Fs.Webdav.WsseClient
|
||||
// Assembly: Rei.Fs.Webdav, Version=1.13.2.18288, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: D30DD1E3-8520-48B5-AAE5-C87970350A82
|
||||
// Assembly location: F:\Eigene Dateien\Dropbox\portable Collection\Progs\CarotDAV\Rei.Fs.Webdav.dll
|
||||
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Net;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
namespace Rei.Fs.Webdav
|
||||
{
|
||||
public class WsseClient : IAuthenticationModule
|
||||
{
|
||||
private static RNGCryptoServiceProvider Rnd = new RNGCryptoServiceProvider();
|
||||
internal const string AuthType = "WSSE";
|
||||
internal const string Signature = "WSSE";
|
||||
internal const int NonceLength = 16;
|
||||
private static byte[] AsciiHex;
|
||||
|
||||
public Authorization Authenticate(string challenge, WebRequest request, ICredentials credentials)
|
||||
{
|
||||
if (!WsseClient.ContainsSignatureInChallenge(challenge, "WSSE"))
|
||||
return (Authorization) null;
|
||||
return this.InnerAuthenticate(request, credentials);
|
||||
}
|
||||
|
||||
public string AuthenticationType
|
||||
{
|
||||
get
|
||||
{
|
||||
return "WSSE";
|
||||
}
|
||||
}
|
||||
|
||||
public bool CanPreAuthenticate
|
||||
{
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public Authorization PreAuthenticate(WebRequest request, ICredentials credentials)
|
||||
{
|
||||
return this.InnerAuthenticate(request, credentials);
|
||||
}
|
||||
|
||||
private Authorization InnerAuthenticate(WebRequest request, ICredentials credentials)
|
||||
{
|
||||
Authorization authorization;
|
||||
try
|
||||
{
|
||||
if (credentials == null)
|
||||
{
|
||||
authorization = (Authorization) null;
|
||||
}
|
||||
else
|
||||
{
|
||||
NetworkCredential credential = credentials.GetCredential(request.RequestUri, "WSSE");
|
||||
if (credential == null)
|
||||
{
|
||||
authorization = (Authorization) null;
|
||||
}
|
||||
else
|
||||
{
|
||||
ICredentialPolicy credentialPolicy = AuthenticationManager.CredentialPolicy;
|
||||
if (credentialPolicy != null && !credentialPolicy.ShouldSendCredential(request.RequestUri, request, credential, (IAuthenticationModule) this))
|
||||
{
|
||||
authorization = (Authorization) null;
|
||||
}
|
||||
else
|
||||
{
|
||||
request.Headers.Add("X-WSSE", WsseClient.GetAuthString(credential, Encoding.UTF8));
|
||||
authorization = new Authorization("WSSE profile=\"UsernameToken\"", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ProjectData.SetProjectError(ex);
|
||||
authorization = (Authorization) null;
|
||||
ProjectData.ClearProjectError();
|
||||
}
|
||||
return authorization;
|
||||
}
|
||||
|
||||
public static string GetAuthString(NetworkCredential credential, Encoding encoding)
|
||||
{
|
||||
byte[] nonce = WsseClient.CreateNonce();
|
||||
string str = DateTime.Now.ToUniversalTime().ToString(DateTimeFormatInfo.InvariantInfo.SortableDateTimePattern) + "Z";
|
||||
byte[] buffer = new byte[checked (nonce.Length + encoding.GetByteCount(str + credential.Password) - 1 + 1)];
|
||||
nonce.CopyTo((Array) buffer, 0);
|
||||
encoding.GetBytes(str + credential.Password).CopyTo((Array) buffer, nonce.Length);
|
||||
string base64String = Convert.ToBase64String(SHA1.Create().ComputeHash(buffer));
|
||||
return string.Join("", new string[13]
|
||||
{
|
||||
"UsernameToken ",
|
||||
"Username=\"",
|
||||
credential.UserName,
|
||||
"\", ",
|
||||
"PasswordDigest=\"",
|
||||
base64String,
|
||||
"\", ",
|
||||
"Nonce=\"",
|
||||
Convert.ToBase64String(nonce),
|
||||
"\", ",
|
||||
"Created=\"",
|
||||
str,
|
||||
"\""
|
||||
});
|
||||
}
|
||||
|
||||
private static byte[] CreateNonce()
|
||||
{
|
||||
byte[] data = new byte[16];
|
||||
WsseClient.Rnd.GetBytes(data);
|
||||
return data;
|
||||
}
|
||||
|
||||
private static bool ContainsSignatureInChallenge(string challenge, string signature)
|
||||
{
|
||||
int num1;
|
||||
for (int startIndex = 0; startIndex < challenge.Length; startIndex = checked (num1 + 1))
|
||||
{
|
||||
int num2 = challenge.IndexOf("\"", startIndex);
|
||||
if (num2 < 0)
|
||||
num2 = challenge.Length;
|
||||
if (challenge.Substring(startIndex, checked (num2 - startIndex)).Contains(signature))
|
||||
return true;
|
||||
if (checked (num2 + 1) >= challenge.Length)
|
||||
return false;
|
||||
num1 = challenge.IndexOf("\"", checked (num2 + 1));
|
||||
if (num1 < 0)
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
Rei.Fs.Webdav/lib/Rei.Fs.dll
Normal file
BIN
Rei.Fs.Webdav/lib/Rei.Fs.dll
Normal file
Binary file not shown.
Reference in New Issue
Block a user