X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=utcp.c;h=bfd9921f56a23e24c25078e7b73d53768456ca88;hb=d1b2b2dc5997c6818e24bd45b916d8b06c13b892;hp=906068c0125c8c25b91bcf0b6a6585d97ee64c24;hpb=d3b3b958b5555dfe0e20844135bff1d8b838f1dc;p=utcp diff --git a/utcp.c b/utcp.c index 906068c..bfd9921 100644 --- a/utcp.c +++ b/utcp.c @@ -418,6 +418,8 @@ struct utcp_connection *utcp_connect_ex(struct utcp *utcp, uint16_t dst, utcp_re gettimeofday(&c->conn_timeout, NULL); c->conn_timeout.tv_sec += utcp->timeout; + start_retransmit_timer(c); + return c; } @@ -589,8 +591,13 @@ static void retransmit(struct utcp_connection *c) { pkt->hdr.seq = c->snd.iss; pkt->hdr.ack = 0; pkt->hdr.ctl = SYN; - print_packet(c->utcp, "rtrx", pkt, sizeof pkt->hdr); - utcp->send(utcp, pkt, sizeof pkt->hdr); + pkt->hdr.aux = 0x0101; + pkt->data[0] = 1; + pkt->data[1] = 0; + pkt->data[2] = 0; + pkt->data[3] = c->flags & 0x7; + print_packet(c->utcp, "rtrx", pkt, sizeof pkt->hdr + 4); + utcp->send(utcp, pkt, sizeof pkt->hdr + 4); break; case SYN_RECEIVED: