<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hello,<br>
</p>
<div class="moz-cite-prefix">On 31.10.20 06:55, Brandon Armstead
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CABAX3EpHWqYwVCPxJUaOgAJFBuk7iXJaGirkZsPwWQkgU5sVDQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">Running 5.5.0-dev3<br>
<br>
<span class="" id=":ka.1" tabindex="-1" style="">modparam</span>("<span
class="" id=":ka.2" tabindex="-1" style="">htable</span>", "<span
class="" id=":ka.3" tabindex="-1" style="">htable</span>", "<span
class="" id=":ka.4" tabindex="-1" style="">ipban</span>=>size=8;<span
class="" id=":ka.5" tabindex="-1" style="">autoexpire</span>=300;<span
class="" id=":ka.6" tabindex="-1" style="">dmqreplicate</span>=1;")<br>
<span class="" id=":ka.7" tabindex="-1" style="">modparam</span>("<span
class="" id=":ka.8" tabindex="-1" style="">htable</span>",
"enable_<span class="" id=":ka.9" tabindex="-1" style="">dmq</span>",
1)<br>
<span class="" id=":ka.10" tabindex="-1" style="">modparam</span>("<span
class="" id=":ka.11" tabindex="-1" style="">htable</span>", "<span
class="" id=":ka.12" tabindex="-1" style="">dmq</span>_<span
class="" id=":ka.13" tabindex="-1" style="">init</span>_sync",
1)<br>
<span class="" id=":ka.14" tabindex="-1" style="">modparam</span>("<span
class="" id=":ka.15" tabindex="-1" style="">htable</span>",
"timer_<span class="" id=":ka.16" tabindex="-1" style="">procs</span>",
4)<br>
<span class="" id=":ka.17" tabindex="-1" style="">modparam</span>("<span
class="" id=":ka.18" tabindex="-1" style="">htable</span>",
"timer_interval", 5)<br>
<span class="" id=":ka.19" tabindex="-1" style="">modparam</span>("<span
class="" id=":ka.20" tabindex="-1" style="">htable</span>",
"db_expires", 1)<br>
<span class="" id=":ka.21" tabindex="-1" style="">modparam</span>("<span
class="" id=":ka.22" tabindex="-1" style="">htable</span>", "<span
class="" id=":ka.23" tabindex="-1" style="">htable</span>",
"account=>size=4;<span class="" id=":ka.24" tabindex="-1"
style="">dmqreplicate</span>=1;")<br>
<span class="" id=":ka.25" tabindex="-1" style="">modparam</span>("<span
class="" id=":ka.26" tabindex="-1" style="">htable</span>", "<span
class="" id=":ka.27" tabindex="-1" style="">htable</span>",
"server=>size=4;<span class="" id=":ka.28" tabindex="-1"
style="">autoexpire</span>=15;")<br>
<div><br>
</div>
<div>I'm attempting to retrieve an <span class="" id=":ka.29"
tabindex="-1" style="">auth</span> token in the <span
class="" id=":ka.30" tabindex="-1" style="">init</span>
process and also refresh the token upon expiration in the <span
class="" id=":ka.31" tabindex="-1" style="">htable</span>:expired
event.</div>
<div><br>
</div>
<div>I'm seeing some behavior where every other execution of <span
class="" id=":ka.32" tabindex="-1" style="">htable</span>:expired
the variable $<span class="" id=":ka.33" tabindex="-1"
style="">sht</span>(server=><span class="" id=":ka.34"
tabindex="-1" style="">auth</span>::token) is set per <span
class="" id=":ka.35" tabindex="-1" style="">kamcmd</span> <span
class="" id=":ka.36" tabindex="-1" style="">htable</span>.dump
server, however <span class="" id=":ka.37" tabindex="-1"
style="">xinfo</span>() reports that the token was retrieved
in the variable $<span class="" id=":ka.38" tabindex="-1"
style="">sht</span>(server=><span class="" id=":ka.39"
tabindex="-1" style="">auth</span>::token).</div>
</div>
</blockquote>
<p><br>
</p>
<p>I don't really get what you meant above, can you explicitly tell
what is printed in the logs and kamcmd output in each case and
what you expected to be there?</p>
<p>Cheers,<br>
Daniel<br>
</p>
<blockquote type="cite"
cite="mid:CABAX3EpHWqYwVCPxJUaOgAJFBuk7iXJaGirkZsPwWQkgU5sVDQ@mail.gmail.com">
<div dir="ltr">
<div><br>
</div>
<div>Please see remaining event route <span class=""
id=":ka.40" tabindex="-1" style="">config</span> below:</div>
<div><br>
</div>
<div>
<p class="gmail-p1"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(47,180,29)"><span
class="gmail-s1"
style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">event_route</span><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures">[<span
class="" id=":ka.41" tabindex="-1" style="">htable</span>:mod-<span
class="" id=":ka.42" tabindex="-1" style="">init</span>]</span><span
class="gmail-s1"
style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">
{</span></p>
<p class="gmail-p2"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(64,11,217)"><span
class="gmail-s1"
style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)"><span
class="gmail-Apple-converted-space"> </span></span><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures">#
generate <span class="" id=":ka.43" tabindex="-1"
style="">auth</span> token into<span
class="gmail-Apple-converted-space"> </span></span></p>
<p class="gmail-p3"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"></span><br>
</p>
<p class="gmail-p2"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(64,11,217)"><span
class="gmail-s1"
style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)"><span
class="gmail-Apple-converted-space"> </span>http_client_query("https:</span><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures">//www.<span
class="" id=":ka.44" tabindex="-1" style="">cryy</span>.com/api/<span
class="" id=":ka.45" tabindex="-1" style="">auth</span>/token",
'{"email": "<span class="" id=":ka.46" tabindex="-1"
style="">brandon</span>@<span class="" id=":ka.47"
tabindex="-1" style="">cryy</span>.com", "password":"<span
class="" id=":ka.48" tabindex="-1" style="">XXXX</span>"}',
"$var(result)");</span></p>
<p class="gmail-p3"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"></span><br>
</p>
<p class="gmail-p4"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"><span
class="gmail-Apple-converted-space"> </span><span
class="" id=":ka.49" tabindex="-1" style="">sht</span>_lock("server=</span><span
class="gmail-s3"
style="font-variant-ligatures:no-common-ligatures;color:rgb(180,36,25)">><span
class="" id=":ka.50" tabindex="-1" style="">auth</span>::token")</span><span
class="gmail-s4"
style="font-variant-ligatures:no-common-ligatures;color:rgb(64,11,217)">;</span></p>
<p class="gmail-p3"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"></span><br>
</p>
<p class="gmail-p5"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(180,36,25)"><span
class="gmail-s1"
style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)"><span
class="gmail-Apple-converted-space"> </span>$<span
class="" id=":ka.51" tabindex="-1" style="">sht</span>(server=</span><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures">><span
class="" id=":ka.52" tabindex="-1" style="">auth</span>::token)
= $var(result)</span><span class="gmail-s4"
style="font-variant-ligatures:no-common-ligatures;color:rgb(64,11,217)">;</span></p>
<p class="gmail-p3"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"></span><br>
</p>
<p class="gmail-p4"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"><span
class="gmail-Apple-converted-space"> </span><span
class="" id=":ka.53" tabindex="-1" style="">sht</span>_unlock("server=</span><span
class="gmail-s3"
style="font-variant-ligatures:no-common-ligatures;color:rgb(180,36,25)">><span
class="" id=":ka.54" tabindex="-1" style="">auth</span>::token")</span><span
class="gmail-s4"
style="font-variant-ligatures:no-common-ligatures;color:rgb(64,11,217)">;</span></p>
<p class="gmail-p3"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"><span
class="gmail-Apple-converted-space"> </span></span></p>
<p class="gmail-p4"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"><span
class="gmail-Apple-converted-space"> </span><span
class="" id=":ka.55" tabindex="-1" style="">xinfo</span>("<span
class="" id=":ka.56" tabindex="-1" style="">AUTH</span>_TOKEN_RECEIVED,
$<span class="" id=":ka.57" tabindex="-1" style="">sht</span>(server=</span><span
class="gmail-s3"
style="font-variant-ligatures:no-common-ligatures;color:rgb(180,36,25)">><span
class="" id=":ka.58" tabindex="-1" style="">auth</span>::token)")</span><span
class="gmail-s4"
style="font-variant-ligatures:no-common-ligatures;color:rgb(64,11,217)">;</span></p>
<p class="gmail-p4"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures">}</span></p>
<p class="gmail-p3"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"></span><br>
</p>
<p class="gmail-p1"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(47,180,29)"><span
class="gmail-s1"
style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">event_route</span><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures">[<span
class="" id=":ka.59" tabindex="-1" style="">htable</span>:expired:server]</span><span
class="gmail-s1"
style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">
{</span></p>
<p class="gmail-p2"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(64,11,217)"><span
class="gmail-s1"
style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)"><span
class="gmail-Apple-converted-space"> </span></span><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures">#
process expired <span class="" id=":ka.60" tabindex="-1"
style="">htable</span>, renew <span class=""
id=":ka.61" tabindex="-1" style="">auth</span> token</span></p>
<p class="gmail-p4"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"><span
class="gmail-Apple-converted-space"> </span><span
class="" id=":ka.62" tabindex="-1" style="">xinfo</span>("<span
class="" id=":ka.63" tabindex="-1" style="">AUTH</span>_TOKEN_EXPIRED,
lets retrieve a new one")</span><span class="gmail-s4"
style="font-variant-ligatures:no-common-ligatures;color:rgb(64,11,217)">;</span></p>
<p class="gmail-p3"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"></span><br>
</p>
<p class="gmail-p2"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(64,11,217)"><span
class="gmail-s1"
style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)"><span
class="gmail-Apple-converted-space"> </span>http_client_query("https:</span><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures">//www.<span
class="" id=":ka.64" tabindex="-1" style="">cryy</span>.com/api/<span
class="" id=":ka.65" tabindex="-1" style="">auth</span>/token",
'{"email": "<span class="" id=":ka.66" tabindex="-1"
style="">brandon</span>@<span class="" id=":ka.67"
tabindex="-1" style="">cryy</span>.com", "password":"<span
class="" id=":ka.68" tabindex="-1" style="">XXXX</span>"}',
"$var(result)");</span></p>
<p class="gmail-p3"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"></span><br>
</p>
<p class="gmail-p4"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"><span
class="gmail-Apple-converted-space"> </span><span
class="" id=":ka.69" tabindex="-1" style="">sht</span>_lock("server=</span><span
class="gmail-s3"
style="font-variant-ligatures:no-common-ligatures;color:rgb(180,36,25)">><span
class="" id=":ka.70" tabindex="-1" style="">auth</span>::token")</span><span
class="gmail-s4"
style="font-variant-ligatures:no-common-ligatures;color:rgb(64,11,217)">;</span></p>
<p class="gmail-p5"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(180,36,25)"><span
class="gmail-s1"
style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)"><span
class="gmail-Apple-converted-space"> </span>$<span
class="" id=":ka.71" tabindex="-1" style="">sht</span>(server=</span><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures">><span
class="" id=":ka.72" tabindex="-1" style="">auth</span>::time)
= $TS</span><span class="gmail-s4"
style="font-variant-ligatures:no-common-ligatures;color:rgb(64,11,217)">;</span></p>
<p class="gmail-p5"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(180,36,25)"><span
class="gmail-s1"
style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)"><span
class="gmail-Apple-converted-space"> </span>$<span
class="" id=":ka.73" tabindex="-1" style="">sht</span>(server=</span><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures">><span
class="" id=":ka.74" tabindex="-1" style="">auth</span>::token)
= $var(result)</span><span class="gmail-s4"
style="font-variant-ligatures:no-common-ligatures;color:rgb(64,11,217)">;</span></p>
<p class="gmail-p4"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"><span
class="gmail-Apple-converted-space"> </span><span
class="" id=":ka.75" tabindex="-1" style="">sht</span>_unlock("server=</span><span
class="gmail-s3"
style="font-variant-ligatures:no-common-ligatures;color:rgb(180,36,25)">><span
class="" id=":ka.76" tabindex="-1" style="">auth</span>::token")</span><span
class="gmail-s4"
style="font-variant-ligatures:no-common-ligatures;color:rgb(64,11,217)">;</span></p>
<p class="gmail-p3"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"></span><br>
</p>
<p class="gmail-p4"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"><span
class="gmail-Apple-converted-space"> </span><span
class="" id=":ka.77" tabindex="-1" style="">xinfo</span>("<span
class="" id=":ka.78" tabindex="-1" style="">AUTH</span>_TOKEN_RECEIVED,
$<span class="" id=":ka.79" tabindex="-1" style="">sht</span>(server=</span><span
class="gmail-s3"
style="font-variant-ligatures:no-common-ligatures;color:rgb(180,36,25)">><span
class="" id=":ka.80" tabindex="-1" style="">auth</span>::token)")</span><span
class="gmail-s4"
style="font-variant-ligatures:no-common-ligatures;color:rgb(64,11,217)">;</span></p>
<p class="gmail-p4"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"><span
class="gmail-Apple-converted-space"> </span><span
class="" id=":ka.81" tabindex="-1" style="">xinfo</span>("<span
class="" id=":ka.82" tabindex="-1" style="">AUTH</span>_TOKEN_TIME,
$<span class="" id=":ka.83" tabindex="-1" style="">sht</span>(server=</span><span
class="gmail-s3"
style="font-variant-ligatures:no-common-ligatures;color:rgb(180,36,25)">><span
class="" id=":ka.84" tabindex="-1" style="">auth</span>::time)")</span><span
class="gmail-s4"
style="font-variant-ligatures:no-common-ligatures;color:rgb(64,11,217)">;</span></p>
<p class="gmail-p4"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures">}</span></p>
<p class="gmail-p4"
style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span
class="gmail-s2"
style="font-variant-ligatures:no-common-ligatures"><br>
</span></p>
I've tried both with locking and unlocking. Also one last
thing worth mentioning is that on the alternation where <span
class="" id=":ka.85" tabindex="-1" style="">kamcmd</span> <span
class="" id=":ka.86" tabindex="-1" style="">htable</span>.dump
server shows no <span class="" id=":ka.87" tabindex="-1"
style="">auth</span> token, $<span class="" id=":ka.88"
tabindex="-1" style="">sht</span>(server=><span class=""
id=":ka.89" tabindex="-1" style="">auth</span>::time) is
available, when the <span class="" id=":ka.90" tabindex="-1"
style="">auth</span> token is visible in <span class=""
id=":ka.91" tabindex="-1" style="">kamcmd</span> <span
class="" id=":ka.92" tabindex="-1" style="">htable</span>.dump
server there is no <span class="" id=":ka.93" tabindex="-1"
style="">sht</span>(server=><span class="" id=":ka.94"
tabindex="-1" style="">auth</span>::time) returned.</div>
<div><br>
</div>
<div>Also just to be explicitly clear -- xinfo() always returns <span
class="" id="gmail-:ka.56" tabindex="-1" style="">AUTH</span>_TOKEN_RECEIVED
correctly in both event routes.<br>
<br>
</div>
<div>Perhaps I'm over looking something -- thank you for the
help in advance.</div>
<div><br>
</div>
<div>- Brandon</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
Kamailio (SER) - Users Mailing List
<a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a>
<a class="moz-txt-link-freetext" href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
</blockquote>
<pre class="moz-signature" cols="72">--
Daniel-Constantin Mierla -- <a class="moz-txt-link-abbreviated" href="http://www.asipto.com">www.asipto.com</a>
<a class="moz-txt-link-abbreviated" href="http://www.twitter.com/miconda">www.twitter.com/miconda</a> -- <a class="moz-txt-link-abbreviated" href="http://www.linkedin.com/in/miconda">www.linkedin.com/in/miconda</a>
Funding: <a class="moz-txt-link-freetext" href="https://www.paypal.me/dcmierla">https://www.paypal.me/dcmierla</a></pre>
</body>
</html>