Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package udpspeeder for openSUSE:Factory checked in at 2021-02-03 19:54:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/udpspeeder (Old) and /work/SRC/openSUSE:Factory/.udpspeeder.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "udpspeeder" Wed Feb 3 19:54:45 2021 rev:4 rq:866530 version:20210116.0 Changes: -------- --- /work/SRC/openSUSE:Factory/udpspeeder/udpspeeder.changes 2020-08-20 22:33:15.500105626 +0200 +++ /work/SRC/openSUSE:Factory/.udpspeeder.new.28504/udpspeeder.changes 2021-02-03 19:54:47.293607066 +0100 @@ -1,0 +2,8 @@ +Sun Jan 17 21:40:31 UTC 2021 - Martin Hauke <[email protected]> + +- Update to version 20210116.0 + * Added a warning when you send huge packets to UDPspeeder and + packets are being truncated. (to fix the problem/confusion + mentioned in https://github.com/wangyu-/UDPspeeder/issues/259) + +------------------------------------------------------------------- Old: ---- udpspeeder-20200818.0.tar.gz New: ---- udpspeeder-20210116.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ udpspeeder.spec ++++++ --- /var/tmp/diff_new_pack.UAFIC2/_old 2021-02-03 19:54:48.193608149 +0100 +++ /var/tmp/diff_new_pack.UAFIC2/_new 2021-02-03 19:54:48.197608154 +0100 @@ -1,8 +1,8 @@ # # spec file for package udpspeeder # -# Copyright (c) 2020 SUSE LLC -# Copyright (c) 2019, Martin Hauke <[email protected]> +# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2019-2021, Martin Hauke <[email protected]> # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ Name: udpspeeder -Version: 20200818.0 +Version: 20210116.0 Release: 0 Summary: A tunnel which can improve network quality by using FEC # Bundled libev is licenced under GPL-3.0+ or BSD-2-Clause ++++++ udpspeeder-20200818.0.tar.gz -> udpspeeder-20210116.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/UDPspeeder-20200818.0/ISSUE_TEMPLATE.md new/UDPspeeder-20210116.0/ISSUE_TEMPLATE.md --- old/UDPspeeder-20200818.0/ISSUE_TEMPLATE.md 2020-08-18 09:24:10.000000000 +0200 +++ new/UDPspeeder-20210116.0/ISSUE_TEMPLATE.md 2021-01-16 20:08:12.000000000 +0100 @@ -1,6 +1 @@ -For English speaking user??? -https://github.com/wangyu-/UDPspeeder/wiki/Issue-Guide - -????????????????????? -https://github.com/wangyu-/UDPspeeder/wiki/???Issue????????? -(??????Issue????????????????????????????????????) +English Only (except for bug reporting). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/UDPspeeder-20200818.0/tunnel_client.cpp new/UDPspeeder-20210116.0/tunnel_client.cpp --- old/UDPspeeder-20200818.0/tunnel_client.cpp 2020-08-18 09:24:10.000000000 +0200 +++ new/UDPspeeder-20210116.0/tunnel_client.cpp 2021-01-16 20:08:12.000000000 +0100 @@ -44,12 +44,18 @@ mylog(log_trace,"events[idx].data.u64 == (u64_t)local_listen_fd\n"); address_t::storage_t udp_new_addr_in={0}; socklen_t udp_new_addr_len = sizeof(address_t::storage_t); - if ((data_len = recvfrom(local_listen_fd, data, max_data_len, 0, + if ((data_len = recvfrom(local_listen_fd, data, max_data_len+1, 0, (struct sockaddr *) &udp_new_addr_in, &udp_new_addr_len)) == -1) { mylog(log_debug,"recv_from error,this shouldnt happen,err=%s,but we can try to continue\n",get_sock_error()); return; }; + if(data_len==max_data_len+1) + { + mylog(log_warn,"huge packet, data_len > %d, packet truncated, dropped\n",max_data_len); + return ; + } + if(!disable_mtu_warn&&data_len>=mtu_warn) { mylog(log_warn,"huge packet,data len=%d (>=%d).strongly suggested to set a smaller mtu at upper level,to get rid of this warn\n ",data_len,mtu_warn); @@ -122,7 +128,15 @@ int fd=fd_manager.to_fd(remote_fd64); - int data_len =recv(fd,data,max_data_len,0); + int data_len =recv(fd,data,max_data_len+1,0); + + if(data_len==max_data_len+1) + { + mylog(log_warn,"huge packet, data_len > %d, packet truncated, dropped\n",max_data_len); + return ; + } + + mylog(log_trace, "received data from udp fd %d, len=%d\n", remote_fd,data_len); if(data_len<0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/UDPspeeder-20200818.0/tunnel_server.cpp new/UDPspeeder-20210116.0/tunnel_server.cpp --- old/UDPspeeder-20200818.0/tunnel_server.cpp 2020-08-18 09:24:10.000000000 +0200 +++ new/UDPspeeder-20210116.0/tunnel_server.cpp 2021-01-16 20:08:12.000000000 +0100 @@ -89,7 +89,13 @@ conn_info.update_active_time(); int fd=fd_manager.to_fd(fd64); - data_len=recv(fd,data,max_data_len,0); + data_len=recv(fd,data,max_data_len+1,0); + + if(data_len==max_data_len+1) + { + mylog(log_warn,"huge packet, data_len > %d, packet truncated, dropped\n",max_data_len); + return ; + } mylog(log_trace,"received a packet from udp_fd,len:%d,conv=%d\n",data_len,conv); @@ -135,12 +141,18 @@ int data_len; address_t::storage_t udp_new_addr_in={0}; socklen_t udp_new_addr_len = sizeof(address_t::storage_t); - if ((data_len = recvfrom(local_listen_fd, data, max_data_len, 0, + if ((data_len = recvfrom(local_listen_fd, data, max_data_len+1, 0, (struct sockaddr *) &udp_new_addr_in, &udp_new_addr_len)) == -1) { mylog(log_error,"recv_from error,this shouldnt happen,err=%s,but we can try to continue\n",get_sock_error()); return; }; + if(data_len==max_data_len+1) + { + mylog(log_warn,"huge packet, data_len > %d, packet truncated, dropped\n",max_data_len); + return ; + } + address_t addr; addr.from_sockaddr((struct sockaddr *) &udp_new_addr_in,udp_new_addr_len);
