On Thu, Sep 24, 2020 at 08:38:46AM +0200, Remi Locherer wrote:
> On Tue, Sep 08, 2020 at 01:58:09PM +0200, Theo Buehler wrote:
> > On Tue, Sep 08, 2020 at 10:33:41AM +0200, Remi Locherer wrote:
> > > On Tue, Sep 01, 2020 at 05:59:03PM +0200, Remi Locherer wrote:
> > > > This updates rsyslog to version 8.2008.0. The extensive changelog can be
> > > > found here: https://github.com/rsyslog/rsyslog/blob/v8.2008.0/ChangeLog
> > > > 
> > > > One notable change is improved support for OpenSSL and also LibreSSL. 
> > > > But
> > > > I did not test that yet. Our port is still using GnuTLS.
> > > > 
> > > > I'm not sure if I should switch rsyslogd from GnuTLS to LibreSSL. I see
> > > > the main purpose of rsyslogd on OpenBSD in iterop testing of our
> > > > syslogd. For this the use of GnuTLS might be beneficial (except the
> > > > slow startup on bluhm's test machine ;-) ). Another usage is writing
> > > > messages to different databases or mangling logs.
> > > > 
> > > > Are there any users of this port? If so: how are you using it?
> > > > 
> > > > I tested this update on amd64 with the regress test from rsyslogd.
> > > > In addition I verified that the following modules work:
> > > > imudp, omrelp (with tls=on), imrelp (with tls=on), ommysql
> > > > 
> > > > OK for the port update?
> > > 
> > > I understand that probably nobody is using rsyslog on OpenBSD. ;-)
> > > Nevertheless, can I get an OK?
> > 
> > It would be much nicer to inline the diff rather than quoting it :)
> > 
> > It looks ok portswise and builds fine on amd64 and sparc64. I think
> > it'll have better chances of seeing tests if you put this in now rather
> > than waiting longer.
> > 
> > ok tb.
> > 
> > There is one somewhat scary warning during the build but it's not new:
> > 
> > imuxsock.c:1112:44: warning: cast from 'char *' to 'struct cmsghdr *' 
> > increases required
> >       alignment from 1 to 4 [-Wcast-align]
> >                         for(cm = CMSG_FIRSTHDR(&msgh); cm; cm = 
> > CMSG_NXTHDR(&msgh, cm)) {
> >                                                                 
> > ^~~~~~~~~~~~~~~~~~~~~~
> > /usr/include/sys/socket.h:499:6: note: expanded from macro 'CMSG_NXTHDR'
> >             (struct cmsghdr *)((char *)(cmsg) + _ALIGN((cmsg)->cmsg_len)))
> >             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> I now looked into this one. It is actually not a warning for imuxsock.c but
> for OpenBSD's socket.h.
> 
> When adding -Wcast-align to CFLAGS for programs in base, I see many warnings
> (checked rad and ospfd). I think this is not something we need to worry
> about. But I might be wrong since I'm not an expert. ;-)
> 

This is the compiler which is not smart enough.
cmsg is of type struct cmsghdr * but we need to cast it to char * so that
the length can be added to calculate the start of the next header.
_ALIGN() will make sure that the result is actually aligned on a long word
boundary. So the result is actually 4 / 8 byte aligned and because of this
there is no increase of alignment requirement.

-- 
:wq Claudio

Reply via email to