
vpnc at unix-ag
Sep 6, 2009, 8:05 AM
Post #1 of 1
(478 views)
Permalink
|
|
svn commit: vpnc r435 - /branches/vpnc-nortel/vpnc.c
|
|
Author: Antonio Borneo Date: Sun Sep 6 17:05:30 2009 New Revision: 435 Log: Merge in Nortel branch the commits r385 by Maurice Massar and r391 by Joerg Mayer. From original comments: remove send_phase2_late() Fix typo Modified: branches/vpnc-nortel/vpnc.c Modified: branches/vpnc-nortel/vpnc.c ============================================================================== --- branches/vpnc-nortel/vpnc.c (original) +++ branches/vpnc-nortel/vpnc.c Sun Sep 6 17:05:30 2009 @@ -404,6 +404,8 @@ gcry_md_hash_buffer(GCRY_MD_SHA1, resend_check_hash, recvbuf, recvsize); if (s->ike.resend_hash && memcmp(s->ike.resend_hash, resend_check_hash, hash_len) == 0) { free(resend_check_hash); + /* FIXME: if we get a retransmission, we probably should do a retransmission too */ + DEBUG(2, printf("Received duplicated packet, dropping it!\n")); return -1; } if (!s->ike.resend_hash) { @@ -740,40 +742,12 @@ } } -static void send_phase2_late(struct sa_block *s, struct isakmp_payload *pl, - uint8_t exchange_type, uint32_t msgid) -{ - struct isakmp_packet *p; - uint8_t *p_flat; - size_t p_size; - ssize_t recvlen; - - /* Build up the packet. */ - p = new_isakmp_packet(); - memcpy(p->i_cookie, s->ike.i_cookie, ISAKMP_COOKIE_LENGTH); - memcpy(p->r_cookie, s->ike.r_cookie, ISAKMP_COOKIE_LENGTH); - p->flags = ISAKMP_FLAG_E; - p->isakmp_version = ISAKMP_VERSION; - p->exchange_type = exchange_type; - p->message_id = msgid; - p->payload = pl; - - flatten_isakmp_packet(p, &p_flat, &p_size, s->ike.ivlen); - free_isakmp_packet(p); - isakmp_crypt(s, p_flat, p_size, 1); - - s->ike.life.tx += p_size; - - recvlen = sendrecv(s, NULL, 0, p_flat, p_size, 1); - free(p_flat); -} - void keepalive_ike(struct sa_block *s) { uint32_t msgid; gcry_create_nonce((uint8_t *) & msgid, sizeof(msgid)); - send_phase2_late(s, NULL, ISAKMP_EXCHANGE_INFORMATIONAL, msgid); + sendrecv_phase2(s, NULL, ISAKMP_EXCHANGE_INFORMATIONAL, msgid, 1, 0, 0, 0, 0, 0, 0); } static void send_dpd(struct sa_block *s, int isack, uint32_t seqno) _______________________________________________ vpnc-devel mailing list vpnc-devel [at] unix-ag https://lists.unix-ag.uni-kl.de/mailman/listinfo/vpnc-devel http://www.unix-ag.uni-kl.de/~massar/vpnc/
|