Skip to content

Commit

Permalink
docs
Browse files Browse the repository at this point in the history
  • Loading branch information
boazsegev committed Mar 3, 2019
1 parent 42508f4 commit fdf9e5f
Show file tree
Hide file tree
Showing 7 changed files with 32 additions and 24 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Change Log

### v. 0.7.0.beta8 (next)
### v. 0.7.0.beta8

**Security**: (`fio`) Slowloris mitigation is now part of the core library, where `FIO_SLOWLORIS_LIMIT` pending calls to `write` (currently 1,024 backlogged calls) will flag the connection as an attacker and either close the connection or ignore it. This protocol independent approach improves security.

Expand Down
22 changes: 8 additions & 14 deletions docs/0.7.x/fio.html
Original file line number Diff line number Diff line change
Expand Up @@ -1118,7 +1118,7 @@ <h3 id="miscellaneous">Miscellaneous</h3>
<a href="#fio_max_sock_capacity"><code>FIO_MAX_SOCK_CAPACITY</code></a>
</li>
<li>
<a href="#fio_engine_poll"><code>FIO_ENGINE_POLL</code></a>
<a href="#fio_engine_poll-fio_engine_epoll-fio_engine_kqueue"><code>FIO_ENGINE_POLL</code>, <code>FIO_ENGINE_EPOLL</code>, <code>FIO_ENGINE_KQUEUE</code></a>
</li>
<li>
<a href="#fio_cpu_cores_limit"><code>FIO_CPU_CORES_LIMIT</code></a>
Expand All @@ -1127,9 +1127,6 @@ <h3 id="miscellaneous">Miscellaneous</h3>
<a href="#fio_defer_throttle_progressive"><code>FIO_DEFER_THROTTLE_PROGRESSIVE</code></a>
</li>
<li>
<a href="#fio_print_state"><code>FIO_PRINT_STATE</code></a>
</li>
<li>
<a href="#fio_poll_max_events"><code>FIO_POLL_MAX_EVENTS</code></a>
</li>
<li>
Expand Down Expand Up @@ -4354,10 +4351,13 @@ <h4 id="fio_max_sock_capacity"><code>FIO_MAX_SOCK_CAPACITY</code></h4>

<p>If the soft coded OS limit is higher than this number, than this limit will be enforced instead.</p>

<h4 id="fio_engine_poll"><code>FIO_ENGINE_POLL</code></h4>
<h4 id="fio_engine_poll-fio_engine_epoll-fio_engine_kqueue"><code>FIO_ENGINE_POLL</code>, <code>FIO_ENGINE_EPOLL</code>, <code>FIO_ENGINE_KQUEUE</code></h4>

<p>If set, facil.io will prefer the <code>poll</code> system call over <code>epoll</code> or <code>kqueue</code>.</p>
<p>If set, facil.io will prefer the specified polling system call (<code>poll</code>, <code>epoll</code> or <code>kqueue</code>) rather then attempting to auto-detect the correct system call.</p>

<p>To set any of these flag while using the facil.io <code>makefile</code>, set the <code>FIO_FORCE_POLL</code> / <code>FIO_FORCE_EPOLL</code> / <code>FIO_FORCE_KQUEUE</code> environment variable to true. i.e.:</p>
<div class="highlight"><pre class="highlight shell"><code><span class="nv">FIO_FORCE_POLL</span><span class="o">=</span>1 make
</code></pre></div>
<p>It should be noted that for most use-cases, <code>epoll</code> and <code>kqueue</code> will perform better.</p>

<h4 id="fio_cpu_cores_limit"><code>FIO_CPU_CORES_LIMIT</code></h4>
Expand All @@ -4378,12 +4378,6 @@ <h4 id="fio_defer_throttle_progressive"><code>FIO_DEFER_THROTTLE_PROGRESSIVE</co

<p>By default, <code>FIO_DEFER_THROTTLE_PROGRESSIVE</code> is true (1).</p>

<h4 id="fio_print_state"><code>FIO_PRINT_STATE</code></h4>

