This commit is contained in:
bthomee
2025-08-27 02:38:02 -07:00
parent 1320eaee44
commit 8310831799
2611 changed files with 35757 additions and 34520 deletions

View File

@@ -103,30 +103,34 @@ $(document).ready(function() { init_codefold(0); });
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include &lt;xrpl/beast/net/IPAddressV4.h&gt;</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#include &lt;xrpl/beast/net/IPAddressV6.h&gt;</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacebeast.html">beast</a> {</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keyword">namespace </span>IP {</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00027" data-start="{" data-end="}">
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="namespacebeast_1_1IP.html#adcedca5885cc701bcf9abc63e8f6b38a"> 27</a></span><a class="code hl_function" href="namespacebeast_1_1IP.html#add9a8c02dc97dce0e0676c662b697f45">is_private</a>(<a class="code hl_typedef" href="namespacebeast_1_1IP.html#a622077e61c7f3646c6d0f50df3c66bce">AddressV6</a> <span class="keyword">const</span>&amp; addr)</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span>{</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keywordflow">return</span> (</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> (addr.to_bytes()[0] &amp; 0xfd) || <span class="comment">// TODO fc00::/8 too ?</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> (addr.is_v4_mapped() &amp;&amp; <a class="code hl_function" href="namespacebeast_1_1IP.html#add9a8c02dc97dce0e0676c662b697f45">is_private</a>(addr.to_v4())));</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span>}</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include &lt;boost/asio/ip/address_v4.hpp&gt;</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacebeast.html">beast</a> {</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="keyword">namespace </span>IP {</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00029" data-start="{" data-end="}">
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="namespacebeast_1_1IP.html#adcedca5885cc701bcf9abc63e8f6b38a"> 29</a></span><a class="code hl_function" href="namespacebeast_1_1IP.html#add9a8c02dc97dce0e0676c662b697f45">is_private</a>(<a class="code hl_typedef" href="namespacebeast_1_1IP.html#a622077e61c7f3646c6d0f50df3c66bce">AddressV6</a> <span class="keyword">const</span>&amp; addr)</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span>{</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordflow">return</span> (</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> (addr.to_bytes()[0] &amp; 0xfd) || <span class="comment">// TODO fc00::/8 too ?</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> (addr.is_v4_mapped() &amp;&amp;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <a class="code hl_function" href="namespacebeast_1_1IP.html#add9a8c02dc97dce0e0676c662b697f45">is_private</a>(boost::asio::ip::make_address_v4(</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> boost::asio::ip::v4_mapped, addr))));</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span>}</div>
</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00035" data-start="{" data-end="}">
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="namespacebeast_1_1IP.html#af4ada9ab51b60fbdef5350b0b9b75bf1"> 35</a></span><a class="code hl_function" href="namespacebeast_1_1IP.html#a922e4a59054d077b1343add8c5fb75c5">is_public</a>(<a class="code hl_typedef" href="namespacebeast_1_1IP.html#a622077e61c7f3646c6d0f50df3c66bce">AddressV6</a> <span class="keyword">const</span>&amp; addr)</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span>{</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="comment">// TODO is this correct?</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordflow">return</span> !<a class="code hl_function" href="namespacebeast_1_1IP.html#add9a8c02dc97dce0e0676c662b697f45">is_private</a>(addr) &amp;&amp; !addr.is_multicast();</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span>}</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00039" data-start="{" data-end="}">
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="namespacebeast_1_1IP.html#af4ada9ab51b60fbdef5350b0b9b75bf1"> 39</a></span><a class="code hl_function" href="namespacebeast_1_1IP.html#a922e4a59054d077b1343add8c5fb75c5">is_public</a>(<a class="code hl_typedef" href="namespacebeast_1_1IP.html#a622077e61c7f3646c6d0f50df3c66bce">AddressV6</a> <span class="keyword">const</span>&amp; addr)</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span>{</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="comment">// TODO is this correct?</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">return</span> !<a class="code hl_function" href="namespacebeast_1_1IP.html#add9a8c02dc97dce0e0676c662b697f45">is_private</a>(addr) &amp;&amp; !addr.is_multicast();</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span>}</div>
</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span>} <span class="comment">// namespace IP</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span>} <span class="comment">// namespace beast</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span>} <span class="comment">// namespace IP</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span>} <span class="comment">// namespace beast</span></div>
<div class="ttc" id="anamespacebeast_1_1IP_html_a622077e61c7f3646c6d0f50df3c66bce"><div class="ttname"><a href="namespacebeast_1_1IP.html#a622077e61c7f3646c6d0f50df3c66bce">beast::IP::AddressV6</a></div><div class="ttdeci">boost::asio::ip::address_v6 AddressV6</div><div class="ttdef"><b>Definition</b> <a href="IPAddressV6_8h_source.html#l00030">IPAddressV6.h:30</a></div></div>
<div class="ttc" id="anamespacebeast_1_1IP_html_a922e4a59054d077b1343add8c5fb75c5"><div class="ttname"><a href="namespacebeast_1_1IP.html#a922e4a59054d077b1343add8c5fb75c5">beast::IP::is_public</a></div><div class="ttdeci">bool is_public(Address const &amp;addr)</div><div class="ttdoc">Returns true if the address is a public routable address.</div><div class="ttdef"><b>Definition</b> <a href="IPAddress_8h_source.html#l00078">IPAddress.h:78</a></div></div>
<div class="ttc" id="anamespacebeast_1_1IP_html_add9a8c02dc97dce0e0676c662b697f45"><div class="ttname"><a href="namespacebeast_1_1IP.html#add9a8c02dc97dce0e0676c662b697f45">beast::IP::is_private</a></div><div class="ttdeci">bool is_private(Address const &amp;addr)</div><div class="ttdoc">Returns true if the address is a private unroutable address.</div><div class="ttdef"><b>Definition</b> <a href="IPAddress_8h_source.html#l00071">IPAddress.h:71</a></div></div>