Comment 4 for bug 789327

Revision history for this message
Stefan Götz (stefan.goetz-deactivatedaccount) wrote :

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?

Cheers,
      Stefan