svn commit: r294995 - head/sys/netinet
Oliver Pinter
oliver.pinter at hardenedbsd.org
Thu Jan 28 22:24:27 UTC 2016
On Thu, Jan 28, 2016 at 5:05 PM, Michael Tuexen <tuexen at freebsd.org> wrote:
> Author: tuexen
> Date: Thu Jan 28 16:05:46 2016
> New Revision: 294995
> URL: https://svnweb.freebsd.org/changeset/base/294995
>
> Log:
> Always look in the TCP pool.
> This fixes issues with a restarting peer when the listening
> 1-to-1 style socket is closed.
>
> MFC after: 3 days
>
> Modified:
> head/sys/netinet/sctp_input.c
> head/sys/netinet/sctp_pcb.c
>
> Modified: head/sys/netinet/sctp_input.c
> ==============================================================================
> --- head/sys/netinet/sctp_input.c Thu Jan 28 15:44:14 2016 (r294994)
> +++ head/sys/netinet/sctp_input.c Thu Jan 28 16:05:46 2016 (r294995)
> @@ -5688,6 +5688,7 @@ sctp_common_input_processing(struct mbuf
> if (net->port == 0) {
> sctp_pathmtu_adjustment(stcb, net->mtu - sizeof(struct udphdr));
> }
> +printf("Changing remote encaps port from %u to %u.\n", ntohs(net->port), ntohs(port));
Are these debug printf intended?
> net->port = port;
> }
> #endif
> @@ -5719,6 +5720,7 @@ sctp_common_input_processing(struct mbuf
> if (net->port == 0) {
> sctp_pathmtu_adjustment(stcb, net->mtu - sizeof(struct udphdr));
> }
> +printf("Changing remote encaps port from %u to %u.\n", ntohs(net->port), ntohs(port));
> net->port = port;
> }
> #endif
> @@ -5831,6 +5833,7 @@ sctp_common_input_processing(struct mbuf
> if (net->port == 0) {
> sctp_pathmtu_adjustment(stcb, net->mtu - sizeof(struct udphdr));
> }
> +printf("Changing remote encaps port from %u to %u.\n", ntohs(net->port), ntohs(port));
> net->port = port;
> }
> #endif
>
> Modified: head/sys/netinet/sctp_pcb.c
> ==============================================================================
> --- head/sys/netinet/sctp_pcb.c Thu Jan 28 15:44:14 2016 (r294994)
> +++ head/sys/netinet/sctp_pcb.c Thu Jan 28 16:05:46 2016 (r294995)
> @@ -2256,7 +2256,6 @@ sctp_findassociation_addr(struct mbuf *m
> struct sctphdr *sh, struct sctp_chunkhdr *ch,
> struct sctp_inpcb **inp_p, struct sctp_nets **netp, uint32_t vrf_id)
> {
> - int find_tcp_pool;
> struct sctp_tcb *stcb;
> struct sctp_inpcb *inp;
>
> @@ -2268,25 +2267,13 @@ sctp_findassociation_addr(struct mbuf *m
> return (stcb);
> }
> }
> - find_tcp_pool = 0;
> - /*
> - * Don't consider INIT chunks since that breaks 1-to-1 sockets: When
> - * a server closes the listener, incoming INIT chunks are not
> - * responsed by an INIT-ACK chunk.
> - */
> - if ((ch->chunk_type != SCTP_INITIATION_ACK) &&
> - (ch->chunk_type != SCTP_COOKIE_ACK) &&
> - (ch->chunk_type != SCTP_COOKIE_ECHO)) {
> - /* Other chunk types go to the tcp pool. */
> - find_tcp_pool = 1;
> - }
> if (inp_p) {
> stcb = sctp_findassociation_addr_sa(src, dst, inp_p, netp,
> - find_tcp_pool, vrf_id);
> + 1, vrf_id);
> inp = *inp_p;
> } else {
> stcb = sctp_findassociation_addr_sa(src, dst, &inp, netp,
> - find_tcp_pool, vrf_id);
> + 1, vrf_id);
> }
> SCTPDBG(SCTP_DEBUG_PCB1, "stcb:%p inp:%p\n", (void *)stcb, (void *)inp);
> if (stcb == NULL && inp) {
> _______________________________________________
> svn-src-head at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/svn-src-head
> To unsubscribe, send any mail to "svn-src-head-unsubscribe at freebsd.org"
More information about the svn-src-head
mailing list