<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Wouldn't this code sequence be the best
      compromise for parser.l to best match an EOF at EOL condition as
      well as matching Nick's files ?<br>
      &lt;&lt;EOF&gt;&gt; {<br>
      /*<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static int once = 0; <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (once = !once) {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stacktop-&gt;line++;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if(parser_y_eof()) {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yyterminate();<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
      */<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(parser_y_eof()) {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yyterminate();<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (stacktop-&gt;file != NULL) {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yyterminate();<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
      }<br>
      <br>
      In my /etc/ipsec.conf, I have set:<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; include /etc/ipsec.d/*.conf<br>
      [philippe@victor C]$ sudo su<br>
      [root@victor C]# ls /etc/ipsec.d/*.conf<br>
      /etc/ipsec.d/ipsec.unmanaged.david.conf<br>
      /etc/ipsec.d/ipsec.unmanaged.mumin.conf<br>
      /etc/ipsec.d/ipsec.unmanaged.paulin.conf<br>
      /etc/ipsec.d/vouters.conf<br>
      [root@victor C]# <br>
      <br>
      [philippe@victor C]$ sudo /usr/local/sbin/ipsec addconn --verbose
      --autoall&nbsp;&nbsp;&nbsp;&nbsp; opening file: /etc/ipsec.conf<br>
      debugging mode enabled<br>
      including file '/etc/ipsec.d/*.conf'(/etc/ipsec.d/*.conf) from
      line /etc/ipsec.conf:26<br>
      <b>end of file</b> /etc/ipsec.d/vouters.conf<br>
      <b>resuming </b>/etc/ipsec.conf line 26<br>
      <b>end of file</b> /etc/ipsec.conf<br>
      Loading default conn<br>
      starter: case KH_NOTSET: empty<br>
      starter: case KH_NOTSET: empty<br>
      Loading conn david<br>
      Loading conn mumin<br>
      starter: case KH_DEFAULTROUTE: empty<br>
      Loading conn paulin<br>
      starter: case KH_DEFAULTROUTE: empty<br>
      Loading conn roadwarrior-l2tp-updatedwin<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while loading conn 'roadwarrior-l2tp-updatedwin' also
      including 'roadwarrior'<br>
      starter: case KH_DEFAULTROUTE: empty<br>
      Loading conn roadwarrior-l2tp<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while loading conn 'roadwarrior-l2tp' also including
      'roadwarrior'<br>
      starter: case KH_DEFAULTROUTE: empty<br>
      Loading conn macintosh-l2tp<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while loading conn 'macintosh-l2tp' also including
      'roadwarrior'<br>
      starter: case KH_DEFAULTROUTE: empty<br>
      Loading conn roadwarrior<br>
      starter: case KH_DEFAULTROUTE: empty<br>
      loading all conns according to their auto= settings<br>
      &nbsp; Pass #1: Loading auto=add and auto=route connections<br>
      &nbsp;david<br>
      parse_src = 0, parse_gateway = 1, has_dst = 1<br>
      dst 88.98.137.158 via 192.168.1.1 dev eth0 src 192.168.1.2<br>
      set nexthop: 192.168.1.1<br>
      002 "david": deleting connection<br>
      002 added connection description "david"<br>
      &nbsp;mumin<br>
      parse_src = 1, parse_gateway = 0, has_dst = 0<br>
      dst&nbsp; via 192.168.1.1 dev eth0 src <br>
      dst 169.254.0.0 via&nbsp; dev eth0 src <br>
      dst 192.168.1.0 via&nbsp; dev eth0 src 192.168.1.2<br>
      set addr: 192.168.1.2<br>
      dst 127.0.0.0 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.0.0.0 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.0.0.1 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.255.255.255 via&nbsp; dev lo src 127.0.0.1<br>
      dst 192.168.1.0 via&nbsp; dev eth0 src 192.168.1.2<br>
      dst 192.168.1.2 via&nbsp; dev eth0 src 192.168.1.2<br>
      dst 192.168.1.255 via&nbsp; dev eth0 src 192.168.1.2<br>
      002 "mumin": deleting connection<br>
      002 added connection description "mumin"<br>
      &nbsp;paulin<br>
      parse_src = 1, parse_gateway = 0, has_dst = 0<br>
      dst&nbsp; via 192.168.1.1 dev eth0 src <br>
      dst 169.254.0.0 via&nbsp; dev eth0 src <br>
      dst 192.168.1.0 via&nbsp; dev eth0 src 192.168.1.2<br>
      set addr: 192.168.1.2<br>
      dst 127.0.0.0 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.0.0.0 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.0.0.1 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.255.255.255 via&nbsp; dev lo src 127.0.0.1<br>
      dst 192.168.1.0 via&nbsp; dev eth0 src 192.168.1.2<br>
      dst 192.168.1.2 via&nbsp; dev eth0 src 192.168.1.2<br>
      dst 192.168.1.255 via&nbsp; dev eth0 src 192.168.1.2<br>
      002 "paulin": deleting connection<br>
      002 added connection description "paulin"<br>
      &nbsp;roadwarrior-l2tp-updatedwin<br>
      parse_src = 1, parse_gateway = 0, has_dst = 0<br>
      dst&nbsp; via 192.168.1.1 dev eth0 src <br>
      dst 169.254.0.0 via&nbsp; dev eth0 src <br>
      dst 192.168.1.0 via&nbsp; dev eth0 src 192.168.1.2<br>
      set addr: 192.168.1.2<br>
      dst 127.0.0.0 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.0.0.0 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.0.0.1 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.255.255.255 via&nbsp; dev lo src 127.0.0.1<br>
      dst 192.168.1.0 via&nbsp; dev eth0 src 192.168.1.2<br>
      dst 192.168.1.2 via&nbsp; dev eth0 src 192.168.1.2<br>
      dst 192.168.1.255 via&nbsp; dev eth0 src 192.168.1.2<br>
      002 "roadwarrior-l2tp-updatedwin": deleting connection<br>
      002 added connection description "roadwarrior-l2tp-updatedwin"<br>
      &nbsp;roadwarrior-l2tp<br>
      parse_src = 1, parse_gateway = 0, has_dst = 0<br>
      dst&nbsp; via 192.168.1.1 dev eth0 src <br>
      dst 169.254.0.0 via&nbsp; dev eth0 src <br>
      dst 192.168.1.0 via&nbsp; dev eth0 src 192.168.1.2<br>
      set addr: 192.168.1.2<br>
      dst 127.0.0.0 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.0.0.0 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.0.0.1 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.255.255.255 via&nbsp; dev lo src 127.0.0.1<br>
      dst 192.168.1.0 via&nbsp; dev eth0 src 192.168.1.2<br>
      dst 192.168.1.2 via&nbsp; dev eth0 src 192.168.1.2<br>
      dst 192.168.1.255 via&nbsp; dev eth0 src 192.168.1.2<br>
      002 "roadwarrior-l2tp": deleting connection<br>
      002 added connection description "roadwarrior-l2tp"<br>
      &nbsp;macintosh-l2tp<br>
      parse_src = 1, parse_gateway = 0, has_dst = 0<br>
      dst&nbsp; via 192.168.1.1 dev eth0 src <br>
      dst 169.254.0.0 via&nbsp; dev eth0 src <br>
      dst 192.168.1.0 via&nbsp; dev eth0 src 192.168.1.2<br>
      set addr: 192.168.1.2<br>
      dst 127.0.0.0 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.0.0.0 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.0.0.1 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.255.255.255 via&nbsp; dev lo src 127.0.0.1<br>
      dst 192.168.1.0 via&nbsp; dev eth0 src 192.168.1.2<br>
      dst 192.168.1.2 via&nbsp; dev eth0 src 192.168.1.2<br>
      dst 192.168.1.255 via&nbsp; dev eth0 src 192.168.1.2<br>
      002 "macintosh-l2tp": deleting connection<br>
      002 added connection description "macintosh-l2tp"<br>
      &nbsp;roadwarrior<br>
      parse_src = 1, parse_gateway = 0, has_dst = 0<br>
      dst&nbsp; via 192.168.1.1 dev eth0 src <br>
      dst 169.254.0.0 via&nbsp; dev eth0 src <br>
      dst 192.168.1.0 via&nbsp; dev eth0 src 192.168.1.2<br>
      set addr: 192.168.1.2<br>
      dst 127.0.0.0 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.0.0.0 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.0.0.1 via&nbsp; dev lo src 127.0.0.1<br>
      dst 127.255.255.255 via&nbsp; dev lo src 127.0.0.1<br>
      dst 192.168.1.0 via&nbsp; dev eth0 src 192.168.1.2<br>
      dst 192.168.1.2 via&nbsp; dev eth0 src 192.168.1.2<br>
      dst 192.168.1.255 via&nbsp; dev eth0 src 192.168.1.2<br>
      002 "roadwarrior": deleting connection<br>
      002 added connection description "roadwarrior"<br>
      &nbsp; Pass #2: Loading auto=start connections<br>
      <br>
      Yours truly,<br>
      Philippe<br>
      <br>
      <pre class="moz-signature" cols="72">Philippe Vouters (Fontainebleau/France)
URL: <a class="moz-txt-link-freetext" href="http://vouters.dyndns.org/">http://vouters.dyndns.org/</a>
SIP: <a class="moz-txt-link-abbreviated" href="mailto:sip:Vouters@sip.linphone.org">sip:Vouters@sip.linphone.org</a></pre>
      Le 08/01/2013 17:48, Wes Hardaker a &eacute;crit&nbsp;:<br>
    </div>
    <blockquote cite="mid:0lsj6bipso.fsf@wjh.hardakers.net" type="cite">
      <pre wrap="">Philippe Vouters <a class="moz-txt-link-rfc2396E" href="mailto:philippe.vouters@laposte.net">&lt;philippe.vouters@laposte.net&gt;</a> writes:

</pre>
      <blockquote type="cite">
        <pre wrap="">Wes,

If you remember your test case, wouldn't this code in parser.l do the trick:
&lt;&lt;EOF&gt;&gt; {
        static int once = 0;
        if (once = !once) {
            stacktop-&gt;line++;
        } else if(parser_y_eof()) {
            yyterminate();
        }
}
</pre>
      </blockquote>
      <pre wrap="">
I actually thought I tried that at one point, but I'll give it another
shot in case I hadn't.

</pre>
    </blockquote>
    <br>
  </body>
</html>