<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix"><tt>Hi John,</tt><tt><br>
      </tt><tt><br>
      </tt><tt>1) if the request does not match any dialog it will go on
        the "else" branch where it simply logs the "valid request" -
        this is a simple example, but the idea is that without dialog
        state you cannot check if valid or not; and you maybe do not
        create dialogs for all your calls and maybe not all your
        sequential request are part of a INVITE dialog (you may have
        re-SUBSCRIBE or NOTIFYs)</tt><tt><br>
      </tt><tt><br>
      </tt><tt>2) the function just fixes, you need to send it out as
        usual via the t_relay(),</tt><tt><br>
      </tt><tt><br>
      </tt><tt>Regards,</tt><br>
      <pre class="moz-signature" cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a class="moz-txt-link-freetext" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a></pre>
      On 30.12.2014 12:16, John Nash wrote:<br>
    </div>
    <blockquote
cite="mid:CAA4rGPwDqeVNOGZmiQk5JYE3xFMvmcc1P_G_UhKn9iZjj7QO-Q@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>I was looking at usage of validate_dialog() and saw the
          following snippet from module documentation page. If you check
          the else part... as per my understanding if a dialog is not
          found ($DLG_status) will be NULL) it will go to else part
          which indicates a message has To tag but dialog not found. How
          can it be a valid in-dialog request.<br>
          <br>
          <pre class="" style="font-family:monospace;white-space:pre;color:rgb(0,0,0);border:1px solid rgb(153,204,204);padding-left:15pt;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;background-color:rgb(254,254,238)">    if (has_totag()) {
        loose_route();
        if ($DLG_status!=NULL &amp;&amp; !validate_dialog() ) {
            xlog(" in-dialog bogus request \n");
        } else {
            xlog(" in-dialog valid request - $DLG_dir !\n");
        }
    }</pre>
          Also there is one more code<br>
          <pre class="" style="font-family:monospace;white-space:pre;color:rgb(0,0,0);border:1px solid rgb(153,204,204);padding-left:15pt;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;background-color:rgb(254,254,238)">   if (has_totag()) {
        loose_route();
        if ($DLG_status!=NULL)
            if (!validate_dialog())
                fix_route_dialog();
    }
</pre>
          <br>
        </div>
        After calling fix_route_dialog() do I need to just relay the
        message? I mean this function will "fix" the message and
        send?....I was trying to look for some security check where
        someone can inject a route header and a to tag (Bogus of course)
        to reach to my gateways through my proxy.<br>
        <div><br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>
<a class="moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>