lp:~stefan.goetz/hipl/mobility-bug rev. 5957 prevents the described segmentation fault. From the commit message: Add missing initialization to 'peer_addr' variable. Revision 5938 erroneously removed code that was necessary to change the value of the peer_addr pointer to an actual peer address. This caused a NULL pointer access and segmentation fault when handling a locator parameter during an UPDATE message.
I tested the linked branch with two hosts and simulated mobility by:
1) running 'hipconf manual-update'
2) putting the network interface down and up again and
3) changing the IPv4 address of the network interface
None of the tests crash hipd. In tests 1) and 2), HIP connectivity is maintained.
I observe the following remaining issues which are, however, also present in trunk revision 5937, i.e., before this particular bug was introduced:
- In test 3) HIP connectivity is lost even though an UPDATE message is sent. Only after running 'hipconf manual-update' HIP connectivity is restored.
- pinging a HIT right after changing the IPv4 address of the network device fails with the error message 'connect: Invalid argument' for about 5 seconds after the address change.
- every UPDATE message triggers the following error on the responder: "error(modules/update/hipd/update_param_handling.c:289@hip_handl: ECHO_REQUEST parameter not found!"
I was not able to test IPv6 mobility because using 'hipconf add map' to associate a HIT with a link-local IPv6 address fails with the following hipd errors:
error(hipd/netdev.c:1412@hip_select_source_address): No address of the same family
error(hipd/hadb.c:613@hip_hadb_add_peer_info): Cannot find source address
error(hipd/hadb.c:663@hip_add_peer_map): Failed to insert peer map (-1)
error(hipd/user.c:296@hip_handle_user_msg): add peer mapping failed.
Can someone confirm these results? In particular that the linked branch fixes the described bug?
lp:~stefan.goetz/hipl/mobility-bug rev. 5957 prevents the described segmentation fault. From the commit message: Add missing initialization to 'peer_addr' variable. Revision 5938 erroneously removed code that was necessary to change the value of the peer_addr pointer to an actual peer address. This caused a NULL pointer access and segmentation fault when handling a locator parameter during an UPDATE message.
I tested the linked branch with two hosts and simulated mobility by:
1) running 'hipconf manual-update'
2) putting the network interface down and up again and
3) changing the IPv4 address of the network interface
None of the tests crash hipd. In tests 1) and 2), HIP connectivity is maintained.
I observe the following remaining issues which are, however, also present in trunk revision 5937, i.e., before this particular bug was introduced:
- In test 3) HIP connectivity is lost even though an UPDATE message is sent. Only after running 'hipconf manual-update' HIP connectivity is restored.
- pinging a HIT right after changing the IPv4 address of the network device fails with the error message 'connect: Invalid argument' for about 5 seconds after the address change.
- every UPDATE message triggers the following error on the responder: "error( modules/ update/ hipd/update_ param_handling. c:289@hip_ handl: ECHO_REQUEST parameter not found!"
I was not able to test IPv6 mobility because using 'hipconf add map' to associate a HIT with a link-local IPv6 address fails with the following hipd errors:
error(hipd/ netdev. c:1412@ hip_select_ source_ address) : No address of the same family hadb.c: 613@hip_ hadb_add_ peer_info) : Cannot find source address hadb.c: 663@hip_ add_peer_ map): Failed to insert peer map (-1) user.c: 296@hip_ handle_ user_msg) : add peer mapping failed.
error(hipd/
error(hipd/
error(hipd/
Can someone confirm these results? In particular that the linked branch fixes the described bug?
Cheers,
Stefan