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);
 

Reply via email to