On Mon, 2020-11-09 at 01:18 +0000, Daniel Golle wrote: > On Mon, Nov 09, 2020 at 07:20:35AM +0900, Martin Schanzenbach wrote: > > Well, good catch ;) > > > > I agree with David that this very likely was not the issue. > > We all are on LE systems (unless you have an old powerbook or a > > sparc?). Which means that the only reason why that assert may fail > > is > > if the caller forgot to convert the size field to BE. > > Or on OpenWrt :) Most MIPS boxes running OpenWrt are big endian, > ie. all Lantiq, Broadcom and Atheros MIPS SoCs (MediaTek/Ralink being > the exception with little endian). >
Good to know! Maybe we need a MIPS runner for the CI then! However, IF you had BE, then the operation would be a NOP and thus wouldn't result in a failed assertion even if the caller forgot to convert! BR > > > > My money is on this: Your change to the gnunet_crypto_lib.h header > > triggered a recompile of most of the gnunet code. This fixed some > > binary-level inconsistencies which caused the tests to fail. > > > > BR > > Martin > > > > On Sun, 2020-11-08 at 16:24 +0100, TheJackiMonster wrote: > > > I thought so too. That's why I was really surprised that it made > > > any > > > difference because it was also in an assert statement. > > > > > > Maybe I changed anything else during configuration which lead to > > > passing the testcases but I can't think of anything. > > > > > > Anyway in worst case, nothing changed by that commit. Otherwise > > > some > > > tests won't fail now on weird setups. ^^' > > > > > > On Sun, 2020-11-08 at 08:33 -0600, David Barksdale wrote: > > > > I don't understand how swapping htonl with ntohl made any > > > > difference, > > > > they are the same function. If you're on a big-endian system > > > > they > > > > both > > > > do nothing, if you're on a little-endian system they both swap > > > > byte > > > > order, you'd have to be on some insane "middle-endian" system > > > > where > > > > one > > > > rotates left and the other rotates right for them to do > > > > different > > > > things. > > > > > > > > On 11/7/20 6:58 PM, TheJackiMonster wrote: > > > > > Hey, > > > > > > > > > > funny story... I was actually debugging my code of the > > > > > messenger > > > > > service and encountered a weird bug which was caused by an > > > > > assert > > > > > in > > > > > one of my latest changes (the signing via EGO keys). > > > > > > > > > > It turned out the assert failed because of a wrongly used > > > > > htonl() > > > > > instead of ntohl() to check the signatures size. But I was > > > > > really > > > > > confused of this because I was very certain, I had copied it > > > > > from > > > > > the > > > > > signing macro for ECDSA keys to not make any mistake. ^^' > > > > > > > > > > ...well, I did: So it seemed that both (ECDSA and EDDSA) sign > > > > > makros > > > > > and the one (ECDSA) verify makro swapped htonl() and ntohl() > > > > > in > > > > > its > > > > > first assert. > > > > > > > > > > So I tried correcting it and it looks like nearly all of the > > > > > tests > > > > > pass > > > > > now. Before most tests didn't even start when I called 'make > > > > > check' > > > > > (only 50) and one test of them failed while one other skipped > > > > > (which I > > > > > thought was normal from such a huge project) but that simply > > > > > changed > > > > > just by flipping this typo. I have never seen so much green > > > > > flowing > > > > > down during debugging before. ^^' > > > > > > > > > > I guess, I will commit the change to the main branch. Lucky > > > > > thing > > > > > to > > > > > encounter. ^-^ > > > > > > > > > > Oh and by the way the messenger service seems to work fine > > > > > now as > > > > > well > > > > > but I still need to write more testcases to make sure huge > > > > > groups > > > > > work > > > > > actually as intended. > > > > > > > > > > Happy hacking > > > > > Jacki > > > > > > > > > > > > > > > >
signature.asc
Description: This is a digitally signed message part
