From 0405ba1ccfa5630ce16802e2d74bc799972fb613 Mon Sep 17 00:00:00 2001 From: Joseph Henry Date: Fri, 16 Oct 2015 18:02:07 -0400 Subject: [PATCH] Misc changes --- ext/bin/lwip/liblwip.so | Bin 342016 -> 342016 bytes ext/lwip/src/core/tcp.c | 116 +++++++++++++++++------------------ ext/lwip/src/core/tcp_in.c | 54 ++++++++-------- ext/lwip/src/core/tcp_out.c | 40 ++++++------ ext/lwipopts.h | 4 +- netcon/Intercept.c | 11 ++++ netcon/NetconEthernetTap.cpp | 13 +++- netcon/libintercept.so.1.0 | Bin 45880 -> 45992 bytes netcon/liblwip.so | Bin 0 -> 342016 bytes 9 files changed, 128 insertions(+), 110 deletions(-) create mode 100755 netcon/liblwip.so diff --git a/ext/bin/lwip/liblwip.so b/ext/bin/lwip/liblwip.so index c315404a8f86e51a6fe8b94a856dd512dc5dc56b..aba90d8e98a904888d0beaf1e07412aca6d223e3 100755 GIT binary patch delta 8316 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 IrmT0F0Hq(;wg3PC delta 8316 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 diff --git a/ext/lwip/src/core/tcp.c b/ext/lwip/src/core/tcp.c index b710d2e2a..105b68e74 100644 --- a/ext/lwip/src/core/tcp.c +++ b/ext/lwip/src/core/tcp.c @@ -10,9 +10,9 @@ /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, @@ -21,21 +21,21 @@ * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. + * derived from this software without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT - * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY * OF SUCH DAMAGE. * * This file is part of the lwIP TCP/IP stack. - * + * * Author: Adam Dunkels * */ @@ -72,17 +72,17 @@ #endif /* LWIP_TCP_KEEPALIVE */ const char * const tcp_state_str[] = { - "CLOSED", - "LISTEN", - "SYN_SENT", - "SYN_RCVD", - "ESTABLISHED", - "FIN_WAIT_1", - "FIN_WAIT_2", - "CLOSE_WAIT", - "CLOSING", - "LAST_ACK", - "TIME_WAIT" + "CLOSED", + "LISTEN", + "SYN_SENT", + "SYN_RCVD", + "ESTABLISHED", + "FIN_WAIT_1", + "FIN_WAIT_2", + "CLOSE_WAIT", + "CLOSING", + "LAST_ACK", + "TIME_WAIT" }; /* last local TCP port */ @@ -118,7 +118,7 @@ struct tcp_pcb *tcp_tmp_pcb; u8_t tcp_active_pcbs_changed; -/** Timer counter to handle calling slow-timer from tcp_tmr() */ +/** Timer counter to handle calling slow-timer from tcp_tmr() */ static u8_t tcp_timer; static u8_t tcp_timer_ctr; static u16_t tcp_new_port(void); @@ -202,7 +202,7 @@ tcp_close_shutdown(struct tcp_pcb *pcb, u8_t rst_on_unacked_data) * however, it is in this state once allocated and as yet unused * and the user needs some way to free it should the need arise. * Calling tcp_close() with a pcb that has already been closed, (i.e. twice) - * or for a pcb that has been used and then entered the CLOSED state + * or for a pcb that has been used and then entered the CLOSED state * is erroneous, but this should never happen as the pcb has in those cases * been freed, and so any remaining handles are bogus. */ err = ERR_OK; @@ -357,7 +357,7 @@ void tcp_abandon(struct tcp_pcb *pcb, int reset) { u32_t seqno, ackno; -#if LWIP_CALLBACK_API +#if LWIP_CALLBACK_API tcp_err_fn errf; #endif /* LWIP_CALLBACK_API */ void *errf_arg; @@ -385,7 +385,7 @@ tcp_abandon(struct tcp_pcb *pcb, int reset) if (pcb->unsent != NULL) { tcp_segs_free(pcb->unsent); } -#if TCP_QUEUE_OOSEQ +#if TCP_QUEUE_OOSEQ if (pcb->ooseq != NULL) { tcp_segs_free(pcb->ooseq); } @@ -570,7 +570,7 @@ tcp_listen_with_backlog(struct tcp_pcb *pcb, u8_t backlog) return (struct tcp_pcb *)lpcb; } -/** +/** * Update the state that tracks the available window space to advertise. * * Returns how much extra window would be advertised if we sent an @@ -649,7 +649,7 @@ tcp_new_port(void) u8_t i; u16_t n = 0; struct tcp_pcb *pcb; - + again: if (tcp_port++ == TCP_LOCAL_PORT_RANGE_END) { tcp_port = TCP_LOCAL_PORT_RANGE_START; @@ -757,7 +757,7 @@ tcp_connect(struct tcp_pcb *pcb, ip_addr_t *ipaddr, u16_t port, pcb->ssthresh = pcb->mss * 10; #if LWIP_CALLBACK_API pcb->connected = connected; -#else /* LWIP_CALLBACK_API */ +#else /* LWIP_CALLBACK_API */ LWIP_UNUSED_ARG(connected); #endif /* LWIP_CALLBACK_API */ @@ -870,7 +870,7 @@ tcp_slowtmr_start: LWIP_DEBUGF(TCP_CWND_DEBUG, ("tcp_slowtmr: cwnd %"U16_F " ssthresh %"U16_F"\n", pcb->cwnd, pcb->ssthresh)); - + /* The following needs to be called AFTER cwnd is set to one mss - STJ */ tcp_rexmit_rto(pcb); @@ -901,11 +901,11 @@ tcp_slowtmr_start: LWIP_DEBUGF(TCP_DEBUG, ("tcp_slowtmr: KEEPALIVE timeout. Aborting connection to %"U16_F".%"U16_F".%"U16_F".%"U16_F".\n", ip4_addr1_16(&pcb->remote_ip), ip4_addr2_16(&pcb->remote_ip), ip4_addr3_16(&pcb->remote_ip), ip4_addr4_16(&pcb->remote_ip))); - + ++pcb_remove; ++pcb_reset; } - else if((u32_t)(tcp_ticks - pcb->tmr) > + else if((u32_t)(tcp_ticks - pcb->tmr) > (pcb->keep_idle + pcb->keep_cnt_sent * TCP_KEEP_INTVL(pcb)) / TCP_SLOW_INTERVAL) { @@ -998,7 +998,7 @@ tcp_slowtmr_start: } } - + /* Steps through all of the TIME-WAIT PCBs. */ prev = NULL; pcb = tcp_tw_pcbs; @@ -1010,7 +1010,7 @@ tcp_slowtmr_start: if ((u32_t)(tcp_ticks - pcb->tmr) > 2 * TCP_MSL / TCP_SLOW_INTERVAL) { ++pcb_remove; } - + /* If the PCB should be removed, do it. */ @@ -1172,7 +1172,7 @@ tcp_setprio(struct tcp_pcb *pcb, u8_t prio) * * @param seg the old tcp_seg * @return a copy of seg - */ + */ struct tcp_seg * tcp_seg_copy(struct tcp_seg *seg) { @@ -1182,7 +1182,7 @@ tcp_seg_copy(struct tcp_seg *seg) if (cseg == NULL) { return NULL; } - SMEMCPY((u8_t *)cseg, (const u8_t *)seg, sizeof(struct tcp_seg)); + SMEMCPY((u8_t *)cseg, (const u8_t *)seg, sizeof(struct tcp_seg)); pbuf_ref(cseg->p); return cseg; } @@ -1222,7 +1222,7 @@ tcp_kill_prio(u8_t prio) mprio = TCP_PRIO_MAX; - + /* We kill the oldest active connection that has lower priority than prio. */ inactivity = 0; inactive = NULL; @@ -1279,7 +1279,7 @@ tcp_alloc(u8_t prio) { struct tcp_pcb *pcb; u32_t iss; - + pcb = (struct tcp_pcb *)memp_malloc(MEMP_TCP_PCB); if (pcb == NULL) { /* Try killing oldest connection in TIME-WAIT. */ @@ -1324,7 +1324,7 @@ tcp_alloc(u8_t prio) pcb->snd_wl2 = iss; pcb->snd_nxt = iss; pcb->lastack = iss; - pcb->snd_lbb = iss; + pcb->snd_lbb = iss; pcb->tmr = tcp_ticks; pcb->last_timer = tcp_timer_ctr; @@ -1332,11 +1332,11 @@ tcp_alloc(u8_t prio) #if LWIP_CALLBACK_API pcb->recv = tcp_recv_null; -#endif /* LWIP_CALLBACK_API */ - +#endif /* LWIP_CALLBACK_API */ + /* Init KEEPALIVE timer */ pcb->keep_idle = TCP_KEEPIDLE_DEFAULT; - + #if LWIP_TCP_KEEPALIVE pcb->keep_intvl = TCP_KEEPINTVL_DEFAULT; pcb->keep_cnt = TCP_KEEPCNT_DEFAULT; @@ -1371,7 +1371,7 @@ tcp_new(void) * * @param pcb tcp_pcb to set the callback argument * @param arg void pointer argument to pass to callback functions - */ + */ void tcp_arg(struct tcp_pcb *pcb, void *arg) { @@ -1387,7 +1387,7 @@ tcp_arg(struct tcp_pcb *pcb, void *arg) * * @param pcb tcp_pcb to set the recv callback * @param recv callback function to call for this pcb when data is received - */ + */ void tcp_recv(struct tcp_pcb *pcb, tcp_recv_fn recv) { @@ -1401,7 +1401,7 @@ tcp_recv(struct tcp_pcb *pcb, tcp_recv_fn recv) * * @param pcb tcp_pcb to set the sent callback * @param sent callback function to call for this pcb when data is successfully sent - */ + */ void tcp_sent(struct tcp_pcb *pcb, tcp_sent_fn sent) { @@ -1416,7 +1416,7 @@ tcp_sent(struct tcp_pcb *pcb, tcp_sent_fn sent) * @param pcb tcp_pcb to set the err callback * @param err callback function to call for this pcb when a fatal error * has occured on the connection - */ + */ void tcp_err(struct tcp_pcb *pcb, tcp_err_fn err) { @@ -1431,7 +1431,7 @@ tcp_err(struct tcp_pcb *pcb, tcp_err_fn err) * @param pcb tcp_pcb to set the accept callback * @param accept callback function to call for this pcb when LISTENing * connection has been connected to another host - */ + */ void tcp_accept(struct tcp_pcb *pcb, tcp_accept_fn accept) { @@ -1447,16 +1447,16 @@ tcp_accept(struct tcp_pcb *pcb, tcp_accept_fn accept) * from TCP. The interval is specified in terms of the TCP coarse * timer interval, which is called twice a second. * - */ + */ void tcp_poll(struct tcp_pcb *pcb, tcp_poll_fn poll, u8_t interval) { LWIP_ASSERT("invalid socket state for poll", pcb->state != LISTEN); #if LWIP_CALLBACK_API pcb->poll = poll; -#else /* LWIP_CALLBACK_API */ +#else /* LWIP_CALLBACK_API */ LWIP_UNUSED_ARG(poll); -#endif /* LWIP_CALLBACK_API */ +#endif /* LWIP_CALLBACK_API */ pcb->pollinterval = interval; } @@ -1540,7 +1540,7 @@ tcp_pcb_remove(struct tcp_pcb **pcblist, struct tcp_pcb *pcb) TCP_RMV(pcblist, pcb); tcp_pcb_purge(pcb); - + /* if there is an outstanding delayed ACKs, send it */ if (pcb->state != TIME_WAIT && pcb->state != LISTEN && @@ -1571,7 +1571,7 @@ u32_t tcp_next_iss(void) { static u32_t iss = 6510; - + iss += tcp_ticks; /* XXX */ return iss; } @@ -1703,21 +1703,21 @@ tcp_debug_print_pcbs(void) pcb->local_port, pcb->remote_port, pcb->snd_nxt, pcb->rcv_nxt)); tcp_debug_print_state(pcb->state); - } + } LWIP_DEBUGF(TCP_DEBUG, ("Listen PCB states:\n")); for(pcb = (struct tcp_pcb *)tcp_listen_pcbs.pcbs; pcb != NULL; pcb = pcb->next) { LWIP_DEBUGF(TCP_DEBUG, ("Local port %"U16_F", foreign port %"U16_F" snd_nxt %"U32_F" rcv_nxt %"U32_F" ", pcb->local_port, pcb->remote_port, pcb->snd_nxt, pcb->rcv_nxt)); tcp_debug_print_state(pcb->state); - } + } LWIP_DEBUGF(TCP_DEBUG, ("TIME-WAIT PCB states:\n")); for(pcb = tcp_tw_pcbs; pcb != NULL; pcb = pcb->next) { LWIP_DEBUGF(TCP_DEBUG, ("Local port %"U16_F", foreign port %"U16_F" snd_nxt %"U32_F" rcv_nxt %"U32_F" ", pcb->local_port, pcb->remote_port, pcb->snd_nxt, pcb->rcv_nxt)); tcp_debug_print_state(pcb->state); - } + } } /** diff --git a/ext/lwip/src/core/tcp_in.c b/ext/lwip/src/core/tcp_in.c index 4ec971ac0..051869ff9 100644 --- a/ext/lwip/src/core/tcp_in.c +++ b/ext/lwip/src/core/tcp_in.c @@ -6,7 +6,7 @@ * * These functions are generally called in the order (ip_input() ->) * tcp_input() -> * tcp_process() -> tcp_receive() (-> application). - * + * */ /* @@ -166,7 +166,7 @@ tcp_input(struct pbuf *p, struct netif *inp) for an active connection. */ prev = NULL; - + for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->next) { LWIP_ASSERT("tcp_input: active pcb->state != CLOSED", pcb->state != CLOSED); LWIP_ASSERT("tcp_input: active pcb->state != TIME-WAIT", pcb->state != TIME_WAIT); @@ -253,7 +253,7 @@ tcp_input(struct pbuf *p, struct netif *inp) /* put this listening pcb at the head of the listening list */ tcp_listen_pcbs.listen_pcbs = lpcb; } - + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_input: packed for LISTENing connection.\n")); tcp_listen_input(lpcb); pbuf_free(p); @@ -588,7 +588,7 @@ tcp_process(struct tcp_pcb *pcb) acceptable = 1; } } else { - if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, + if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, pcb->rcv_nxt+pcb->rcv_wnd)) { acceptable = 1; } @@ -609,12 +609,12 @@ tcp_process(struct tcp_pcb *pcb) } } - if ((flags & TCP_SYN) && (pcb->state != SYN_SENT && pcb->state != SYN_RCVD)) { + if ((flags & TCP_SYN) && (pcb->state != SYN_SENT && pcb->state != SYN_RCVD)) { /* Cope with new connection attempt after remote end crashed */ tcp_ack_now(pcb); return ERR_OK; } - + if ((pcb->flags & TF_RXCLOSED) == 0) { /* Update the PCB (in)activity timer unless rx is closed (see tcp_shutdown) */ pcb->tmr = tcp_ticks; @@ -892,7 +892,7 @@ tcp_receive(struct tcp_pcb *pcb) #if TCP_WND_DEBUG } else { if (pcb->snd_wnd != tcphdr->wnd) { - LWIP_DEBUGF(TCP_WND_DEBUG, + LWIP_DEBUGF(TCP_WND_DEBUG, ("tcp_receive: no window update lastack %"U32_F" ackno %" U32_F" wl1 %"U32_F" seqno %"U32_F" wl2 %"U32_F"\n", pcb->lastack, ackno, pcb->snd_wl1, seqno, pcb->snd_wl2)); @@ -902,17 +902,17 @@ tcp_receive(struct tcp_pcb *pcb) /* (From Stevens TCP/IP Illustrated Vol II, p970.) Its only a * duplicate ack if: - * 1) It doesn't ACK new data - * 2) length of received packet is zero (i.e. no payload) - * 3) the advertised window hasn't changed + * 1) It doesn't ACK new data + * 2) length of received packet is zero (i.e. no payload) + * 3) the advertised window hasn't changed * 4) There is outstanding unacknowledged data (retransmission timer running) * 5) The ACK is == biggest ACK sequence number so far seen (snd_una) - * - * If it passes all five, should process as a dupack: - * a) dupacks < 3: do nothing - * b) dupacks == 3: fast retransmit - * c) dupacks > 3: increase cwnd - * + * + * If it passes all five, should process as a dupack: + * a) dupacks < 3: do nothing + * b) dupacks == 3: fast retransmit + * c) dupacks > 3: increase cwnd + * * If it only passes 1-3, should reset dupack counter (and add to * stats, which we don't do in lwIP) * @@ -1053,7 +1053,7 @@ tcp_receive(struct tcp_pcb *pcb) ->unsent list after a retransmission, so these segments may in fact have been sent once. */ while (pcb->unsent != NULL && - TCP_SEQ_BETWEEN(ackno, ntohl(pcb->unsent->tcphdr->seqno) + + TCP_SEQ_BETWEEN(ackno, ntohl(pcb->unsent->tcphdr->seqno) + TCP_TCPLEN(pcb->unsent), pcb->snd_nxt)) { LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_receive: removing %"U32_F":%"U32_F" from pcb->unsent\n", ntohl(pcb->unsent->tcphdr->seqno), ntohl(pcb->unsent->tcphdr->seqno) + @@ -1065,7 +1065,7 @@ tcp_receive(struct tcp_pcb *pcb) if (pcb->unsent == NULL) { pcb->unsent_oversize = 0; } -#endif /* TCP_OVERSIZE */ +#endif /* TCP_OVERSIZE */ LWIP_DEBUGF(TCP_QLEN_DEBUG, ("tcp_receive: queuelen %"U16_F" ... ", (u16_t)pcb->snd_queuelen)); LWIP_ASSERT("pcb->snd_queuelen >= pbuf_clen(next->p)", (pcb->snd_queuelen >= pbuf_clen(next->p))); /* Prevent ACK for FIN to generate a sent event */ @@ -1211,7 +1211,7 @@ tcp_receive(struct tcp_pcb *pcb) /* The sequence number must be within the window (above rcv_nxt and below rcv_nxt + rcv_wnd) in order to be further processed. */ - if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, + if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, pcb->rcv_nxt + pcb->rcv_wnd - 1)){ if (pcb->rcv_nxt == seqno) { /* The incoming segment is the next in sequence. We check if @@ -1220,12 +1220,12 @@ tcp_receive(struct tcp_pcb *pcb) tcplen = TCP_TCPLEN(&inseg); if (tcplen > pcb->rcv_wnd) { - LWIP_DEBUGF(TCP_INPUT_DEBUG, + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_receive: other end overran receive window" "seqno %"U32_F" len %"U16_F" right edge %"U32_F"\n", seqno, tcplen, pcb->rcv_nxt + pcb->rcv_wnd)); if (TCPH_FLAGS(inseg.tcphdr) & TCP_FIN) { - /* Must remove the FIN from the header as we're trimming + /* Must remove the FIN from the header as we're trimming * that byte of sequence-space from the packet */ TCPH_FLAGS_SET(inseg.tcphdr, TCPH_FLAGS(inseg.tcphdr) &~ TCP_FIN); } @@ -1245,7 +1245,7 @@ tcp_receive(struct tcp_pcb *pcb) - inseq overlaps with ooseq */ if (pcb->ooseq != NULL) { if (TCPH_FLAGS(inseg.tcphdr) & TCP_FIN) { - LWIP_DEBUGF(TCP_INPUT_DEBUG, + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_receive: received in-order FIN, binning ooseq queue\n")); /* Received in-order FIN means anything that was received * out of order must now have been received in-order, so @@ -1352,7 +1352,7 @@ tcp_receive(struct tcp_pcb *pcb) recv_flags |= TF_GOT_FIN; if (pcb->state == ESTABLISHED) { /* force passive close or we can move to active close */ pcb->state = CLOSE_WAIT; - } + } } pcb->ooseq = cseg->next; @@ -1465,12 +1465,12 @@ tcp_receive(struct tcp_pcb *pcb) } /* check if the remote side overruns our receive window */ if ((u32_t)tcplen + seqno > pcb->rcv_nxt + (u32_t)pcb->rcv_wnd) { - LWIP_DEBUGF(TCP_INPUT_DEBUG, + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_receive: other end overran receive window" "seqno %"U32_F" len %"U16_F" right edge %"U32_F"\n", seqno, tcplen, pcb->rcv_nxt + pcb->rcv_wnd)); if (TCPH_FLAGS(next->next->tcphdr) & TCP_FIN) { - /* Must remove the FIN from the header as we're trimming + /* Must remove the FIN from the header as we're trimming * that byte of sequence-space from the packet */ TCPH_FLAGS_SET(next->next->tcphdr, TCPH_FLAGS(next->next->tcphdr) &~ TCP_FIN); } @@ -1531,7 +1531,7 @@ tcp_receive(struct tcp_pcb *pcb) } /** - * Parses the options contained in the incoming segment. + * Parses the options contained in the incoming segment. * * Called from tcp_listen_input() and tcp_process(). * Currently, only the MSS option is supported! @@ -1588,7 +1588,7 @@ tcp_parseopt(struct tcp_pcb *pcb) return; } /* TCP timestamp option with valid length */ - tsval = (opts[c+2]) | (opts[c+3] << 8) | + tsval = (opts[c+2]) | (opts[c+3] << 8) | (opts[c+4] << 16) | (opts[c+5] << 24); if (flags & TCP_SYN) { pcb->ts_recent = ntohl(tsval); diff --git a/ext/lwip/src/core/tcp_out.c b/ext/lwip/src/core/tcp_out.c index ee19fe06f..94395e25d 100644 --- a/ext/lwip/src/core/tcp_out.c +++ b/ext/lwip/src/core/tcp_out.c @@ -197,7 +197,7 @@ tcp_create_segment(struct tcp_pcb *pcb, struct pbuf *p, u8_t flags, u32_t seqno, /* wnd and chksum are set in tcp_output */ seg->tcphdr->urgp = 0; return seg; -} +} /** * Allocate a PBUF_RAM pbuf, perhaps with extra space at the end. @@ -212,7 +212,7 @@ tcp_create_segment(struct tcp_pcb *pcb, struct pbuf *p, u8_t flags, u32_t seqno, * @param pcb The TCP connection that willo enqueue the pbuf. * @param apiflags API flags given to tcp_write. * @param first_seg true when this pbuf will be used in the first enqueued segment. - * @param + * @param */ #if TCP_OVERSIZE static struct pbuf * @@ -379,7 +379,7 @@ tcp_write(struct tcp_pcb *pcb, const void *arg, u16_t len, u8_t apiflags) LWIP_DEBUGF(TCP_OUTPUT_DEBUG, ("tcp_write(pcb=%p, data=%p, len=%"U16_F", apiflags=%"U16_F")\n", (void *)pcb, arg, len, (u16_t)apiflags)); - LWIP_ERROR("tcp_write: arg == NULL (programmer violates API)", + LWIP_ERROR("tcp_write: arg == NULL (programmer violates API)", arg != NULL, return ERR_ARG;); err = tcp_write_checks(pcb, len); @@ -857,7 +857,7 @@ tcp_send_empty_ack(struct tcp_pcb *pcb) return ERR_BUF; } tcphdr = (struct tcp_hdr *)p->payload; - LWIP_DEBUGF(TCP_OUTPUT_DEBUG, + LWIP_DEBUGF(TCP_OUTPUT_DEBUG, ("tcp_output: sending ACK for %"U32_F"\n", pcb->rcv_nxt)); /* remove ACK flags from the PCB, as we send an empty ACK now */ pcb->flags &= ~(TF_ACK_DELAY | TF_ACK_NOW); @@ -869,7 +869,7 @@ tcp_send_empty_ack(struct tcp_pcb *pcb) if (pcb->flags & TF_TIMESTAMP) { tcp_build_timestamp_option(pcb, (u32_t *)(tcphdr + 1)); } -#endif +#endif #if CHECKSUM_GEN_TCP tcphdr->chksum = inet_chksum_pseudo(p, &(pcb->local_ip), &(pcb->remote_ip), @@ -950,7 +950,7 @@ tcp_output(struct tcp_pcb *pcb) ", seg == NULL, ack %"U32_F"\n", pcb->snd_wnd, pcb->cwnd, wnd, pcb->lastack)); } else { - LWIP_DEBUGF(TCP_CWND_DEBUG, + LWIP_DEBUGF(TCP_CWND_DEBUG, ("tcp_output: snd_wnd %"U16_F", cwnd %"U16_F", wnd %"U32_F ", effwnd %"U32_F", seq %"U32_F", ack %"U32_F"\n", pcb->snd_wnd, pcb->cwnd, wnd, @@ -961,7 +961,7 @@ tcp_output(struct tcp_pcb *pcb) /* data available and window allows it to be sent? */ while (seg != NULL && ntohl(seg->tcphdr->seqno) - pcb->lastack + seg->len <= wnd) { - LWIP_ASSERT("RST not expected here!", + LWIP_ASSERT("RST not expected here!", (TCPH_FLAGS(seg->tcphdr) & TCP_RST) == 0); /* Stop sending if the nagle algorithm would prevent it * Don't stop: @@ -1086,7 +1086,7 @@ tcp_output_segment(struct tcp_seg *seg, struct tcp_pcb *pcb) } #endif - /* Set retransmission timer running if it is not currently enabled + /* Set retransmission timer running if it is not currently enabled This must be set before checking the route. */ if (pcb->rtime == -1) { pcb->rtime = 0; @@ -1317,12 +1317,12 @@ tcp_rexmit(struct tcp_pcb *pcb) * * @param pcb the tcp_pcb for which to retransmit the first unacked segment */ -void +void tcp_rexmit_fast(struct tcp_pcb *pcb) { if (pcb->unacked != NULL && !(pcb->flags & TF_INFR)) { /* This is fast retransmit. Retransmit the first unacked segment. */ - LWIP_DEBUGF(TCP_FR_DEBUG, + LWIP_DEBUGF(TCP_FR_DEBUG, ("tcp_receive: dupacks %"U16_F" (%"U32_F "), fast retransmit %"U32_F"\n", (u16_t)pcb->dupacks, pcb->lastack, @@ -1336,19 +1336,19 @@ tcp_rexmit_fast(struct tcp_pcb *pcb) } else { pcb->ssthresh = pcb->cwnd / 2; } - + /* The minimum value for ssthresh should be 2 MSS */ if (pcb->ssthresh < 2*pcb->mss) { - LWIP_DEBUGF(TCP_FR_DEBUG, + LWIP_DEBUGF(TCP_FR_DEBUG, ("tcp_receive: The minimum value for ssthresh %"U16_F " should be min 2 mss %"U16_F"...\n", pcb->ssthresh, 2*pcb->mss)); pcb->ssthresh = 2*pcb->mss; } - + pcb->cwnd = pcb->ssthresh + 3 * pcb->mss; pcb->flags |= TF_INFR; - } + } } @@ -1370,12 +1370,12 @@ tcp_keepalive(struct tcp_pcb *pcb) ip4_addr1_16(&pcb->remote_ip), ip4_addr2_16(&pcb->remote_ip), ip4_addr3_16(&pcb->remote_ip), ip4_addr4_16(&pcb->remote_ip))); - LWIP_DEBUGF(TCP_DEBUG, ("tcp_keepalive: tcp_ticks %"U32_F" pcb->tmr %"U32_F" pcb->keep_cnt_sent %"U16_F"\n", + LWIP_DEBUGF(TCP_DEBUG, ("tcp_keepalive: tcp_ticks %"U32_F" pcb->tmr %"U32_F" pcb->keep_cnt_sent %"U16_F"\n", tcp_ticks, pcb->tmr, pcb->keep_cnt_sent)); - + p = tcp_output_alloc_header(pcb, 0, 0, htonl(pcb->snd_nxt - 1)); if(p == NULL) { - LWIP_DEBUGF(TCP_DEBUG, + LWIP_DEBUGF(TCP_DEBUG, ("tcp_keepalive: could not allocate memory for pbuf\n")); return; } @@ -1419,15 +1419,15 @@ tcp_zero_window_probe(struct tcp_pcb *pcb) u16_t len; u8_t is_fin; - LWIP_DEBUGF(TCP_DEBUG, + LWIP_DEBUGF(TCP_DEBUG, ("tcp_zero_window_probe: sending ZERO WINDOW probe to %" U16_F".%"U16_F".%"U16_F".%"U16_F"\n", ip4_addr1_16(&pcb->remote_ip), ip4_addr2_16(&pcb->remote_ip), ip4_addr3_16(&pcb->remote_ip), ip4_addr4_16(&pcb->remote_ip))); - LWIP_DEBUGF(TCP_DEBUG, + LWIP_DEBUGF(TCP_DEBUG, ("tcp_zero_window_probe: tcp_ticks %"U32_F - " pcb->tmr %"U32_F" pcb->keep_cnt_sent %"U16_F"\n", + " pcb->tmr %"U32_F" pcb->keep_cnt_sent %"U16_F"\n", tcp_ticks, pcb->tmr, pcb->keep_cnt_sent)); seg = pcb->unacked; diff --git a/ext/lwipopts.h b/ext/lwipopts.h index 7e7eab6c6..dd743cc38 100644 --- a/ext/lwipopts.h +++ b/ext/lwipopts.h @@ -116,7 +116,7 @@ #define MEM_SIZE 1024 * 1024 * 64 #define TCP_SND_BUF 1024 * 63 - +#define TCP_SND_QUEUELEN 1024 /*------------------------------------------------------------------------------ -------------------------- Internal Memory Pool Sizes -------------------------- ------------------------------------------------------------------------------*/ @@ -157,7 +157,7 @@ * MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP segments. * (requires the LWIP_TCP option) */ -#define MEMP_NUM_TCP_SEG 128 +#define MEMP_NUM_TCP_SEG 1024 /** * MEMP_NUM_REASSDATA: the number of simultaneously IP packets queued for diff --git a/netcon/Intercept.c b/netcon/Intercept.c index aed7d1855..c53c10156 100755 --- a/netcon/Intercept.c +++ b/netcon/Intercept.c @@ -494,6 +494,13 @@ int connect(CONNECT_SIG) return err; } + //int flags = fcntl(__fd, F_GETFD); + //dwr("connect(): socket flags = %d\n", flags); + + if(sock_type && O_NONBLOCK) { + dwr("connect(): O_NONBLOCK\n"); + } + /* assemble and route command */ int err; char cmd[BUF_SZ]; @@ -507,6 +514,10 @@ int connect(CONNECT_SIG) memcpy(&cmd[1], &rpc_st, sizeof(struct connect_st)); pthread_mutex_lock(&lock); send_command(fdret_sock, cmd); + if(sock_type && O_NONBLOCK) { + //pthread_mutex_unlock(&lock); + //return EINPROGRESS; + } err = get_retval(); pthread_mutex_unlock(&lock); return err; diff --git a/netcon/NetconEthernetTap.cpp b/netcon/NetconEthernetTap.cpp index 462e366da..003e0b66e 100644 --- a/netcon/NetconEthernetTap.cpp +++ b/netcon/NetconEthernetTap.cpp @@ -318,6 +318,8 @@ void NetconEthernetTap::threadMain() fprintf(stderr, "_threadMain()\n"); uint64_t prev_tcp_time = 0; uint64_t prev_etharp_time = 0; +fprintf(stderr, "- TCP_SND_QUEUELEN = %d\n", TCP_SND_QUEUELEN); +fprintf(stderr, "- TCP_MAXRTX = %d\n", TCP_MAXRTX); /* fprintf(stderr, "- MEM_SIZE = %dM\n", MEM_SIZE / (1024*1024)); @@ -327,7 +329,7 @@ void NetconEthernetTap::threadMain() fprintf(stderr, "- MEMP_NUM_TCP_PCB_LISTEN = %d\n", MEMP_NUM_TCP_PCB_LISTEN); fprintf(stderr, "- MEMP_NUM_TCP_SEG = %d\n", MEMP_NUM_TCP_SEG); fprintf(stderr, "- PBUF_POOL_SIZE = %d\n", PBUF_POOL_SIZE); - fprintf(stderr, "- TCP_SND_QUEUELEN = %d\n", TCP_SND_QUEUELEN); + fprintf(stderr, "- IP_REASSEMBLY = %d\n", IP_REASSEMBLY); fprintf(stderr, "- TCP_WND = %d\n", TCP_WND); fprintf(stderr, "- TCP_MSS = %d\n", TCP_MSS); @@ -376,9 +378,13 @@ void NetconEthernetTap::phyOnFileDescriptorActivity(PhySocket *sock,void **uptr, { if(readable) { TcpConnection *conn = (TcpConnection*)*uptr; - Mutex::Lock _l(lwipstack->_lock); if(conn->dataSock) // Sometimes a connection may be closed via nc_recved, check first + { + //Mutex::Lock _l(lwipstack->_lock); + //lwipstack->_lock.lock(); handle_write(conn); + //lwipstack->_lock.unlock(); + } } else { fprintf(stderr, "phyOnFileDescriptorActivity(): PhySocket not readable\n"); @@ -1144,8 +1150,9 @@ void NetconEthernetTap::handle_write(TcpConnection *conn) // NOTE: this assumes that lwipstack->_lock is locked, either // because we are in a callback or have locked it manually. int err = lwipstack->_tcp_write(conn->pcb, &conn->buf, r, TCP_WRITE_FLAG_COPY); + lwipstack->_tcp_output(conn->pcb); if(err != ERR_OK) { - fprintf(stderr, "handle_write(): error while writing to PCB\n"); + fprintf(stderr, "handle_write(): error while writing to PCB, (err = %d)\n", err); return; } else { diff --git a/netcon/libintercept.so.1.0 b/netcon/libintercept.so.1.0 index bb203d647b4f6fa34da84a048d294c60dffe99d7..fa9cdf28402396459447d85e57defff480bb8223 100755 GIT binary patch delta 9500 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 diff --git a/netcon/liblwip.so b/netcon/liblwip.so new file mode 100755 index 0000000000000000000000000000000000000000..aba90d8e98a904888d0beaf1e07412aca6d223e3 GIT binary patch literal 342016 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

-15v(7chRc?ztggfq?ZCx7dGc2FmxMnwVC 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