Skip to content

Commit fc52a2e

Browse files
author
HAProxy Community
committed
Update docs for dev
1 parent f159735 commit fc52a2e

3 files changed

Lines changed: 42 additions & 18 deletions

File tree

docs/dev/configuration.html

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang="en">
33
<head>
44
<meta charset="utf-8" />
5-
<title>HAProxy version 3.5-dev4-73 - Configuration Manual</title>
5+
<title>HAProxy version 3.5-dev4-113 - Configuration Manual</title>
66
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
77
<link href="https://raw.githubusercontent.com/thomaspark/bootswatch/v3.3.7/cerulean/bootstrap.min.css" rel="stylesheet" />
88
<link href="../css/page.css?0.4.2-15" rel="stylesheet" />
@@ -2189,6 +2189,8 @@
21892189

21902190
<a class="list-group-item" href="#harden.reject-privileged-ports.tcp">harden.reject-privileged-ports.tcp</a>
21912191

2192+
<a class="list-group-item" href="#has_ctl">has_ctl</a>
2193+
21922194
<a class="list-group-item" href="#hash-balance-factor">hash-balance-factor</a>
21932195

21942196
<a class="list-group-item" href="#hash-key">hash-key</a>
@@ -4902,7 +4904,7 @@
49024904
You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br>
49034905
</p>
49044906
<p class="text-right">
4905-
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2026/08/12</b></small>
4907+
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2026/08/13</b></small>
49064908
</p>
49074909
</div>
49084910
<!-- /.sidebar -->
@@ -4913,7 +4915,7 @@
49134915
<div class="text-center">
49144916
<h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1>
49154917
<h2>Configuration Manual</h2>
4916-
<p><strong>version 3.5-dev4-73</strong></p>
4918+
<p><strong>version 3.5-dev4-113</strong></p>
49174919
<p>
49184920
2026/08/06<br>
49194921

@@ -7261,6 +7263,9 @@ <h2 id="chapter-2.4" data-target="2.4"><small><a class="small" href="#2.4">2.4.<
72617263
in the features list reported by &quot;haproxy -vv&quot;
72627264
(which means a &lt;name&gt; appears after a '+')
72637265

