nim-websock/client_tls/websock_secure_client_case_13_5_4.html

425 lines
20 KiB
HTML
Raw Normal View History

2021-07-16 08:05:39 +07:00
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<style lang="css">
body {
background-color: #F4F4F4;
color: #333;
font-family: Segoe UI,Tahoma,Arial,Verdana,sans-serif;
}
p#intro {
font-family: Cambria,serif;
font-size: 1.1em;
color: #444;
}
p#intro a {
color: #444;
}
p#intro a:visited {
color: #444;
}
.block {
background-color: #e0e0e0;
padding: 16px;
margin: 20px;
}
p.case_text_block {
border-radius: 10px;
border: 1px solid #aaa;
padding: 16px;
margin: 4px 20px;
color: #444;
}
p.case_desc {
}
p.case_expect {
}
p.case_outcome {
}
p.case_closing_beh {
}
pre.http_dump {
font-family: Consolas, "Courier New", monospace;
font-size: 0.8em;
color: #333;
border-radius: 10px;
border: 1px solid #aaa;
padding: 16px;
margin: 4px 20px;
}
span.case_pickle {
font-family: Consolas, "Courier New", monospace;
font-size: 0.7em;
color: #000;
}
p#case_result,p#close_result {
border-radius: 10px;
background-color: #e8e2d1;
padding: 20px;
margin: 20px;
}
h1 {
margin-left: 60px;
}
h2 {
margin-left: 30px;
}
h3 {
margin-left: 50px;
}
a.up {
float: right;
border-radius: 16px;
margin-top: 16px;
margin-bottom: 10px;
margin-right: 30px;
padding-left: 10px;
padding-right: 10px;
padding-bottom: 2px;
padding-top: 2px;
background-color: #666;
color: #fff;
text-decoration: none;
font-size: 0.8em;
}
a.up:visited {
}
a.up:hover {
background-color: #028ec9;
}
</style>
<style lang="css">
p.case {
color: #fff;
border-radius: 10px;
padding: 20px;
margin: 12px 20px;
font-size: 1.2em;
}
p.case_ok {
background-color: #0a0;
}
p.case_non_strict, p.case_no_close {
background-color: #9a0;
}
p.case_info {
background-color: #4095BF;
}
p.case_failed {
background-color: #900;
}
table {
border-collapse: collapse;
border-spacing: 0px;
margin-left: 80px;
margin-bottom: 12px;
margin-top: 0px;
}
td
{
margin: 0;
font-size: 0.8em;
border: 1px #fff solid;
padding-top: 6px;
padding-bottom: 6px;
padding-left: 16px;
padding-right: 16px;
text-align: right;
}
td.right {
text-align: right;
}
td.left {
text-align: left;
}
tr.stats_header {
color: #eee;
background-color: #000;
}
tr.stats_row {
color: #000;
background-color: #fc3;
}
tr.stats_total {
color: #fff;
background-color: #888;
}
div#wirelog {
margin-top: 20px;
margin-bottom: 80px;
}
pre.wirelog_rx_octets {color: #aaa; margin: 0; background-color: #060; padding: 2px;}
pre.wirelog_tx_octets {color: #aaa; margin: 0; background-color: #600; padding: 2px;}
pre.wirelog_tx_octets_sync {color: #aaa; margin: 0; background-color: #606; padding: 2px;}
pre.wirelog_rx_frame {color: #fff; margin: 0; background-color: #0a0; padding: 2px;}
pre.wirelog_tx_frame {color: #fff; margin: 0; background-color: #a00; padding: 2px;}
pre.wirelog_tx_frame_sync {color: #fff; margin: 0; background-color: #a0a; padding: 2px;}
pre.wirelog_delay {color: #fff; margin: 0; background-color: #000; padding: 2px;}
pre.wirelog_kill_after {color: #fff; margin: 0; background-color: #000; padding: 2px;}
pre.wirelog_tcp_closed_by_me {color: #fff; margin: 0; background-color: #008; padding: 2px;}
pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; padding: 2px;}
</style>
</head>
<body>
<a name="top"></a>
<br/>
<center><a href="http://autobahn.ws/testsuite" title="Autobahn WebSocket Testsuite"><img src="http://autobahn.ws/static/img/ws_protocol_test_report.png" border="0" width="820" height="46" alt="Autobahn WebSocket Testsuite Report"></img></a></center>
<center><a href="http://autobahn.ws" title="Autobahn WebSocket"> <img src="http://autobahn.ws/static/img/ws_protocol_test_report_autobahn.png" border="0" width="300" height="68" alt="Autobahn WebSocket"> </img></a></center>
<br/>
<p class="case case_ok">websock-secure-client - <span style="font-size: 1.3em;"><b>Case 13.5.4</b></span> : Pass - <span style="font-size: 0.9em;"><b>462</b> ms @ 2024-01-23T04:10:29.028Z</a></p>
2021-07-16 08:05:39 +07:00
<p class="case_text_block case_desc"><b>Case Description</b><br/><br/>Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]</p>
<p class="case_text_block case_expect"><b>Case Expectation</b><br/><br/>Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.</p>
<p class="case_text_block case_outcome">
<b>Case Outcome</b><br/><br/>Ok, received all echo'ed messages in time.<br/><br/>
<i>Expected:</i><br/><span class="case_pickle">{}</span><br/><br/>
<i>Observed:</i><br><span class="case_pickle">[]</span>
</p>
<p class="case_text_block case_closing_beh"><b>Case Closing Behavior</b><br/><br/>Connection was properly closed (OK)</p>
<br/><hr/>
<h2>Opening Handshake</h2>
<pre class="http_dump">GET /runCase?case=467&agent=websock-secure-client HTTP/1.1
Sec-Websocket-Extensions: permessage-deflate; client_max_window_bits=15
Upgrade: websocket
Host: 127.0.0.1:9002
Connection: Upgrade
Sec-Websocket-Version: 13
Sec-Websocket-Key: bKiLgBPhZnP20k/kwRSxnQ==
2021-07-16 08:05:39 +07:00
Cache-Control: no-cache</pre>
<pre class="http_dump">HTTP/1.1 101 Switching Protocols
Server: AutobahnTestSuite/0.8.2-0.10.9
X-Powered-By: AutobahnPython/0.10.9
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: y3Fe8usK18dFvt9lo8FfupdL6XY=
2021-07-16 08:05:39 +07:00
Sec-WebSocket-Extensions: permessage-deflate; client_no_context_takeover; client_max_window_bits=9</pre>
<br/><hr/>
<h2>Closing Behavior</h2>
<table>
<tr class="stats_header"><td>Key</td><td class="left">Value</td><td class="left">Description</td></tr>
<tr class="stats_row"><td>isServer</td><td class="left">True</td><td class="left">True, iff I (the fuzzer) am a server, and the peer is a client.</td></tr>
<tr class="stats_row"><td>closedByMe</td><td class="left">True</td><td class="left">True, iff I have initiated closing handshake (that is, did send close first).</td></tr>
<tr class="stats_row"><td>failedByMe</td><td class="left">False</td><td class="left">True, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.</td></tr>
<tr class="stats_row"><td>droppedByMe</td><td class="left">True</td><td class="left">True, iff I dropped the TCP connection.</td></tr>
<tr class="stats_row"><td>wasClean</td><td class="left">True</td><td class="left">True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).</td></tr>
<tr class="stats_row"><td>wasNotCleanReason</td><td class="left">None</td><td class="left">When wasClean == False, the reason what happened.</td></tr>
<tr class="stats_row"><td>wasServerConnectionDropTimeout</td><td class="left">False</td><td class="left">When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.</td></tr>
<tr class="stats_row"><td>wasOpenHandshakeTimeout</td><td class="left">False</td><td class="left">When performing the opening handshake, but the peer did not finish in time, this gets True.</td></tr>
<tr class="stats_row"><td>wasCloseHandshakeTimeout</td><td class="left">False</td><td class="left">When we initiated a closing handshake, but the peer did not respond in time, this gets True.</td></tr>
<tr class="stats_row"><td>localCloseCode</td><td class="left">1000</td><td class="left">The close code I sent in close frame (if any).</td></tr>
<tr class="stats_row"><td>localCloseReason</td><td class="left">None</td><td class="left">The close reason I sent in close frame (if any).</td></tr>
<tr class="stats_row"><td>remoteCloseCode</td><td class="left">1000</td><td class="left">The close code the peer sent me in close frame (if any).</td></tr>
<tr class="stats_row"><td>remoteCloseReason</td><td class="left">None</td><td class="left">The close reason the peer sent me in close frame (if any).</td></tr>
</table> <br/><hr/>
<h2>Wire Statistics</h2>
<h3>Octets Received by Chop Size</h3>
<table>
<tr class="stats_header"><td>Chop Size</td><td>Count</td><td>Octets</td></tr>
<tr class="stats_row"><td>8</td><td>1</td><td>8</td></tr>
<tr class="stats_row"><td>163</td><td>1</td><td>163</td></tr>
<tr class="stats_row"><td>164</td><td>1</td><td>164</td></tr>
<tr class="stats_row"><td>165</td><td>2</td><td>330</td></tr>
<tr class="stats_row"><td>166</td><td>6</td><td>996</td></tr>
<tr class="stats_row"><td>167</td><td>3</td><td>501</td></tr>
<tr class="stats_row"><td>168</td><td>4</td><td>672</td></tr>
<tr class="stats_row"><td>169</td><td>9</td><td>1521</td></tr>
<tr class="stats_row"><td>170</td><td>15</td><td>2550</td></tr>
<tr class="stats_row"><td>171</td><td>19</td><td>3249</td></tr>
<tr class="stats_row"><td>172</td><td>24</td><td>4128</td></tr>
<tr class="stats_row"><td>173</td><td>39</td><td>6747</td></tr>
<tr class="stats_row"><td>174</td><td>46</td><td>8004</td></tr>
<tr class="stats_row"><td>175</td><td>50</td><td>8750</td></tr>
<tr class="stats_row"><td>176</td><td>56</td><td>9856</td></tr>
<tr class="stats_row"><td>177</td><td>62</td><td>10974</td></tr>
<tr class="stats_row"><td>178</td><td>51</td><td>9078</td></tr>
<tr class="stats_row"><td>179</td><td>64</td><td>11456</td></tr>
<tr class="stats_row"><td>180</td><td>49</td><td>8820</td></tr>
<tr class="stats_row"><td>181</td><td>49</td><td>8869</td></tr>
<tr class="stats_row"><td>182</td><td>46</td><td>8372</td></tr>
<tr class="stats_row"><td>183</td><td>28</td><td>5124</td></tr>
<tr class="stats_row"><td>184</td><td>44</td><td>8096</td></tr>
<tr class="stats_row"><td>185</td><td>35</td><td>6475</td></tr>
<tr class="stats_row"><td>186</td><td>39</td><td>7254</td></tr>
<tr class="stats_row"><td>187</td><td>36</td><td>6732</td></tr>
<tr class="stats_row"><td>188</td><td>38</td><td>7144</td></tr>
<tr class="stats_row"><td>189</td><td>29</td><td>5481</td></tr>
<tr class="stats_row"><td>190</td><td>26</td><td>4940</td></tr>
<tr class="stats_row"><td>191</td><td>11</td><td>2101</td></tr>
<tr class="stats_row"><td>192</td><td>18</td><td>3456</td></tr>
<tr class="stats_row"><td>193</td><td>9</td><td>1737</td></tr>
<tr class="stats_row"><td>194</td><td>11</td><td>2134</td></tr>
<tr class="stats_row"><td>195</td><td>8</td><td>1560</td></tr>
<tr class="stats_row"><td>196</td><td>5</td><td>980</td></tr>
<tr class="stats_row"><td>197</td><td>5</td><td>985</td></tr>
<tr class="stats_row"><td>198</td><td>4</td><td>792</td></tr>
<tr class="stats_row"><td>199</td><td>7</td><td>1393</td></tr>
<tr class="stats_row"><td>200</td><td>5</td><td>1000</td></tr>
<tr class="stats_row"><td>201</td><td>3</td><td>603</td></tr>
<tr class="stats_row"><td>202</td><td>2</td><td>404</td></tr>
<tr class="stats_row"><td>203</td><td>2</td><td>406</td></tr>
<tr class="stats_row"><td>204</td><td>3</td><td>612</td></tr>
<tr class="stats_row"><td>205</td><td>1</td><td>205</td></tr>
<tr class="stats_row"><td>206</td><td>3</td><td>618</td></tr>
<tr class="stats_row"><td>207</td><td>1</td><td>207</td></tr>
<tr class="stats_row"><td>208</td><td>4</td><td>832</td></tr>
<tr class="stats_row"><td>210</td><td>2</td><td>420</td></tr>
<tr class="stats_row"><td>211</td><td>1</td><td>211</td></tr>
<tr class="stats_row"><td>212</td><td>2</td><td>424</td></tr>
<tr class="stats_row"><td>213</td><td>1</td><td>213</td></tr>
<tr class="stats_row"><td>214</td><td>1</td><td>214</td></tr>
<tr class="stats_row"><td>215</td><td>2</td><td>430</td></tr>
<tr class="stats_row"><td>217</td><td>2</td><td>434</td></tr>
<tr class="stats_row"><td>220</td><td>4</td><td>880</td></tr>
<tr class="stats_row"><td>222</td><td>2</td><td>444</td></tr>
<tr class="stats_row"><td>223</td><td>2</td><td>446</td></tr>
<tr class="stats_row"><td>224</td><td>2</td><td>448</td></tr>
<tr class="stats_row"><td>225</td><td>2</td><td>450</td></tr>
<tr class="stats_row"><td>226</td><td>1</td><td>226</td></tr>
<tr class="stats_row"><td>227</td><td>2</td><td>454</td></tr>
<tr class="stats_row"><td>230</td><td>1</td><td>230</td></tr>
<tr class="stats_row"><td>295</td><td>1</td><td>295</td></tr>
<tr class="stats_total"><td>Total</td><td>1002</td><td>182698</td></tr>
</table>
<h3>Octets Transmitted by Chop Size</h3>
<table>
<tr class="stats_header"><td>Chop Size</td><td>Count</td><td>Octets</td></tr>
<tr class="stats_row"><td>4</td><td>1</td><td>4</td></tr>
<tr class="stats_row"><td>39</td><td>1</td><td>39</td></tr>
<tr class="stats_row"><td>40</td><td>1</td><td>40</td></tr>
<tr class="stats_row"><td>41</td><td>4</td><td>164</td></tr>
<tr class="stats_row"><td>44</td><td>5</td><td>220</td></tr>
<tr class="stats_row"><td>45</td><td>1</td><td>45</td></tr>
<tr class="stats_row"><td>46</td><td>4</td><td>184</td></tr>
<tr class="stats_row"><td>47</td><td>9</td><td>423</td></tr>
<tr class="stats_row"><td>48</td><td>22</td><td>1056</td></tr>
<tr class="stats_row"><td>49</td><td>33</td><td>1617</td></tr>
<tr class="stats_row"><td>50</td><td>32</td><td>1600</td></tr>
<tr class="stats_row"><td>51</td><td>39</td><td>1989</td></tr>
<tr class="stats_row"><td>52</td><td>68</td><td>3536</td></tr>
<tr class="stats_row"><td>53</td><td>48</td><td>2544</td></tr>
<tr class="stats_row"><td>54</td><td>63</td><td>3402</td></tr>
<tr class="stats_row"><td>55</td><td>60</td><td>3300</td></tr>
<tr class="stats_row"><td>56</td><td>67</td><td>3752</td></tr>
<tr class="stats_row"><td>57</td><td>66</td><td>3762</td></tr>
<tr class="stats_row"><td>58</td><td>27</td><td>1566</td></tr>
<tr class="stats_row"><td>59</td><td>49</td><td>2891</td></tr>
<tr class="stats_row"><td>60</td><td>29</td><td>1740</td></tr>
<tr class="stats_row"><td>61</td><td>18</td><td>1098</td></tr>
<tr class="stats_row"><td>62</td><td>16</td><td>992</td></tr>
<tr class="stats_row"><td>63</td><td>31</td><td>1953</td></tr>
<tr class="stats_row"><td>64</td><td>18</td><td>1152</td></tr>
<tr class="stats_row"><td>65</td><td>16</td><td>1040</td></tr>
<tr class="stats_row"><td>66</td><td>8</td><td>528</td></tr>
<tr class="stats_row"><td>67</td><td>19</td><td>1273</td></tr>
<tr class="stats_row"><td>68</td><td>21</td><td>1428</td></tr>
<tr class="stats_row"><td>69</td><td>16</td><td>1104</td></tr>
<tr class="stats_row"><td>70</td><td>29</td><td>2030</td></tr>
<tr class="stats_row"><td>71</td><td>18</td><td>1278</td></tr>
<tr class="stats_row"><td>72</td><td>28</td><td>2016</td></tr>
<tr class="stats_row"><td>73</td><td>31</td><td>2263</td></tr>
<tr class="stats_row"><td>74</td><td>10</td><td>740</td></tr>
<tr class="stats_row"><td>75</td><td>11</td><td>825</td></tr>
<tr class="stats_row"><td>76</td><td>18</td><td>1368</td></tr>
<tr class="stats_row"><td>77</td><td>10</td><td>770</td></tr>
<tr class="stats_row"><td>78</td><td>8</td><td>624</td></tr>
<tr class="stats_row"><td>79</td><td>4</td><td>316</td></tr>
<tr class="stats_row"><td>80</td><td>3</td><td>240</td></tr>
<tr class="stats_row"><td>82</td><td>1</td><td>82</td></tr>
<tr class="stats_row"><td>83</td><td>2</td><td>166</td></tr>
<tr class="stats_row"><td>84</td><td>3</td><td>252</td></tr>
<tr class="stats_row"><td>86</td><td>3</td><td>258</td></tr>
<tr class="stats_row"><td>87</td><td>1</td><td>87</td></tr>
<tr class="stats_row"><td>88</td><td>1</td><td>88</td></tr>
<tr class="stats_row"><td>89</td><td>3</td><td>267</td></tr>
<tr class="stats_row"><td>91</td><td>2</td><td>182</td></tr>
<tr class="stats_row"><td>92</td><td>2</td><td>184</td></tr>
<tr class="stats_row"><td>94</td><td>4</td><td>376</td></tr>
<tr class="stats_row"><td>96</td><td>1</td><td>96</td></tr>
<tr class="stats_row"><td>97</td><td>1</td><td>97</td></tr>
<tr class="stats_row"><td>99</td><td>2</td><td>198</td></tr>
<tr class="stats_row"><td>100</td><td>1</td><td>100</td></tr>
<tr class="stats_row"><td>101</td><td>1</td><td>101</td></tr>
<tr class="stats_row"><td>104</td><td>1</td><td>104</td></tr>
<tr class="stats_row"><td>105</td><td>2</td><td>210</td></tr>
<tr class="stats_row"><td>106</td><td>1</td><td>106</td></tr>
<tr class="stats_row"><td>107</td><td>1</td><td>107</td></tr>
<tr class="stats_row"><td>108</td><td>1</td><td>108</td></tr>
<tr class="stats_row"><td>109</td><td>2</td><td>218</td></tr>
<tr class="stats_row"><td>110</td><td>1</td><td>110</td></tr>
<tr class="stats_row"><td>114</td><td>1</td><td>114</td></tr>
<tr class="stats_row"><td>170</td><td>1</td><td>170</td></tr>
<tr class="stats_row"><td>306</td><td>1</td><td>306</td></tr>
<tr class="stats_total"><td>Total</td><td>1002</td><td>60999</td></tr>
</table>
<h3>Frames Received by Opcode</h3>
<table>
<tr class="stats_header"><td>Opcode</td><td>Count</td></tr>
<tr class="stats_row"><td>1</td><td>1000</td></tr>
<tr class="stats_row"><td>8</td><td>1</td></tr>
<tr class="stats_total"><td>Total</td><td>1001</td></tr>
</table>
<h3>Frames Transmitted by Opcode</h3>
<table>
<tr class="stats_header"><td>Opcode</td><td>Count</td></tr>
<tr class="stats_row"><td>1</td><td>1000</td></tr>
<tr class="stats_row"><td>8</td><td>1</td></tr>
<tr class="stats_total"><td>Total</td><td>1001</td></tr>
</table>
<br/><hr/>
<h2>Wire Log</h2>
<div id="wirelog">
<pre class="wirelog_rx_octets">000 RX OCTETS: 474554202f72756e436173653f636173653d343637266167656e743d776562736f636b2d7365637572652d636c69656e7420</pre>
<pre class="wirelog_rx_octets"> 485454502f312e310d0a5365632d ...</pre>
<pre class="wirelog_tx_octets">001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e</pre>
<pre class="wirelog_tx_octets"> 5465737453756974652f302e382e ...</pre>
<pre class="wirelog_delay">002 WIRELOG DISABLED</pre>
<pre class="wirelog_kill_after">003 CLOSE CONNECTION AFTER 240.000000 sec</pre>
<pre class="wirelog_delay">004 WIRELOG ENABLED</pre>
<pre class="wirelog_tx_frame">005 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False</pre>
<pre class="wirelog_tx_frame"> 0x03e8</pre>
<pre class="wirelog_tx_octets">006 TX OCTETS: 880203e8</pre>
<pre class="wirelog_rx_octets">007 RX OCTETS: 8882ad9868c5ae70</pre>
<pre class="wirelog_rx_frame">008 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6164393836386335</pre>
2021-07-16 08:05:39 +07:00
<pre class="wirelog_rx_frame"> 0x03e8</pre>
<pre class="wirelog_tcp_closed_by_me">009 TCP DROPPED BY ME</pre>
</div>
<br/><hr/>
</body>
</html>