Ya I dont like that code. Can you check your headers
under /usr/lib/include for __WORDSIZE (also /lib/include)
there is another bit of code for the endian big or little too.
Regards
-steve
On Tue, 2008-11-18 at 18:20 +0100, Dejan Muhamedagic wrote:
> On Tue, Nov 18, 2008 at 06:05:08AM -0700, Steven Dake wrote:
> >
> > On Tue, 2008-11-18 at 00:43 +0100, Dejan Muhamedagic wrote:
> > > Hi,
> > >
> > > On Fri, Nov 14, 2008 at 08:17:34AM +0000, Christine Caulfield wrote:
> > > > Dejan Muhamedagic wrote:
> > > > > Hi,
> > > > >
> > > > > When I set secauth, nodes can't communicate with each other at
> > > > > all. They just keep logging:
> > > > >
> > > > > Nov 13 18:01:02 s390vm13 openais[31178]: [MAIN ] Invalid packet data
> > > > > Nov 13 18:01:02 s390vm13 openais[31178]: [MAIN ] Received message has
> > > > > invalid digest... ignoring.
> > > > >
> > > > > With secauth off, everything works fine. This is with the
> > > > > whitetank on an s390x platform. Didn't get around to test it yet
> > > > > on other platforms.
> > > > >
> > > >
> > > > I (and many others I'm sure) have been using secauth on openais for a
> > > > very long time and it works fine. It's enabled by default on all Red Hat
> > > > system for instance.
> > > >
> > > > Are you sure you have the same key on all your systems ?
> > >
> > > Yes.
> > >
> > > > On the other hand I have never tried it on s390x so I suppose it's
> > > > possible that there is a problem on that architecture.
> > >
> > > Looks like it. The i386 platform is ok. s390x is a big endian
> > > arch. Ever run openais on such machine?
> > >
> > > Thanks,
> > >
> > > Dejan
> > >
> >
> > Yes openais has been tested big endian little endian but the crypto
> > routines specifically check for the machine type using some special
> > definitions. It is possible your s390x machine doesn't have the proper
> > definitions in the header files and is using the wrong endian or byte
> > size algorithms for your platform.
>
> The following part (exec/crypto.c:31) looks funny:
>
> #if defined(OPENAIS_LINUX)
> #if __WORDIZE == 64
> #define ENDIAN_64BITWORD
> #endif
> #if __WORDIZE == 32
> #define ENDIAN_32BITWORD
> #endif
> #else
> /* XXX need to find a better default
> */
> #define ENDIAN_32BITWORD
> #endif
>
> There's no default if __WORDSIZE is neither 64 nor 32. There
> should be a warning at least. There's also a typo ("S" missing).
>
> Unfortunately, fixing this didn't really help.
>
> Dejan
>
> > Regards
> > -steve
> >
> > >
> > > > Chrissie
> > > _______________________________________________
> > > Openais mailing list
> > > [email protected]
> > > https://lists.linux-foundation.org/mailman/listinfo/openais
> >
> _______________________________________________
> Openais mailing list
> [email protected]
> https://lists.linux-foundation.org/mailman/listinfo/openais
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais