Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mcs/class/Mono.Security/Mono.Security.Protocol.Tls')
-rw-r--r--mcs/class/Mono.Security/Mono.Security.Protocol.Tls/ChangeLog21
-rw-r--r--mcs/class/Mono.Security/Mono.Security.Protocol.Tls/HttpsClientStream.cs15
-rw-r--r--mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslClientStream.cs10
-rw-r--r--mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslServerStream.cs4
4 files changed, 38 insertions, 12 deletions
diff --git a/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/ChangeLog b/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/ChangeLog
index e55f1f5ecd8..971879f8b9a 100644
--- a/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/ChangeLog
+++ b/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/ChangeLog
@@ -1,3 +1,24 @@
+2004-10-05 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SslClientStream.cs: Changed InputBuffer to internal (was protected).
+
+2004-10-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpsClientStream.cs: the .ctor receives a pre-read buffer now.
+ * SslClientStream.cs: added InputBuffer property.
+
+2004-07-14 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SslClientStream.cs: Changed lock to "new object()" and not
+ String.Empty (as the read/write locks points becomes the same).
+ * SslServerStream.cs: Changed lock to "new object()" and not
+ String.Empty (as the read/write locks points becomes the same).
+
+2004-07-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * HttpsClientStream.cs: get an HttpWebRequest so that we can use the
+ ServicePoint it has. No need to get the host now.
+
2004-05-09 Carlos Guzman Alvarez <carlosga@telefonica.net>
* Mono.Security.Protocol.Tls/Alert.cs:
diff --git a/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/HttpsClientStream.cs b/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/HttpsClientStream.cs
index 1da66f06849..89562c9b416 100644
--- a/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/HttpsClientStream.cs
+++ b/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/HttpsClientStream.cs
@@ -40,17 +40,18 @@ namespace Mono.Security.Protocol.Tls {
internal class HttpsClientStream : SslClientStream {
- private string _host;
- private WebRequest _request;
+ private HttpWebRequest _request;
- public HttpsClientStream (Stream stream, string targetHost, X509CertificateCollection clientCertificates, WebRequest request)
- : base (stream, targetHost, false, SecurityProtocolType.Default, clientCertificates)
+ public HttpsClientStream (Stream stream, X509CertificateCollection clientCertificates,
+ HttpWebRequest request, byte [] buffer)
+ : base (stream, request.RequestUri.Host, false, SecurityProtocolType.Default, clientCertificates)
{
- _host = targetHost;
// this constructor permit access to the WebRequest to call
// ICertificatePolicy.CheckValidationResult
_request = request;
+ if (buffer != null)
+ InputBuffer.Write (buffer, 0, buffer.Length);
#if !NET_1_0
// also saved from reflection
base.CheckCertRevocationStatus = ServicePointManager.CheckCertificateRevocationList;
@@ -61,8 +62,7 @@ namespace Mono.Security.Protocol.Tls {
{
bool failed = (certificateErrors.Length > 0);
if (ServicePointManager.CertificatePolicy != null) {
- Uri target = new Uri ("https://" + _host);
- ServicePoint sp = ServicePointManager.FindServicePoint (target);
+ ServicePoint sp = _request.ServicePoint;
// only one problem can be reported by this interface
int problem = ((failed) ? certificateErrors [0] : 0);
@@ -73,3 +73,4 @@ namespace Mono.Security.Protocol.Tls {
}
}
}
+
diff --git a/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslClientStream.cs b/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslClientStream.cs
index 068a24f68c7..18cc041f4a4 100644
--- a/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslClientStream.cs
+++ b/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslClientStream.cs
@@ -125,6 +125,10 @@ namespace Mono.Security.Protocol.Tls
set { throw new NotSupportedException(); }
}
+ // required by HttpsClientStream for proxy support
+ internal Stream InputBuffer {
+ get { return inputBuffer; }
+ }
#endregion
#region Security Properties
@@ -349,8 +353,8 @@ namespace Mono.Security.Protocol.Tls
this.inputBuffer = new BufferedStream(new MemoryStream());
this.innerStream = stream;
this.ownsStream = ownsStream;
- this.read = String.Empty;
- this.write = String.Empty;
+ this.read = new object ();
+ this.write = new object ();
this.protocol = new ClientRecordProtocol(innerStream, context);
}
@@ -821,4 +825,4 @@ namespace Mono.Security.Protocol.Tls
#endregion
}
-} \ No newline at end of file
+}
diff --git a/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslServerStream.cs b/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslServerStream.cs
index 53b3d095def..f2786f7554b 100644
--- a/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslServerStream.cs
+++ b/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslServerStream.cs
@@ -306,8 +306,8 @@ namespace Mono.Security.Protocol.Tls
this.inputBuffer = new BufferedStream(new MemoryStream());
this.innerStream = stream;
this.ownsStream = ownsStream;
- this.read = String.Empty;
- this.write = String.Empty;
+ this.read = new object ();
+ this.write = new object ();
this.protocol = new ServerRecordProtocol(innerStream, context);
}