I think that olsr secure calculate checksum or timestamp differently if it run on big or little endian processor.
I haven't analized code but I had drawn this conclusion after this test:
Hosts:
(La) PC x86 (Little endian)
(Lb) Linksys CPU Broadcom (Little endian)
(Bc) Meraki CPU Atheros (Big endian)
(La)-----OK-----(Lb)
\ /
\ /
NO NO
\ /
\ /
(Bc)
Between (La)-(Lb) OLSR secure work but between (La)-(Bc) and (Lb)-(Bc) don't work.
I deduce that the problem is diffent endianity of host (Bc).
This is the log of (Bc)
[ENC]Match for 10.0.0.24
[ENC]Message from non-validated host!
[ENC]Timestamp missmatch in packet from 10.0.0.24!
[ENC]Rejecting packet from 10.0.0.24
[ENC]Checking packet for challenge response message...
[ENC]Match for 10.0.0.29
[ENC]Message from non-validated host!
[ENC]Timestamp missmatch in packet from 10.0.0.29!
[ENC]Rejecting packet from 10.0.0.29
[ENC]Checking packet for challenge response message...
[ENC]Match for 10.0.0.24
[ENC]Message from non-validated host!
[ENC]Timestamp missmatch in packet from 10.0.0.24!
[ENC]Rejecting packet from 10.0.0.24
[ENC]Adding signature for packet size 20
[ENC]timestamp: 1192846410
[ENC] Message signed
[ENC]timestamp info for 10.0.0.24 timed out.. deleting it
[ENC]Checking packet for challenge response message...
[ENC]No match for 10.0.0.24
[ENC]Building CHALLENGE message
[ENC]Size: 36
[ENC]Sending timestamp request to 10.0.0.24 challenge 0x77d1515a
[ENC]Adding signature for packet size 40
[ENC]timestamp: 1192846411
[ENC] Message signed
[ENC]Timestamp missmatch in packet from 10.0.0.24!
[ENC]Rejecting packet from 10.0.0.24
This is the log of (Lb)
[ENC]Checking packet for challenge response message...
[ENC]Match for 10.0.0.29
[ENC]Timestamp slack: 0
[ENC]Diff set to : 0
[ENC]Received timestamp 1192846903 diff: 0
[ENC]Packet from 10.0.0.29 OK size 28
[ENC]Adding signature for packet size 28
[ENC]timestamp: 1192846904
[ENC] Message signed
[ENC]Checking packet for challenge response message...
[ENC]Match for 10.0.0.34
[ENC]Message from non-validated host!
[ENC]Timestamp missmatch in packet from 10.0.0.34!
[ENC]Rejecting packet from 10.0.0.34
[ENC]Checking packet for challenge response message...
[ENC]Match for 10.0.0.29
[ENC]Timestamp slack: 0
[ENC]Diff set to : 0
[ENC]Received timestamp 1192846906 diff: 0
[ENC]Packet from 10.0.0.29 OK size 28
[ENC]Checking packet for challenge response message...
[ENC]Challenge message received
[ENC]To: 10.0.0.29
[ENC]Not for us...
This is the log of (La)
[ENC]Checking packet for challenge response message...
[ENC]Match for 10.0.0.24
[ENC]Timestamp slack: 0
[ENC]Diff set to : 0
[ENC]Received timestamp 1192846967 diff: 0
[ENC]Packet from 10.0.0.24 OK size 28
Processing TC from 10.0.0.24
mpr_selector_list:[10.0.0.29:]
[ENC]Checking packet for challenge response message...
[ENC]Challenge message received
[ENC]To: 10.0.0.24
[ENC]Not for us...
[ENC]Match for 10.0.0.34
[ENC]Message from non-validated host!
[ENC]Timestamp missmatch in packet from 10.0.0.34!
[ENC]Rejecting packet from 10.0.0.34
[ENC]Checking packet for challenge response message...
[ENC]Challenge-response message received
[ENC]To: 10.0.0.34
[ENC]Not for us...
Bye.
Logged In: NO
Hello,
I have to use OLSR secure plugin to connect a Linksys WRT54GS to a Fonera (Atheros like Meraki).
Do you know when this bug will be removed or can you give me directions on what and how to modify the plugin code?
Thanks
Davide
Logged In: YES
user_id=1145521
Originator: NO
Hi,
I'm not a developer/mantainer of olsr pluging then I could not resolve this bug.
Can you try to reproduce this bug to confirm this?
Thanks, bye.