<p>When this macro is true (1), facil.io will enable the <code>FIO_LOG_STATE(msg, ...)</code> macro to print some default information level messages to stderr (startup / shutdown messages, etc&#39;).</p>

<p>By default this macro is set to true.</p>

<h4 id="fio_poll_max_events"><code>FIO_POLL_MAX_EVENTS</code></h4>

<p>This macro sets the maximum number of IO events facil.io will pre-schedule at the beginning of each cycle, when using <code>epoll</code> or <code>kqueue</code> (not when using <code>poll</code>).</p>
Expand All @@ -4398,11 +4392,11 @@ <h4 id="fio_use_urgent_queue"><code>FIO_USE_URGENT_QUEUE</code></h4>

<h4 id="fio_pubsub_support"><code>FIO_PUBSUB_SUPPORT</code></h4>

<p>If true (1), compiles the facil.io pub/sub API .</p>
<p>If true (1), compiles the facil.io pub/sub API. By default, this is true.</p>

<h2 id="weak-functions">Weak functions</h2>

<p>Weak functions are functions that can be over-ridden during the compilation / linking stage.</p>
<p>Weak functions are functions that can be overridden during the compilation / linking stage.</p>

<p>This provides control over some operations such as thread creation and process forking, which could be important when integrating facil.io into a VM engine such as Ruby or JavaScript.</p>

Expand Down
2 changes: 1 addition & 1 deletion docs/404.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ <h2 id="versions">Versions</h2>

<ul>
<li><p><a href="changelog">Change Log</a></p></li>
<li><p><strong>Latest (beta)</strong>: 0.7.0.beta7</p></li>
<li><p><strong>Latest (beta)</strong>: 0.7.0.beta8</p></li>
<li><p><strong>Latest stable</strong>: 0.6.4</p></li>
</ul>
</nav><div id="md_container"><div class='toc'><ul>
Expand Down
2 changes: 1 addition & 1 deletion docs/500.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ <h2 id="versions">Versions</h2>

<ul>
<li><p><a href="changelog">Change Log</a></p></li>
<li><p><strong>Latest (beta)</strong>: 0.7.0.beta7</p></li>
<li><p><strong>Latest (beta)</strong>: 0.7.0.beta8</p></li>
<li><p><strong>Latest stable</strong>: 0.6.4</p></li>
</ul>
</nav><div id="md_container"><div class='toc'><ul>
Expand Down
2 changes: 1 addition & 1 deletion docs/_SOURCE/_versions.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Review the [change-log](changelog) when migrating between versions.

* [Change Log](changelog)

* **Latest (beta)**: 0.7.0.beta7
* **Latest (beta)**: 0.7.0.beta8

* **Latest stable**: 0.6.4

Expand Down
24 changes: 19 additions & 5 deletions docs/changelog.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ <h2 id="versions">Versions</h2>

<ul>
<li><p><a href="changelog">Change Log</a></p></li>
<li><p><strong>Latest (beta)</strong>: 0.7.0.beta7</p></li>
<li><p><strong>Latest (beta)</strong>: 0.7.0.beta8</p></li>
<li><p><strong>Latest stable</strong>: 0.6.4</p></li>
</ul>
</nav><div id="md_container"><div class='toc'><ul>
Expand All @@ -23,7 +23,7 @@ <h2 id="versions">Versions</h2>
<li>
<ul>
<li>
<a href="#v-0-7-0-beta8-next">v. 0.7.0.beta8 (next)</a>
<a href="#v-0-7-0-beta8">v. 0.7.0.beta8</a>
</li>
<li>
<a href="#v-0-7-0-beta7">v. 0.7.0.beta7</a>
Expand Down Expand Up @@ -262,15 +262,21 @@ <h2 id="versions">Versions</h2>
</ul>
</div><h1 id="change-log">Change Log</h1>

<h3 id="v-0-7-0-beta8-next">v. 0.7.0.beta8 (next)</h3>
<h3 id="v-0-7-0-beta8">v. 0.7.0.beta8</h3>

<p><strong>Security</strong>: (<code>fio</code>) Slowloris mitigation is now part of the core library, where <code>FIO_SLOWLORIS_LIMIT</code> pending calls to <code>write</code> (currently 1,024 backlogged calls) will flag the connection as an attacker and either close the connection or ignore it. This protocol independent approach improves security.</p>

<p><strong>Security</strong>: (<code>http</code>) HTTP/1.1 client throttling - new requests will not be consumed until pending responses were sent. Since HTTP/1.1 is a response-request protocol, this protocol specific approach should protect the HTTP application against slow clients.</p>

<p><strong>Fix</strong>: (<code>fio</code>): fixed <code>fio_pending</code> not decrementing packet count before reaching zero.</p>
<p><strong>Fix</strong>: (<code>fio</code>) fixed fallback implementation for <code>fio_atomic_xchange</code> when missing atomic primitives in compiler (older compilers). Credit to @Low-power for identifying and fixing the issue (PR #55).</p>

<p><strong>Fix</strong>: (<code>fio</code>): fixed logging message for overflowing log messages. Credit to @weskerfoot (Wesley Kerfoot) and @adam12 (Adam Daniels) for exposing the issue (issue iodine/#56).</p>
<p><strong>Fix</strong>: (<code>fio</code>) fixed a possible unreleased lock when a memory allocation failed (no memory in the system). Credit to @Low-power for identifying and fixing the issue (PR #54).</p>

<p><strong>Fix</strong>: (<code>fio</code>) fixed the <code>fio_sock_sendfile_from_fd</code> fall-back for a missing <code>sendfile</code>. Credit to @Low-power for identifying and fixing the typo (PR #49).</p>

<p><strong>Fix</strong>: (<code>fio</code>) fixed <code>fio_pending</code> not decrementing packet count before reaching zero.</p>

<p><strong>Fix</strong>: (<code>fio</code>) fixed logging message for overflowing log messages. Credit to @weskerfoot (Wesley Kerfoot) and @adam12 (Adam Daniels) for exposing the issue (issue iodine/#56).</p>

<p><strong>Fix</strong>: (<code>fio</code>, <code>fio_risky_hash</code>) Florian Weber (@Florianjw) <a href="https://www.reddit.com/r/crypto/comments/9kk5gl/break_my_ciphercollectionpost/eekxw2f/?context=3">exposed a byte ordering error (last 7 byte reading order) and took time challenge the algorithm</a>. The exposed errors were fixed and the exposed a possible attack on RiskyHash using a variation on a Meet-In-The-Middle attack, written by Hening Makholm (@hmakholm). This prompted an update and fixes to the function.</p>

Expand All @@ -294,10 +300,18 @@ <h3 id="v-0-7-0-beta8-next">v. 0.7.0.beta8 (next)</h3>

<p><strong>Fix</strong>: (<code>fio</code>) fixed logging error message for long error messages.</p>

<p><strong>Update</strong>: (<code>fio</code> / <code>makefile</code>) improved detection for polling system call, <code>sendfile</code>, etc&#39;.</p>

<p><strong>Update</strong>: (<code>fio</code>) improved signal handling. Signal handling now propagates to pre-existing signal handlers. In addition, the <code>fio_signal_handler_reset</code> function was made public, allowing facil.io signal handlers to be removed immediately following startup (using <code>fio_state_callback_add</code> with <code>FIO_CALL_PRE_START</code> to call <code>fio_signal_handler_reset</code>).</p>

<p><strong>Update</strong>: (<code>fio</code>) improved pub/sub memory usage to minimize message copying in cluster mode (same memory is used for IPC and local-process message publishing).</p>

<p><strong>Update</strong>: (<code>fio</code>) updated the non-cryptographic PRG algorithm for performance and speed. Now the <code>fio_rand</code> functions are modeled after the <code>xoroshiro128+</code> algorithm, with an automated re-seeding counter based on RiskyHash. This should improve performance for non cryptographic random requirements.</p>

<p><strong>Compatibility</strong>: (<code>fio</code>) mitigate undefined MAP_ANONYMOUS on MacOS &lt;= 10.10. Credit to @xicreative (Evan Pavlica) for iodine/PR#61.</p>

<p><strong>Compatibility</strong>: (<code>fio</code>) various Solaris OS compatibility patches, courtesy of @Low-power (PR #52, #53).</p>

<h3 id="v-0-7-0-beta7">v. 0.7.0.beta7</h3>

<p><strong>BREAK</strong>: (<code>fio_tls</code>) breaking API changes to the SSL/TLS API... I know, I&#39;m sorry, especially since there&#39;s a small and misleading change in argument ordering for <code>fio_tls_cert_add</code> and <code>fio_tls_new</code>... but if we don&#39;t fix the API now, before the 0.7.0 release, bad design might ruin our Wednesday meditation for all eternity.</p>
Expand Down
2 changes: 1 addition & 1 deletion docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ <h2 id="versions">Versions</h2>

<ul>
<li><p><a href="changelog">Change Log</a></p></li>
<li><p><strong>Latest (beta)</strong>: 0.7.0.beta7</p></li>
<li><p><strong>Latest (beta)</strong>: 0.7.0.beta8</p></li>
<li><p><strong>Latest stable</strong>: 0.6.4</p></li>
</ul>
</nav><div id="md_container"><h1 id="facil-io-the-c-web-application-framework">facil.io - The C Web Application Framework</h1>
Expand Down

0 comments on commit fdf9e5f

Please sign in to comment.