--- - branch: MAIN date: Fri Sep 13 10:42:05 UTC 2019 files: - new: '1.6' old: '1.5' path: pkgsrc/net/uftp/Makefile pathrev: pkgsrc/net/uftp/Makefile@1.6 type: modified - new: '1.4' old: '1.3' path: pkgsrc/net/uftp/distinfo pathrev: pkgsrc/net/uftp/distinfo@1.4 type: modified - new: '1.3' old: '1.2' path: pkgsrc/net/uftp/patches/patch-makefile pathrev: pkgsrc/net/uftp/patches/patch-makefile@1.3 type: modified - new: '0' old: '1.1' path: pkgsrc/net/uftp/patches/patch-uftp_common.c pathrev: pkgsrc/net/uftp/patches/patch-uftp_common.c@0 type: deleted id: 20190913T104205Z.d6cc2c9c5c02209e5b08a8e804cdacf90b092195 log: | uftp: Update to 4.10 Note: this now supports OpenSSL 1.1. Version 4.10 - 7/10/2019 Allow specifying transmission rates of up to 1 Tbps. This involved changing a number of variables tracking the rate from 32 bit to 64 bit types. It also changed the tracking of wait times between data packet transmissions from microseconds to nanoseconds. Fixed a bug when getting the list of network interfaces in the event that an interface does not have an interface index number. Version 4.9.11 - 5/13/2019 The error check added in 4.9.10 on chdir wasn't checking the correct value, causing the client and proxy to not start in background mode. Bug fixed. Version 4.9.10 - 5/9/2019 The initial CLR selection was picking the receiver with the lowest RTT instead of the higest. Fixed to select the receiver with the highest RTT. While the server is sending, check for CTRL-C by the user at least once a second instead of waiting for a GRTT cycle if it is longer. Fixed rate calculation bug when TFMCC is specified with -R -1. Minor error checking / log format fixes Version 4.9.9 - 2/17/2019 Fixed handling of min_time in TFMCC mode Version 4.9.8 - 8/29/2018 When compiling with MSVC 2017, the IP_MTU_DISCOVER flag is defined but not implemented, resulting in errors when attempting to set it. Added check for the case if the flag is not implemented. Machines with a blank IP address for the first interface were getting a default UID of 0. When this happens, check for a non-blank interface to derive the UID from. Cleaned up setting of key exchange random numbers to avoid aliasing violation Version 4.9.7 - 5/27/2018 Fixed delay in server sending thread causing transfer of large files to time out. The block number to send was being incremented once per iteration of the main sending loop. This main loop also locks and unlocks a mutex to update data shared by the receiving thread. When a large number of consecutive blocks do not need to be sent, the lock/unlock cycles resulted in delays where no data was sent. Changed to increment the block number until a block to send is found without reiterating the main loop. Version 4.9.6 - 4/17/2018 When a response proxy sends a PROXY_KEY message, send it on all public multicast addresses, not just the first one Version 4.9.5 - 12/16/2017 Upated encryption module to support OpenSSL 1.1.x and 1.0.x. Removed support for OpenSSL 0.9.8 Changed install directory of uftpd uftpproxyd to /usr/bin Added CPPFLAGS to makefile for build hardening as requested by Debian Version 4.9.4 - 10/7/2017 When initializing TFMCC loss history, use datapacketsize if no recent packets found or if counter wraps. This fixes a divide-by-zero bug. Only run postreceive script when the incoming file has not yet been closed. This prevents the script from running twice if a duplicate DONE is received. Clarified documentation regarding incompatibility of temp dir and sync mode. Version 4.9.3 - 1/21/2017 Fixed a race condition in the server between the sending and receiving threads when building CONG_CTRL messages. The receiving thread was not locking when placing messages on a queue. Added proper locking. Minor updates to includes and typedefs to support 64-bit Windows builds. Now requires Visual Studio 2015 or higher. Changed manpage formatting and makefile options as suggested by Debian team. Added missing include for sys/time.h Version 4.9.2 - 4/3/2016 Under TFMCC when a client first experiences loss, it calculates the average packet size of the packets received either in the last GRTT or the last 64K packets, whichever is less. In the event the sequence number of the first lost packet is the same as the first packet received (which can happen due to wraparound), this wasn't being captures properly resulting in a divide by zero bug. Made a fix to properly account for sequence number wraparound. When calculating the average packet size above, a cast was used that could result in a negative number being returned for this value. Removed the offending cast. Fixed off-by-one bug when counting the number of DONE messages sent by the server before declaring clients as lost. Version 4.9.1 - 3/15/2016 A bug was introduced in 4.8.1 when a fix was made for received files having extra bytes appended when packets were received out of order. When a file's size is an exact multiple of the block size, the last block was getting truncated. Made a fix to account for this case. Version 4.9 - 2/28/2016 Added the -a option to the server, which specifies the maximum number of passes through transmitting a file before aborting any clients that have not yet received the entire file. When specifying TFMCC mode, the initial, minimum, and maximum rates were being read as bytes per second instead of the documented Kbps. These fields are now being properly read as Kbps. In TFMCC mode, when the CLR received a CONG_CTRL message, it was responding with a CC_ACK before updating its RTT value, resulting in the CLR reporting an outdated RTT. Made a fix to first update the RTT, then send the CC_ACK. Version 4.8.1 - 2/4/2016 When the last data block in the file arrived at the receiver out-of-order, additional null bytes were being appended to the end of the file. This was due to a bug in calculating the current cache size. Bug fixed. Clients normally check for sufficient free space before attempting to receive a file. This was not working correctly when -t was specified. Bug fixed. Version 4.8 - 1/5/2016 Added support for initial and minimum rates for TFMCC as well as a max rate. These may be specified as follows: -C tfmcc:min=min_rate:init=init_rate:max=max_rate See the man page for more details. Changed logging level for "invalid message" messages from level 1 to level 4. This should cut down on unnecessary log messages at lower levels. Fixed man page typos. Version 4.7 - 5/16/2015 Added group instance ID (i.e. restart number) to all log messages. Make sure that the client flushes the disk cache when a session is aborted. This wasn't being done previously, resulting in unnecessary retransmissions on the subsequent restart session. Previously, when a client registers via a proxy, the server added that client to the list of clients serviced by that proxy. There was a bug that allowed a client sending back multiple registers to be added to this list multiple times, resulting in a buffer overrun if there are a large number of clients registering via a given proxy. Fixed the bug by removing the list altogether, since the server doesn't really care which proxy a client registers via. Version 4.6.1 - 3/15/2015 At the start of the transfer phase with congestion control enabled, the server would sometimes select a client that had dropped out earlier in the session as the initial CLR, slowing down the file transfer. Fixed. In restart mode for a partially sent file, the server sends a DONE right away before sending data to get NAKs from the clients. The clients normally have a short delay before responding to a DONE to ensure that out of order data packets arrive. In this case, since no data has been sent yet, the clients will now respond right away to avoid the unneeded delay. When the clients joins or leaves a multicast group, it checks to see if any other active sessions are using that group before doing so. Fixed a bug that prevented the client from searching the whole list. Version 4.6 - 12/30/2014 Added the -F option to the client to print status info to a file. Like the server's -s option, passing in @LOG mixes this info with the regular logging output. The client now prints the hostname/IP address where an ANNOUNCE originates from, which may be either the server itself or a proxy. The -q option was added to prevent DNS lookups in the event it causes delays. Several spelling fixes in documentation and code comments. Fixed a memory leak in the fingerprint parsing routine. Version 4.5.1 - 9/14/2014 On the rare occasion a seek call made by the client errors or returns a file offset that was unexpected, a second call to seek is made to set the destination file offset to the proper place. However, this second seek was jumping to the wrong place in the file. This has been fixed, and a similar fix was made on the server as well. Allow the -s (status file) option on the server to take a special value of @LOG, which allows status info to be mixed with the regular logging output. This behavior is consistent with older versions that did this when sync mode was enabled. Version 4.5 - 8/26/2014 Added disk caching on the client, greatly improving high speed throughput. The cache size is controlled via the -c option. Changed logging levels on several log statements so that effectively level 0 is "error" and level 1 is "warning". The default log level of 2 will continue to contain semi-detailed logging. Increased client timeout for REG_CONF and DONE_CONF to 4*robust*grtt. This helps to prevent client from timing out too early. When the server receives a REGISTER or FILEINFO_ACK from a client and calculates its round trip time, enforce a lower limit of 0.01 seconds. This prevent client from timing out too quickly. Occurrences of SIGPIPE while writing to a log could result in an infinite loop. SIGPIPE is now ignored, relying on normal error handling instead. Version 4.4 - 7/22/2014 Added max rate option to TFMCC implementation Added -U option to server to specify the server's UID Removed stale UFTP3 congestion control code Version 4.3.1 - 7/3/2014 Have clients send an ABORT for all active sessions on shutdown Fixed #ifs that enable dual mode sockets Removed -O0 from BSD section of makefile Version 4.3 - 5/27/2014 Added support for ECN (Explicit Congestion Notification) in the TFMCC implementation in the server and client. Proxy support is forthcoming. See the man pages for known supported systems. Fixed warning in encrypt_openssl.c when compiling under FreeBSD x64. Explicitly enable dual mode IPv4/IPv6 sockets when IPv6 is used on systems that support it. Version 4.2 - 5/12/2014 Added distinct exit codes for various error conditions In client and proxy, check if private address is already in use before joining Fixed log rolling under Windows Version 4.1.5 - 3/1/2014 Fixed casting bug in server TFMCC operations when calculating client rate. Fixed server proxy bug where group round trip time was being read from client messages when it should only be read from server messages. Version 4.1.4 - 12/5/2013 During a restart session, a bug caused the full file to be resent on the first pass, and client wouldn't send back NAKs for the first session. This has been fixed. Fixed incorrect reading of client ID lists in DONE, DONE_CONF, and CONG_CTRL messages. Added group ID and file ID to server logging when timestamps are enabled. Added more warning checks for Linux and corrected warnings. Cleaned up error checking code for malloc and calloc calls. Version 4.1.3 - 10/13/2013 Since 4.0, compilation failed on MacOSX. This has been fixed. module: pkgsrc subject: 'CVS commit: pkgsrc/net/uftp' unixtime: '1568371325' user: nia