I now track this issue here:

https://github.com/rsyslog/librelp/issues/1

Rainer


On Mon, Mar 10, 2014 at 4:49 PM, Rainer Gerhards
<[email protected]>wrote:

> On Mon, Mar 10, 2014 at 1:23 PM, Radu Gheorghe <[email protected]
> > wrote:
>
>> Hi Rainer,
>>
>> Thanks for your answer. I see what you're saying and I agree.
>>
>> I'm [trying to] focus on a solution, so it sounds like, for my
>> particular case (I want TCP+TLS and RELP), the solution would be to
>> disable RELP+TLS? How can we do this:
>> a) at ./configure time? I guess you can do the code change you were
>> talking about previously, to disable TLS if the GnuTLS version found
>> is too old?
>>
>
> it acutally must be done in librelp, with some support for clients like
> rsyslog.
>
>
>> b) in the packages? I guess we'll have a rsyslog-relp and a
>> rsyslog-relp-tls package?
>>
>>
> no, simply because we cannot have relp with TLS on those platforms. So
> there is one librelp package, and the API must be extended to tell clients
> whether or not it supports TLS. I'll have a look at this soon.
>
>
>> Another question that I have, which doesn't concern me right now, but
>> still: how will one be able to listen for both TCP+TLS and RELP+TLS,
>> since the two seem to require different GnuTLS versions?
>
>
> NO! The problem is GnuTLS, which has broken it's API or ABI. So
> ./configure must be run when the version of GnuTLS that you want to use is
> installed. That's not an rsyslog-exclusive problem, I guess most other
> programs will see the same issue.
>
>
>> The only
>> workaround I can think of is to have two daemons, and use different
>> LD_LIBRARY_PATH variables when launching them, which point to the two
>> versions of GnuTLS installed.
>>
>> Or maybe I'm doing something wrong. Maybe rsyslog is able to run both
>> in some circumstances, and I didn't figure out how. Is there any info
>> I can provide or anything I can do to solve the mistery?
>>
>>
> build rsyslog from source AFTER you have moved to the new GnuTLS and all
> will work well.
>
> Rainer
>
>
>> Thanks a lot for looking into this!
>>
>> Best regards,
>> Radu
>>
>> On Mon, Mar 10, 2014 at 1:00 PM, Rainer Gerhards
>> <[email protected]> wrote:
>> > On Mon, Mar 10, 2014 at 11:01 AM, Radu Gheorghe
>> > <[email protected]>wrote:
>> >
>> >> Hi guys, thanks a lot for your replies!
>> >>
>> >> @Asaaf: I know installing a newer GnuTLS version will help make RELP
>> >> work. The problem is, it breaks my TCP+TLS setup.
>> >>
>> >> @Rainer: If there's something wrong with my build, then the bug is in
>> >> the packages, because I'm using the 8.1.6 RPMs. Maybe Andre can give
>> >> some insight?
>> >>
>> >
>> > This is also the answer to your text below. The packages are correct,
>> but
>> > this is a good example why I don't like to duplicate the distro
>> maintainers
>> > job (for "external packages").
>> >
>> > The rsyslog RPM is perfect, BUT you have installed a new version of
>> GnuTLS
>> > AND the new GnuTLS seems to be not backwards-compatible. So the new
>> version
>> > breaks any app that expects the older version. This is rsyslog, but if
>> you
>> > look further, I'd guess that most packages that rely on GnuTLS will be
>> > broken after this upgrade.
>> >
>> > The reason is that usually the configure script is used to detect the
>> > environment, and then the build assumes this environment and uses the
>> > proper code path (using conditional compilation). Usually, this is not a
>> > problem, as APIs remain stable. With GnuTLS, this unfortunately seems
>> not
>> > to be the case (I judge based on your report), because it looks like an
>> > existing API is no longer supported by newer versions of the lib. IMHO
>> > that's a bad thing to do, but if it is that way, you cannot get around
>> it
>> > other by re-building packages like rsyslog (starting with ./configure,
>> as
>> > usual).
>> >
>> > If we go now ahead and package GnuTLS as a system lib and ship it, we
>> will
>> > break many other packages. This is what the distro maintainers keep
>> track
>> > of, seeing such things and re-building all associated packages.
>> Definitely
>> > not something we want to do (not the mention we don't have the resources
>> > even if we would want to).
>> >
>> > Shipping it is a integrated component is also very ugly. Just think of
>> the
>> > security incident, we would need to keep track of all those things.
>> >
>> > So I need to conclude that on a platform, no matter how recent it is,
>> that
>> > does not support the necessary core software stack, we need to disable
>> > functionality. I agree that disabling RELP is too much, but the only
>> decent
>> > solution I see is to disable the RELP TLS feature. If someone wants it,
>> he
>> > or she can still install the required packages from source. We do have
>> > instructions on how to do that, it's still inconvenient, but again,
>> > everything else I strongly think is far beyond the scope of the rsyslog
>> > project.
>> >
>> > Rainer
>> >
>> >>
>> >> I'll answer to your comments inline:
>> >>
>> >> On Fri, Mar 7, 2014 at 6:08 PM, Rainer Gerhards
>> >> <[email protected]> wrote:
>> >> > On Fri, Mar 7, 2014 at 2:34 PM, Radu Gheorghe <
>> >> [email protected]>wrote:
>> >> [...]
>> >> >> ####possible solutions####
>> >> >> I think there's a bunch of things that can be improved. I'm writing
>> >> >> this from the user's point of view, because I don't know the
>> >> >> implementation details and what's technically possible:
>> >> >> - imrelp.so shouldn't depend on GnuTLS. IMO people that don't need
>> TLS
>> >> >> shouldn't have this problem. Incidentally, this will also be a
>> >> >> workaround for me, because it means I can live with the system's
>> >> >> GnuTLS for lmnsd_gtls.so and use plain RELP.
>> >> >>
>> >> >
>> >> > well, we could do a configure check and statically disable the code
>> when
>> >> > gnutls is too old. Anything more fancy requires a code contributions
>> if I
>> >> > look at the current backlog.
>> >> >
>> >>
>> >> +1. I think this would be a good workaround for now.
>> >>
>> >> >
>> >> >> - ideally, TCP+TLS should work with the new GnuTLS version
>> >> >
>> >> >
>> >> > That's a new problem, they seem to have removed an API. TCP+TLS used
>> to
>> >> > work with any GnutTLS version. I routinely build both TCP/TLs + RELP
>> on
>> >> the
>> >> > same system. Will look into it...
>> >> >
>> >>
>> >> Thanks a lot! If you have any insight about this, please share :)
>> >>
>> >> >
>> >> >> and imrelp
>> >> >> should work with the old version
>> >> >>
>> >> >
>> >> > That's technically problematic and requires downgrading of the
>> feature
>> >> set.
>> >> > If I receive a code contribution, I am willing to consider that
>> path.  I
>> >> > won't do anything in that regard myself.
>> >>
>> >> I thought the situation is something like this, that's why I said
>> >> "ideally"...
>> >>
>> >> >
>> >> >
>> >> >> - if the above is not possible, then I assume a certain version of
>> >> >> GnuTLS is required. So it should be included/added in the rsyslog
>> >> >> packages and installed in a separate location. I'm saying a separate
>> >> >> location is needed so it doesn't interfere with the system (maybe
>> >> >> there's some other software in the system that requires and older
>> >> >> version, and rsyslog's upgrade breaks it)
>> >> >>
>> >> >>
>> >> > I *really* don't like this idea, as this would mean we need to take
>> care
>> >> of
>> >> > duplicating the rest of the distro packaning. Where to stop? GnutTLS?
>> >> > Json-C, ...? In any case, there are also insufficient resources to do
>> >> that.
>> >> >
>> >>
>> >> I'm not sure if there's a "supported platforms" list anywhere, but I
>> >> think everyone expects rsyslog to work with at least the latest stable
>> >> versions of major distributions (RHEL, Debian, Ubuntu, etc). It sounds
>> >> like there are three options:
>> >> 1. support all the GnuTLS versions coming with those distributions. It
>> >> sounds like it won't work, because of what you said above
>> >> 2. provide (or find?) a package that would upgrade the distro's GnuTLS
>> >> to provide what rsyslog needs. I guess it's the easiest approach,
>> >> although it might break other apps that need GnuTLS and aren't
>> >> forward-compatible
>> >> 3. provide a package that would install the needed GnuTLS version in a
>> >> separate location. We don't have to do it for all dependencies, only
>> >> for those who turn out to be problematic.
>> >>
>> >> What's it going to be? 1) seems to be out because it's difficuly, 3)
>> >> is a bit too hacky. So that leaves us with 2)? Or do you see other
>> >> options?
>> >>
>> >> Still, with either 2) or 3), I think we still have to see how to make
>> >> TCP work with newer GnuTLS versions. Or maybe there's something wrong
>> >> with the packages. Can I help with anything to solve this, or should I
>> >> wait for you to look into the issue?
>> >>
>> >> Best regards,
>> >> Radu
>> >> _______________________________________________
>> >> rsyslog mailing list
>> >> http://lists.adiscon.net/mailman/listinfo/rsyslog
>> >> http://www.rsyslog.com/professional-services/
>> >> What's up with rsyslog? Follow https://twitter.com/rgerhards
>> >> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a
>> myriad
>> >> of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
>> >> DON'T LIKE THAT.
>> >>
>> > _______________________________________________
>> > rsyslog mailing list
>> > http://lists.adiscon.net/mailman/listinfo/rsyslog
>> > http://www.rsyslog.com/professional-services/
>> > What's up with rsyslog? Follow https://twitter.com/rgerhards
>> > NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a
>> myriad of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if
>> you DON'T LIKE THAT.
>>
>>
>>
>> --
>> Performance Monitoring * Log Analytics * Search Analytics
>> Solr & Elasticsearch Support * http://sematext.com/
>> _______________________________________________
>> rsyslog mailing list
>> http://lists.adiscon.net/mailman/listinfo/rsyslog
>> http://www.rsyslog.com/professional-services/
>> What's up with rsyslog? Follow https://twitter.com/rgerhards
>> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
>> of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
>> DON'T LIKE THAT.
>>
>
>
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to