Modified ToDigestString method
This commit is contained in:
parent
a4fe878a8e
commit
cdea232f2f
@ -109,9 +109,26 @@ namespace WebSocketSharp.Net
|
|||||||
|
|
||||||
internal string ToDigestString ()
|
internal string ToDigestString ()
|
||||||
{
|
{
|
||||||
var output = new StringBuilder (64);
|
var output = new StringBuilder (128);
|
||||||
output.AppendFormat ("Digest realm=\"{0}\"", Parameters["realm"]);
|
|
||||||
output.AppendFormat (", nonce=\"{0}\"", Parameters["nonce"]);
|
var domain = Parameters["domain"];
|
||||||
|
if (domain != null)
|
||||||
|
output.AppendFormat (
|
||||||
|
"Digest realm=\"{0}\", domain=\"{1}\", nonce=\"{2}\"",
|
||||||
|
Parameters["realm"],
|
||||||
|
domain,
|
||||||
|
Parameters["nonce"]);
|
||||||
|
else
|
||||||
|
output.AppendFormat (
|
||||||
|
"Digest realm=\"{0}\", nonce=\"{1}\"", Parameters["realm"], Parameters["nonce"]);
|
||||||
|
|
||||||
|
var opaque = Parameters["opaque"];
|
||||||
|
if (opaque != null)
|
||||||
|
output.AppendFormat (", opaque=\"{0}\"", opaque);
|
||||||
|
|
||||||
|
var stale = Parameters["stale"];
|
||||||
|
if (stale != null)
|
||||||
|
output.AppendFormat (", stale={0}", stale);
|
||||||
|
|
||||||
var algo = Parameters["algorithm"];
|
var algo = Parameters["algorithm"];
|
||||||
if (algo != null)
|
if (algo != null)
|
||||||
|
@ -180,8 +180,8 @@ namespace WebSocketSharp.Net
|
|||||||
if (qops != null) {
|
if (qops != null) {
|
||||||
if (qops.Split (',').Contains (qop => qop.Trim ().ToLower () == "auth")) {
|
if (qops.Split (',').Contains (qop => qop.Trim ().ToLower () == "auth")) {
|
||||||
Parameters["qop"] = "auth";
|
Parameters["qop"] = "auth";
|
||||||
Parameters["nc"] = String.Format ("{0:x8}", ++_nonceCount);
|
|
||||||
Parameters["cnonce"] = CreateNonceValue ();
|
Parameters["cnonce"] = CreateNonceValue ();
|
||||||
|
Parameters["nc"] = String.Format ("{0:x8}", ++_nonceCount);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Parameters["qop"] = null;
|
Parameters["qop"] = null;
|
||||||
@ -205,8 +205,8 @@ namespace WebSocketSharp.Net
|
|||||||
var uri = parameters["uri"];
|
var uri = parameters["uri"];
|
||||||
var algo = parameters["algorithm"];
|
var algo = parameters["algorithm"];
|
||||||
var qop = parameters["qop"];
|
var qop = parameters["qop"];
|
||||||
var nc = parameters["nc"];
|
|
||||||
var cnonce = parameters["cnonce"];
|
var cnonce = parameters["cnonce"];
|
||||||
|
var nc = parameters["nc"];
|
||||||
var method = parameters["method"];
|
var method = parameters["method"];
|
||||||
|
|
||||||
var a1 = algo != null && algo.ToLower () == "md5-sess"
|
var a1 = algo != null && algo.ToLower () == "md5-sess"
|
||||||
@ -279,30 +279,29 @@ namespace WebSocketSharp.Net
|
|||||||
|
|
||||||
internal string ToDigestString ()
|
internal string ToDigestString ()
|
||||||
{
|
{
|
||||||
var res = new StringBuilder (64);
|
var output = new StringBuilder (256);
|
||||||
res.AppendFormat ("username=\"{0}\"", Parameters["username"]);
|
output.AppendFormat (
|
||||||
res.AppendFormat (", realm=\"{0}\"", Parameters["realm"]);
|
"Digest username=\"{0}\", realm=\"{1}\", nonce=\"{2}\", uri=\"{3}\", response=\"{4}\"",
|
||||||
res.AppendFormat (", nonce=\"{0}\"", Parameters["nonce"]);
|
Parameters["username"],
|
||||||
res.AppendFormat (", uri=\"{0}\"", Parameters["uri"]);
|
Parameters["realm"],
|
||||||
|
Parameters["nonce"],
|
||||||
var algo = Parameters["algorithm"];
|
Parameters["uri"],
|
||||||
if (algo != null)
|
Parameters["response"]);
|
||||||
res.AppendFormat (", algorithm={0}", algo);
|
|
||||||
|
|
||||||
res.AppendFormat (", response=\"{0}\"", Parameters["response"]);
|
|
||||||
|
|
||||||
var qop = Parameters["qop"];
|
|
||||||
if (qop != null) {
|
|
||||||
res.AppendFormat (", qop={0}", qop);
|
|
||||||
res.AppendFormat (", nc={0}", Parameters["nc"]);
|
|
||||||
res.AppendFormat (", cnonce=\"{0}\"", Parameters["cnonce"]);
|
|
||||||
}
|
|
||||||
|
|
||||||
var opaque = Parameters["opaque"];
|
var opaque = Parameters["opaque"];
|
||||||
if (opaque != null)
|
if (opaque != null)
|
||||||
res.AppendFormat (", opaque=\"{0}\"", opaque);
|
output.AppendFormat (", opaque=\"{0}\"", opaque);
|
||||||
|
|
||||||
return "Digest " + res.ToString ();
|
var algo = Parameters["algorithm"];
|
||||||
|
if (algo != null)
|
||||||
|
output.AppendFormat (", algorithm={0}", algo);
|
||||||
|
|
||||||
|
var qop = Parameters["qop"];
|
||||||
|
if (qop != null)
|
||||||
|
output.AppendFormat (
|
||||||
|
", qop={0}, cnonce=\"{1}\", nc={2}", qop, Parameters["cnonce"], Parameters["nc"]);
|
||||||
|
|
||||||
|
return output.ToString ();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
Loading…
Reference in New Issue
Block a user