<html><body><span class="xfm_66369292"><div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;"># HG changeset patch</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;"># User aspel <aspel@ukr.net></span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;"># Date 1514370676 0</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;"># Wed Dec 27 10:31:16 2017 +0000</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;"># Node ID a24cb7e952ae4db04e133fa8f3ad7b51703e03d5</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;"># Parent 32dd4fc94fba998762aaec65652ad8d554052fc8</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">Added additional parameter "r/h" (requests per hour)</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;"><br data-mce-bogus="1"/></span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">This additional parameter will help protect a server from brute-force.<br data-mce-bogus="1"/></span></div>
<div lang="en"><span style="font-family:Arial;font-size:10pt;line-height:12pt;">In which thousands of IP addresses participate.</span></div>
<div><br/></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">diff -r 32dd4fc94fba -r a24cb7e952ae src/http/modules/ngx_http_limit_req_module.c</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">--- a/src/http/modules/ngx_http_limit_req_module.c Tue Dec 26 19:01:12 2017 +0300</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">+++ b/src/http/modules/ngx_http_limit_req_module.c Wed Dec 27 10:31:16 2017 +0000</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">@@ -801,6 +801,10 @@</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;"> } else if (ngx_strncmp(p, "r/m", 3) == 0) {</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;"> scale = 60;</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;"> len -= 3;</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">+ </span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">+ } else if (ngx_strncmp(p, "r/h", 3) == 0) {</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">+ scale = 3600;</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;">+ len -= 3;</span></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;"> }</span></div>
<div><br/></div>
<div><span style="font-family:Arial;font-size:10pt;line-height:12pt;"> rate = ngx_atoi(value[i].data + 5, len - 5);</span></div>
</div>
<ul class="xfmc1 xfmc2 xfmc3" id="xfmi1"><li title="" class="xfmc4 xfmc5">Add to Phrasebook
<div class="xfmc6"></div>
<ul class="xfmc1 xfmc2 xfmc3" id="xfmi2"><li title="" class="xfmc7">No wordlists for English -> Russian...
<div class="xfmc8"></div>
</li>
<li title="" class="xfmc9">Create a new wordlist...</li>
</ul></li>
<li title="" class="xfmc9">Copy</li>
<li title="" class="xfmc4 xfmc5">Add to Phrasebook
<div class="xfmc6"></div>
<ul class="xfmc1 xfmc2 xfmc3" id="xfmi3"><li title="" class="xfmc7">No wordlists for English -> Russian...
<div class="xfmc8"></div>
</li>
<li title="" class="xfmc10">Create a new wordlist...</li>
</ul></li>
<li title="" class="xfmc10">Copy</li>
<li title="" class="xfmc4 xfmc5">Add to Phrasebook
<div class="xfmc6"></div>
<ul class="xfmc1 xfmc2 xfmc3" id="xfmi4"><li title="" class="xfmc7">No wordlists for English -> Russian...
<div class="xfmc8"></div>
</li>
<li title="" class="xfmc11">Create a new wordlist...</li>
</ul></li>
<li title="" class="xfmc11">Copy</li>
</ul></span></body></html>