<p dir="ltr">The AF_UNSPEC idea is good, that would basically mean ip-protocol(auto)</p>
<p dir="ltr">What about backporting ip-protocol to 3.4? That shouldn&#39;t be a big deal, and it&#39;s more of an omission than intended behavior.</p>
<div class="gmail_quote">On Jul 4, 2013 1:07 PM, &quot;Gergely Nagy&quot; &lt;<a href="mailto:algernon@balabit.hu">algernon@balabit.hu</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Jeff Lange &lt;<a href="mailto:jlange6648@gmail.com">jlange6648@gmail.com</a>&gt; writes:<br>
<br>
&gt; I&#39;m attempting to setup a TCP IPv6 source declaration that uses TLS but<br>
&gt; syslog-ng is not happy with the configuration file.<br>
<br>
Long story short: syslog-ng 3.3 and 3.4 does not support syslog() over<br>
IPv6, 3.5 does, see below.<br>
<br>
&gt; The following is what I use for IPv4 and it works fine:<br>
&gt;<br>
&gt; source s_tls<br>
&gt; {<br>
&gt;   syslog( ip(0.0.0.0) port(6514)<br>
&gt;     transport( &quot;tls&quot; )<br>
&gt;     tls (<br>
&gt;       key_file(&quot;/srv/syslog-ng/certs/priv-key.pem&quot;)<br>
&gt;       cert_file(&quot;/srv/syslog-ng/certs/id-cert.pem&quot;)<br>
&gt;       ca_dir(&quot;/srv/syslog-ng/certs&quot;)<br>
&gt;       cipher_suite(&quot;SHA256:!aNULL:!eNULL:!ECDH:!DSS&quot;)<br>
&gt;     )<br>
&gt;    );<br>
&gt; };<br>
&gt;<br>
&gt; However the following is not valid:<br>
&gt;<br>
&gt; source s_tls6 {<br>
&gt;   syslog( ip(&quot;::&quot;) port(6515)<br>
&gt;     transport( &quot;tls&quot; )<br>
&gt;     tls (<br>
&gt;       key_file(&quot;/srv/syslog-ng/certs/priv-key.pem&quot;)<br>
&gt;       cert_file(&quot;/srv/syslog-ng/certs/id-cert.pem&quot;)<br>
&gt;       ca_dir(&quot;/srv/syslog-ng/certs&quot;)<br>
&gt;       cipher_suite(&quot;SHA256:!aNULL:!eNULL:!ECDH:!DSS&quot;)<br>
&gt;     )<br>
&gt;   );<br>
&gt; };<br>
&gt;<br>
&gt; I&#39;ve tried the ip with and without quotes with no luck. What am I doing<br>
&gt; wrong?<br>
<br>
Unfortunately, syslog-ng defaults to IPv4, and even if you give it an<br>
IPv6 address, it will still try to handle it as if it was IPv4, unless<br>
you tell it not to.<br>
<br>
In syslog-ng 3.5, this is possible by adding ip-protocol(6) inside the<br>
syslog() statement. In versions prior to 3.5, it is not doable yet. But<br>
I&#39;m considering teaching the host resolving code to not default to IPv4<br>
by default (by using AF_UNSPEC, unless specified otherwise via<br>
ip-protocol or something similar).<br>
<br>
The problem is, all the current sources and destinations make a<br>
distinction between ipv4 and ipv6: tcp(), udp() and syslog() all enforce<br>
ipv4, while tcp6() and udp6() enforce ipv6... and there is no syslog6().<br>
<br>
I do not want to change this in neither 3.3, nor 3.4, that would be too<br>
invasive, but for 3.5, I&#39;d love to make the udp(), tcp() and syslog()<br>
statements ip protocol agnostic. That way, your config would just work<br>
out of the box, but would still allow one to limit to either ipv4 or<br>
ipv6 by specifying ip-protocol(N).<br>
<br>
--<br>
|8]<br>
<br>
______________________________________________________________________________<br>
Member info: <a href="https://lists.balabit.hu/mailman/listinfo/syslog-ng" target="_blank">https://lists.balabit.hu/mailman/listinfo/syslog-ng</a><br>
Documentation: <a href="http://www.balabit.com/support/documentation/?product=syslog-ng" target="_blank">http://www.balabit.com/support/documentation/?product=syslog-ng</a><br>
FAQ: <a href="http://www.balabit.com/wiki/syslog-ng-faq" target="_blank">http://www.balabit.com/wiki/syslog-ng-faq</a><br>
<br>
</blockquote></div>