svn commit: r294995 - head/sys/netinet
Michael Tuexen
tuexen at freebsd.org
Thu Jan 28 23:13:13 UTC 2016
> On 28 Jan 2016, at 23:24, Oliver Pinter <oliver.pinter at hardenedbsd.org> wrote:
>
> 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?
No. Fixed in
https://svnweb.freebsd.org/changeset/base/295021
Thanks for reporting!
Best regards
Michael
>
>> 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