<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://reviewboard.asterisk.org/r/3074/">https://reviewboard.asterisk.org/r/3074/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On December 16th, 2013, 7:28 p.m. MST, <b>Matt Jordan</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Well, we can't just undo r354657, which is what this patch does. However we choose to fix the regression, we shouldn't do so in a way that just causes another regression by re-opening ASTERISK-17121.

To quote Kinsey from https://reviewboard.asterisk.org/r/1724:

The change here causes that backslash to be removed, but does not create a real escape system in the config parser.  The biggest complication with a real escape system would be breaking existing configs everywhere (parsing \\ as \ and breaking on escaped non-semicolon characters) even though it would be the "right" way to do things.  It also does not confer any benefits because there are no other escaped characters that have special meaning in config files.

I'm not sure we want to go crazy here, but ideally we would have a way to re-write out a '\' when we write out the config.</pre>
 </blockquote>




 <p>On December 17th, 2013, 9:25 a.m. MST, <b>George Joseph</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Hmmm.  So the client would write a correctly escaped '\;', the 1724 patch would strip the backslash, then something later on would write it back again?  How would 'something' tell the difference between a ';' that was escaped and needs to be re-escaped and a ';' meant to start a comment?</pre>
 </blockquote>





 <p>On December 17th, 2013, 12:20 p.m. MST, <b>Tilghman Lesher</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Because a semicolon meant to start a comment pushes the comment into a completely different field in the config line structure.</pre>
 </blockquote>








</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I'm going to discard this patch until I have time to look into it deeper.  </pre>
<br />










<p>- George</p>


<br />
<p>On December 16th, 2013, 6:18 p.m. MST, George Joseph wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers.</div>
<div>By George Joseph.</div>


<p style="color: grey;"><i>Updated Dec. 16, 2013, 6:18 p.m.</i></p>







<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="https://issues.asterisk.org/jira/browse/20127">20127</a>


</div>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
Asterisk
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This is one I've been patching locally since the middle of last year.   If you retrieve extensions.conf via ami and write it back again (as the Asterisk GUI does), config.c will UNescape semicolons in values causing the rest of the line to be considered a comment.

Lines such as 
PAGING_HEADER = Call-Info: \;answer-after=0
are being rewritten as 
PAGING_HEADER = Call-Info: ;answer-after=0

'answer-after=0' is now considered a comment and PAGING_HEADER is now just 'Call-Info:'.  Since the change to extensions.conf is permanent, this is really a data corruption.

This is a regression casued by v354657 of config.c.

</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This patch has been in my production systems since July 2012.  </pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>branches/12/main/config.c <span style="color: grey">(403992)</span></li>

</ul>

<p><a href="https://reviewboard.asterisk.org/r/3074/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>