7266+
- fips_mode() : returns true if the loaded SSL library is
7267+
currently running in FIPS mode.
7268+
72647269
- openssl_version_atleast(&lt;ver&gt;) : returns true if the current openssl
72657270
version is at least as recent as &lt;ver&gt; otherwise
72667271
false.
@@ -25370,6 +25375,7 @@ <h3 id="chapter-7.3.1" data-target="7.3.1"><small><a class="small" href="#7.3.1"
2537025375
<tr><td ><a href="#7-fix_is_valid">fix_is_valid</a></td><td >binary</td><td >boolean</td></tr>
2537125376
<tr><td ><a href="#7-fix_tag_value">fix_tag_value(tag)</a></td><td >binary</td><td >binary</td></tr>
2537225377
<thead><tr><th>keyword</th><th>input type</th><th>output type</th></tr></thead>
25378+
<tr><td ><a href="#7-has_ctl">has_ctl([mask])</a></td><td >binary</td><td >boolean</td></tr>
2537325379
<tr><td ><a href="#7-hex">hex</a></td><td >binary</td><td >string</td></tr>
2537425380
<tr><td ><a href="#7-hex2i">hex2i</a></td><td >binary</td><td >integer</td></tr>
2537525381
<tr><td ><a href="#7-hmac">hmac(algorithm,key)</a></td><td >binary</td><td >binary</td></tr>
@@ -25389,8 +25395,8 @@ <h3 id="chapter-7.3.1" data-target="7.3.1"><small><a class="small" href="#7.3.1"
2538925395
<tr><td ><a href="#7-ip.ttl">ip.ttl</a></td><td >binary</td><td >integer</td></tr>
2539025396
<tr><td ><a href="#7-ip.ver">ip.ver</a></td><td >binary</td><td >integer</td></tr>
2539125397
<tr><td ><a href="#7-ipmask">ipmask(mask4[,mask6])</a></td><td >address</td><td >address</td></tr>
25392-
<tr><td ><a href="#7-json">json([input-code])</a></td><td >string</td><td >string</td></tr>
2539325398
<thead><tr><th>keyword</th><th>input type</th><th>output type</th></tr></thead>
25399+
<tr><td ><a href="#7-json">json([input-code])</a></td><td >string</td><td >string</td></tr>
2539425400
<tr><td ><a href="#7-json_query">json_query(json_path[,output_type])</a></td><td >string</td><td >_outtype_</td></tr>
2539525401
<tr><td ><a href="#7-jwt_decrypt_jwk">jwt_decrypt_jwk(&lt;jwk&gt;)</a></td><td >string</td><td >binary</td></tr>
2539625402
<tr><td ><a href="#7-jwt_decrypt_cert">jwt_decrypt_cert(&lt;cert&gt;)</a></td><td >string</td><td >binary</td></tr>
@@ -25410,8 +25416,8 @@ <h3 id="chapter-7.3.1" data-target="7.3.1"><small><a class="small" href="#7.3.1"
2541025416
<tr><td ><a href="#7-mod">mod(value)</a></td><td >integer</td><td >integer</td></tr>
2541125417
<tr><td ><a href="#7-mqtt_field_value">mqtt_field_value(pkt_type,fieldname_or_prop_ID)</a></td><td >binary</td><td >binary</td></tr>
2541225418
<tr><td ><a href="#7-mqtt_is_valid">mqtt_is_valid</a></td><td >binary</td><td >boolean</td></tr>
25413-
<tr><td ><a href="#7-ms_ltime">ms_ltime(format[,offset])</a></td><td >integer</td><td >string</td></tr>
2541425419
<thead><tr><th>keyword</th><th>input type</th><th>output type</th></tr></thead>
25420+
<tr><td ><a href="#7-ms_ltime">ms_ltime(format[,offset])</a></td><td >integer</td><td >string</td></tr>
2541525421
<tr><td ><a href="#7-ms_utime">ms_utime(format[,offset])</a></td><td >integer</td><td >string</td></tr>
2541625422
<tr><td ><a href="#7-mul">mul(value)</a></td><td >integer</td><td >integer</td></tr>
2541725423
<tr><td ><a href="#7-nbsrv">nbsrv</a></td><td >string</td><td >integer</td></tr>
@@ -25431,8 +25437,8 @@ <h3 id="chapter-7.3.1" data-target="7.3.1"><small><a class="small" href="#7.3.1"
2543125437
<tr><td ><a href="#7-rfc7239_n2np">rfc7239_n2np</a></td><td >string</td><td >integer / str</td></tr>
2543225438
<tr><td ><a href="#7-rfc7239_nn">rfc7239_nn</a></td><td >address/str</td><td >string</td></tr>
2543325439
<tr><td ><a href="#7-rfc7239_np">rfc7239_np</a></td><td >integer/str</td><td >string</td></tr>
25434-
<tr><td ><a href="#7-rtrim">rtrim(chars)</a></td><td >string</td><td >string</td></tr>
2543525440
<thead><tr><th>keyword</th><th>input type</th><th>output type</th></tr></thead>
25441+
<tr><td ><a href="#7-rtrim">rtrim(chars)</a></td><td >string</td><td >string</td></tr>
2543625442
<tr><td ><a href="#7-sdbm">sdbm([avalanche])</a></td><td >binary</td><td >integer</td></tr>
2543725443
<tr><td ><a href="#7-secure_memcmp">secure_memcmp(var)</a></td><td >string</td><td >boolean</td></tr>
2543825444
<tr><td ><a href="#7-set-var">set-var(var[,cond...])</a></td><td >any</td><td >same</td></tr>
@@ -25452,8 +25458,8 @@ <h3 id="chapter-7.3.1" data-target="7.3.1"><small><a class="small" href="#7.3.1"
2545225458
<tr><td ><a href="#7-table_conn_rate">table_conn_rate([table])</a></td><td >any</td><td >integer</td></tr>
2545325459
<tr><td ><a href="#7-table_expire">table_expire([table[,default_value]])</a></td><td >any</td><td >integer</td></tr>
2545425460
<tr><td ><a href="#7-table_glitch_cnt">table_glitch_cnt([table])</a></td><td >any</td><td >integer</td></tr>
25455-
<tr><td ><a href="#7-table_glitch_rate">table_glitch_rate([table])</a></td><td >any</td><td >integer</td></tr>
2545625461
<thead><tr><th>keyword</th><th>input type</th><th>output type</th></tr></thead>
25462+
<tr><td ><a href="#7-table_glitch_rate">table_glitch_rate([table])</a></td><td >any</td><td >integer</td></tr>
2545725463
<tr><td ><a href="#7-table_gpc">table_gpc(idx[,table])</a></td><td >any</td><td >integer</td></tr>
2545825464
<tr><td ><a href="#7-table_gpc0">table_gpc0([table])</a></td><td >any</td><td >integer</td></tr>
2545925465
<tr><td ><a href="#7-table_gpc0_rate">table_gpc0_rate([table])</a></td><td >any</td><td >integer</td></tr>
@@ -25473,8 +25479,8 @@ <h3 id="chapter-7.3.1" data-target="7.3.1"><small><a class="small" href="#7.3.1"
2547325479
<tr><td ><a href="#7-table_inc_gpc0">table_inc_gpc0([table])</a></td><td >any</td><td >integer</td></tr>
2547425480
<tr><td ><a href="#7-table_inc_gpc1">table_inc_gpc1([table])</a></td><td >any</td><td >integer</td></tr>
2547525481
<tr><td ><a href="#7-table_kbytes_in">table_kbytes_in([table])</a></td><td >any</td><td >integer</td></tr>
25476-
<tr><td ><a href="#7-table_kbytes_out">table_kbytes_out([table])</a></td><td >any</td><td >integer</td></tr>
2547725482
<thead><tr><th>keyword</th><th>input type</th><th>output type</th></tr></thead>
25483+
<tr><td ><a href="#7-table_kbytes_out">table_kbytes_out([table])</a></td><td >any</td><td >integer</td></tr>
2547825484
<tr><td ><a href="#7-table_server_id">table_server_id([table])</a></td><td >any</td><td >integer</td></tr>
2547925485
<tr><td ><a href="#7-table_sess_cnt">table_sess_cnt([table])</a></td><td >any</td><td >integer</td></tr>
2548025486
<tr><td ><a href="#7-table_sess_rate">table_sess_rate([table])</a></td><td >any</td><td >integer</td></tr>
@@ -25494,8 +25500,8 @@ <h3 id="chapter-7.3.1" data-target="7.3.1"><small><a class="small" href="#7.3.1"
2549425500
<tr><td ><a href="#7-ub64dec">ub64dec</a></td><td >string</td><td >string</td></tr>
2549525501
<tr><td ><a href="#7-ub64enc">ub64enc</a></td><td >string</td><td >string</td></tr>
2549625502
<tr><td ><a href="#7-ungrpc">ungrpc(field_number[,field_type])</a></td><td >binary</td><td >binary / int</td></tr>
25497-
<tr><td ><a href="#7-unset-var">unset-var(var)</a></td><td >any</td><td >same</td></tr>
2549825503
<thead><tr><th>keyword</th><th>input type</th><th>output type</th></tr></thead>
25504+
<tr><td ><a href="#7-unset-var">unset-var(var)</a></td><td >any</td><td >same</td></tr>
2549925505
<tr><td ><a href="#7-upper">upper</a></td><td >string</td><td >string</td></tr>
2550025506
<tr><td ><a href="#7-url_dec">url_dec([in_form])</a></td><td >string</td><td >string</td></tr>
2550125507
<tr><td ><a href="#7-url_enc">url_enc([enc_type])</a></td><td >string</td><td >string</td></tr>
@@ -25901,6 +25907,24 @@ <h3 id="chapter-7.3.1" data-target="7.3.1"><small><a class="small" href="#7.3.1"
2590125907
tcp-request content set-var(txn.foo) req.payload(0,0),fix_tag_value(35)
2590225908
tcp-request content set-var(txn.bar) req.payload(0,0),fix_tag_value(MsgType)
2590325909
</code></pre>
25910+
</div><a class="anchor" name="has_ctl"></a><a class="anchor" name="7-has_ctl"></a><a class="anchor" name="7.3.1-has_ctl"></a><a class="anchor" name="has_ctl (Using ACLs and fetching samples)"></a><a class="anchor" name="has_ctl (Converters)"></a><div class="keyword"><b><a class="anchor" name="has_ctl"></a><a href="#7.3.1-has_ctl">has_ctl</a></b>(<span style="color: #008">[mask]</span>)</div><pre class="text">Checks the input binary sample for control characters as defined by the mask
25911+
argument. The mask is a 33-bit number (either decimal or hexadecimal prefixed
25912+
by &quot;0x&quot;), which has one bit set for each character to be detected in the 0x00
25913+
to 0x1F range, and bit 32 set to match the DEL character (0x7F). When no mask
25914+
is specified, the converter will use value 0x1FFFFFDFF, matching all control
25915+
characters except TAB (0x09), which is commonly used in HTTP headers. The
25916+
special mask &quot;any&quot; corresponds to 0x1FFFFFFFF which will match all control
25917+
characters, TAB included. The special mask &quot;http&quot; corresponds to 0x2401 and
25918+
will only cause the control characterss forbidden in HTTP header values to be
25919+
matched, which are CR (0x0D), LF (0x0A) and NUL (0x00).
25920+
</pre><div class="separator">
25921+
<span class="label label-success">Examples:</span>
25922+
<pre class="prettyprint">
25923+
<code><span class="comment"># reject presence of DEL, CR, LF, NUL characters in the referer header</span>
25924+
http-request deny if { req.fhdr(referer),has_ctl(0x100002401) }
25925+
<span class="comment"># reject presence of any control char but tab in any HTTP header value</span>
25926+
http-request deny if { req.hdr(),has_ctl }
25927+
</code></pre>
2590425928
</div><a class="anchor" name="hex"></a><a class="anchor" name="7-hex"></a><a class="anchor" name="7.3.1-hex"></a><a class="anchor" name="hex (Using ACLs and fetching samples)"></a><a class="anchor" name="hex (Converters)"></a><div class="keyword"><b><a class="anchor" name="hex"></a><a href="#7.3.1-hex">hex</a></b></div><pre class="text">Converts a binary input sample to a hex string containing two hex digits per
2590525929
input byte. It is used to log or transfer hex dumps of some binary input data
2590625930
in a way that can be reliably transferred (e.g. an SSL ID can be copied in a
@@ -35734,7 +35758,7 @@ <h2 id="chapter-12.9" data-target="12.9"><small><a class="small" href="#12.9">12
3573435758
<br>
3573535759
<hr>
3573635760
<div class="text-right">
35737-
HAProxy 3.5-dev4-73 &ndash; Configuration Manual<br>
35761+
HAProxy 3.5-dev4-113 &ndash; Configuration Manual<br>
3573835762
<small>, 2026/08/06</small>
3573935763
</div>
3574035764
</div>

docs/dev/intro.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang="en">
33
<head>
44
<meta charset="utf-8" />
5-
<title>HAProxy version 3.5-dev4-73 - Starter Guide</title>
5+
<title>HAProxy version 3.5-dev4-113 - Starter Guide</title>
66
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
77
<link href="https://raw.githubusercontent.com/thomaspark/bootswatch/v3.3.7/cerulean/bootstrap.min.css" rel="stylesheet" />
88
<link href="../css/page.css?0.4.2-15" rel="stylesheet" />
@@ -484,7 +484,7 @@
484484
You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br>
485485
</p>
486486
<p class="text-right">
487-
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2026/08/12</b></small>
487+
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2026/08/13</b></small>
488488
</p>
489489
</div>
490490
<!-- /.sidebar -->
@@ -495,7 +495,7 @@
495495
<div class="text-center">
496496
<h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1>
497497
<h2>Starter Guide</h2>
498-
<p><strong>version 3.5-dev4-73</strong></p>
498+
<p><strong>version 3.5-dev4-113</strong></p>
499499
<p>
500500
<br>
501501

@@ -2510,7 +2510,7 @@ <h2 id="chapter-4.4" data-target="4.4"><small><a class="small" href="#4.4">4.4.<
25102510
<br>
25112511
<hr>
25122512
<div class="text-right">
2513-
HAProxy 3.5-dev4-73 &ndash; Starter Guide<br>
2513+
HAProxy 3.5-dev4-113 &ndash; Starter Guide<br>
25142514
<small>, </small>
25152515
</div>
25162516
</div>

docs/dev/management.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang="en">
33
<head>
44
<meta charset="utf-8" />
5-
<title>HAProxy version 3.5-dev4-73 - Management Guide</title>
5+
<title>HAProxy version 3.5-dev4-113 - Management Guide</title>
66
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
77
<link href="https://raw.githubusercontent.com/thomaspark/bootswatch/v3.3.7/cerulean/bootstrap.min.css" rel="stylesheet" />
88
<link href="../css/page.css?0.4.2-15" rel="stylesheet" />
@@ -698,7 +698,7 @@
698698
You can use <strong>left</strong> and <strong>right</strong> arrow keys to navigate between chapters.<br>
699699
</p>
700700
<p class="text-right">
701-
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2026/08/12</b></small>
701+
<small>Converted with <a href="https://github.com/cbonte/haproxy-dconv">haproxy-dconv</a> v<b>0.4.2-15</b> on <b>2026/08/13</b></small>
702702
</p>
703703
</div>
704704
<!-- /.sidebar -->
@@ -709,7 +709,7 @@
709709
<div class="text-center">
710710
<h1><a href="http://www.haproxy.org/" title="HAProxy"><img src="../img/HAProxyCommunityEdition_60px.png?0.4.2-15" /></a></h1>
711711
<h2>Management Guide</h2>
712-
<p><strong>version 3.5-dev4-73</strong></p>
712+
<p><strong>version 3.5-dev4-113</strong></p>
713713
<p>
714714
<br>
715715

@@ -5954,7 +5954,7 @@ <h2 id="chapter-13.1" data-target="13.1"><small><a class="small" href="#13.1">13
59545954
<br>
59555955
<hr>
59565956
<div class="text-right">
5957-
HAProxy 3.5-dev4-73 &ndash; Management Guide<br>
5957+
HAProxy 3.5-dev4-113 &ndash; Management Guide<br>
59585958
<small>, </small>
59595959
</div>
59605960
</div>

0 commit comments

Comments
 (0)