<p><a href="https://gerrit.asterisk.org/10030">View Change</a></p><p>1 comment:</p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0;"><p><a href="https://gerrit.asterisk.org/#/c/10030/1/main/http.c">File main/http.c:</a></p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/#/c/10030/1/main/http.c@1787">Patch Set #1, Line 1787:</a> <code style="font-family:monospace,monospace">"Timeout"</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">'Timeout' seems odd. […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">fgets() connected to a file system isn't going to return until either it has read in a line or it fills the passed in buffer.  In Asterisk's case it is connected to a transport socket.  </p><p style="white-space: pre-wrap; word-wrap: break-word;">If fgets() returns a short buffer that wasn't a line then the transport either closed or a timeout happened waiting for the rest of a line to come in.  In either of those off nominal cases it is going to return whatever it has in the buffer.  It would do that just in case the caller has any use for the already accumulated data.</p><p style="white-space: pre-wrap; word-wrap: break-word;">In the current situation:</p><p style="white-space: pre-wrap; word-wrap: break-word;">If the early return was for a disconnected transport then the HTTP timeout error return would get discarded because there is nothing to send the message over.</p><p style="white-space: pre-wrap; word-wrap: break-word;">If the early return was for a timeout then the HTTP timeout error return would get sent and the transport would get closed.  We cannot have a potential attacker consuming our resources right?</p></li></ul></li></ul><p>To view, visit <a href="https://gerrit.asterisk.org/10030">change 10030</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/10030"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: 13 </div>
<div style="display:none"> Gerrit-MessageType: comment </div>
<div style="display:none"> Gerrit-Change-Id: I6df2705435fd7dde4d5d3bdf7acec859cfb7c12d </div>
<div style="display:none"> Gerrit-Change-Number: 10030 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Richard Mudgett <rmudgett@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins2 </div>
<div style="display:none"> Gerrit-Reviewer: Matthew Fredrickson <creslin@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Richard Mudgett <rmudgett@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Sean Bright <sean.bright@gmail.com> </div>
<div style="display:none"> Gerrit-Comment-Date: Tue, 04 Sep 2018 15:57:27 +0000 </div>
<div style="display:none"> Gerrit-HasComments: Yes </div>
<div style="display:none"> Gerrit-HasLabels: No </div>