oi oi,
De segmentation faults treden op in req_key_h() in protocol.c:
int req_key_h(conn_list_t *cl, unsigned char *d, int len)
{
  key_req_t *tmp = (key_req_t*)d;
  conn_list_t *fw;
  if(debug_lvl > 2)
    syslog(LOG_DEBUG, "got REQ_KEY from " IP_ADDR_S " for "
IP_ADDR_S,
	   IP_ADDR_V(tmp->from), IP_ADDR_V(tmp->to));
  if((tmp->to & myself->vpn_mask) == (myself->vpn_ip &
myself->vpn_mask))
    {  /* hey! they want something from ME! :) */
      send_key_answer(cl, tmp->from);
      return 0;
    }
  fw = lookup_conn(tmp->to);
!!!!! Hier gaat het mis. lookup_conn() kan namelijk NULL teruggeven!
!!!!! En daar wordt niet op gecontroleerd --> SEGV!
  if(debug_lvl > 3)
    syslog(LOG_DEBUG, "Forwarding request for public key to "
IP_ADDR_S,
	   IP_ADDR_V(fw->nexthop->vpn_ip));
  if(send(fw->nexthop->meta_socket, tmp, sizeof(key_req_t), 0) < 0)
    {
      syslog(LOG_ERR, "send failed: %s:%d: %m", __FILE__, __LINE__);
      return -1;
    }
  return 0;
}
Zow. Nog net gevonden voordat ik op de bus naar mijn ouders ga.
Prettig Pasen!
Guus Sliepen.
---
TINC development list, tinc-devel@nl.linux.org
Archive: http://mail.nl.linux.org/tinc-devel/